#2503 make singletons compared with "is" not == or !=
Thanks to Wummel for the patch
diff --git a/Demo/classes/Dbm.py b/Demo/classes/Dbm.py
index 482806a..892c103 100755
--- a/Demo/classes/Dbm.py
+++ b/Demo/classes/Dbm.py
@@ -50,7 +50,7 @@
                 value = d[key]
                 print 'currently:', value
             value = input('value: ')
-            if value == None:
+            if value is None:
                 del d[key]
             else:
                 d[key] = value
diff --git a/Demo/curses/ncurses.py b/Demo/curses/ncurses.py
index c9394d0..8af3b42 100644
--- a/Demo/curses/ncurses.py
+++ b/Demo/curses/ncurses.py
@@ -9,7 +9,7 @@
 from curses import panel
 
 def wGetchar(win = None):
-    if win == None: win = stdscr
+    if win is None: win = stdscr
     return win.getch()
 
 def Getchar():
diff --git a/Demo/rpc/mountclient.py b/Demo/rpc/mountclient.py
index 318a9d9..4e8d92a 100644
--- a/Demo/rpc/mountclient.py
+++ b/Demo/rpc/mountclient.py
@@ -100,7 +100,7 @@
     # This function is called to cough up a suitable
     # authentication object for a call to procedure 'proc'.
     def mkcred(self):
-        if self.cred == None:
+        if self.cred is None:
             self.cred = rpc.AUTH_UNIX, rpc.make_auth_unix_default()
         return self.cred
 
diff --git a/Demo/rpc/nfsclient.py b/Demo/rpc/nfsclient.py
index c4387b4..09e78dd 100644
--- a/Demo/rpc/nfsclient.py
+++ b/Demo/rpc/nfsclient.py
@@ -129,7 +129,7 @@
         self.unpacker = NFSUnpacker('')
 
     def mkcred(self):
-        if self.cred == None:
+        if self.cred is None:
             self.cred = rpc.AUTH_UNIX, rpc.make_auth_unix_default()
         return self.cred
 
@@ -170,7 +170,7 @@
             for fileid, name, cookie in entries:
                 list.append((fileid, name))
                 last_cookie = cookie
-            if eof or last_cookie == None:
+            if eof or last_cookie is None:
                 break
             ra = (ra[0], last_cookie, ra[2])
         return list
@@ -184,7 +184,7 @@
     else: filesys = None
     from mountclient import UDPMountClient, TCPMountClient
     mcl = TCPMountClient(host)
-    if filesys == None:
+    if filesys is None:
         list = mcl.Export()
         for item in list:
             print item
diff --git a/Demo/rpc/rpc.py b/Demo/rpc/rpc.py
index 141fe09..0a14bf2 100644
--- a/Demo/rpc/rpc.py
+++ b/Demo/rpc/rpc.py
@@ -264,13 +264,13 @@
 
     def mkcred(self):
         # Override this to use more powerful credentials
-        if self.cred == None:
+        if self.cred is None:
             self.cred = (AUTH_NULL, make_auth_null())
         return self.cred
 
     def mkverf(self):
         # Override this to use a more powerful verifier
-        if self.verf == None:
+        if self.verf is None:
             self.verf = (AUTH_NULL, make_auth_null())
         return self.verf
 
@@ -321,7 +321,7 @@
 def bindresvport(sock, host):
     global last_resv_port_tried
     FIRST, LAST = 600, 1024 # Range of ports to try
-    if last_resv_port_tried == None:
+    if last_resv_port_tried is None:
         import os
         last_resv_port_tried = FIRST + os.getpid() % (LAST-FIRST)
     for i in range(last_resv_port_tried, LAST) + \
@@ -814,7 +814,7 @@
     def session(self):
         call, host_port = self.sock.recvfrom(8192)
         reply = self.handle(call)
-        if reply != None:
+        if reply is not None:
             self.sock.sendto(reply, host_port)
 
 
diff --git a/Demo/tkinter/guido/paint.py b/Demo/tkinter/guido/paint.py
index d46e20b..7b2e814 100644
--- a/Demo/tkinter/guido/paint.py
+++ b/Demo/tkinter/guido/paint.py
@@ -50,7 +50,7 @@
 def motion(event):
     if b1 == "down":
         global xold, yold
-        if xold != None and yold != None:
+        if xold is not None and yold is not None:
             event.widget.create_line(xold,yold,event.x,event.y,smooth=TRUE)
                           # here's where you draw it. smooth. neat.
         xold = event.x
diff --git a/Lib/bsddb/dbshelve.py b/Lib/bsddb/dbshelve.py
index f5f8b9a..96f604a 100644
--- a/Lib/bsddb/dbshelve.py
+++ b/Lib/bsddb/dbshelve.py
@@ -133,7 +133,7 @@
 
 
     def keys(self, txn=None):
-        if txn != None:
+        if txn is not None:
             return self.db.keys(txn)
         else:
             return self.db.keys()
@@ -157,7 +157,7 @@
 
 
     def items(self, txn=None):
-        if txn != None:
+        if txn is not None:
             items = self.db.items(txn)
         else:
             items = self.db.items()
@@ -168,7 +168,7 @@
         return newitems
 
     def values(self, txn=None):
-        if txn != None:
+        if txn is not None:
             values = self.db.values(txn)
         else:
             values = self.db.values()
diff --git a/Lib/bsddb/test/test_basics.py b/Lib/bsddb/test/test_basics.py
index de935f7..9b38d57 100644
--- a/Lib/bsddb/test/test_basics.py
+++ b/Lib/bsddb/test/test_basics.py
@@ -363,7 +363,7 @@
         else:
             if set_raises_error:
                 self.fail("expected exception")
-            if n != None:
+            if n is not None:
                 self.fail("expected None: %r" % (n,))
 
         rec = c.get_both('0404', self.makeData('0404'))
@@ -377,7 +377,7 @@
         else:
             if get_raises_error:
                 self.fail("expected exception")
-            if n != None:
+            if n is not None:
                 self.fail("expected None: %r" % (n,))
 
         if self.d.get_type() == db.DB_BTREE:
diff --git a/Lib/bsddb/test/test_dbtables.py b/Lib/bsddb/test/test_dbtables.py
index 46602ce..faddd11 100644
--- a/Lib/bsddb/test/test_dbtables.py
+++ b/Lib/bsddb/test/test_dbtables.py
@@ -323,7 +323,7 @@
         self.tdb.Insert(tabname, {'Type': 'Unknown', 'Access': '0'})
 
         def set_type(type):
-            if type == None:
+            if type is None:
                 return 'MP3'
             return type
 
diff --git a/Lib/idlelib/AutoComplete.py b/Lib/idlelib/AutoComplete.py
index e1549be..bed2b8c 100644
--- a/Lib/idlelib/AutoComplete.py
+++ b/Lib/idlelib/AutoComplete.py
@@ -35,10 +35,9 @@
                                    "popupwait", type="int", default=0)
 
     def __init__(self, editwin=None):
-        if editwin == None:  # subprocess and test
-            self.editwin = None
-            return
         self.editwin = editwin
+        if editwin is None:  # subprocess and test
+            return
         self.text = editwin.text
         self.autocompletewindow = None
 
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index f1148e2..f991ae9 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -932,7 +932,7 @@
                 "The program is still running!\n Do you want to kill it?",
                 default="ok",
                 parent=self.text)
-            if response == False:
+            if response is False:
                 return "cancel"
         if self.reading:
             self.top.quit()
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index 3ec3407..af77544 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -188,7 +188,7 @@
         else:
             self._name = 'PY_VAR' + repr(_varnum)
             _varnum += 1
-        if value != None:
+        if value is not None:
             self.set(value)
         elif not self._tk.call("info", "exists", self._name):
             self.set(self._default)
diff --git a/Lib/lib-tk/turtle.py b/Lib/lib-tk/turtle.py
index fcde9af..e4cac29 100644
--- a/Lib/lib-tk/turtle.py
+++ b/Lib/lib-tk/turtle.py
@@ -749,25 +749,25 @@
     global _width, _height, _startx, _starty
 
     width = geometry.get('width',_width)
-    if width >= 0 or width == None:
+    if width >= 0 or width is None:
         _width = width
     else:
         raise ValueError, "width can not be less than 0"
 
     height = geometry.get('height',_height)
-    if height >= 0 or height == None:
+    if height >= 0 or height is None:
         _height = height
     else:
         raise ValueError, "height can not be less than 0"
 
     startx = geometry.get('startx', _startx)
-    if startx >= 0 or startx == None:
+    if startx >= 0 or startx is None:
         _startx = _startx
     else:
         raise ValueError, "startx can not be less than 0"
 
     starty = geometry.get('starty', _starty)
-    if starty >= 0 or starty == None:
+    if starty >= 0 or starty is None:
         _starty = starty
     else:
         raise ValueError, "startx can not be less than 0"
diff --git a/Lib/plat-mac/EasyDialogs.py b/Lib/plat-mac/EasyDialogs.py
index b33d1be..3cafbb7 100644
--- a/Lib/plat-mac/EasyDialogs.py
+++ b/Lib/plat-mac/EasyDialogs.py
@@ -79,7 +79,7 @@
         return
     h = d.GetDialogItemAsControl(2)
     SetDialogItemText(h, lf2cr(msg))
-    if ok != None:
+    if ok is not None:
         h = d.GetDialogItemAsControl(1)
         h.SetControlTitle(ok)
     d.SetDialogDefaultItem(1)
@@ -116,10 +116,10 @@
     SetDialogItemText(h, lf2cr(default))
     d.SelectDialogItemText(4, 0, 999)
 #       d.SetDialogItem(4, 0, 255)
-    if ok != None:
+    if ok is not None:
         h = d.GetDialogItemAsControl(1)
         h.SetControlTitle(ok)
-    if cancel != None:
+    if cancel is not None:
         h = d.GetDialogItemAsControl(2)
         h.SetControlTitle(cancel)
     d.SetDialogDefaultItem(1)
@@ -160,10 +160,10 @@
     SetControlData(pwd, kControlEditTextPart, kControlEditTextPasswordTag, default)
     d.SelectDialogItemText(4, 0, 999)
     Ctl.SetKeyboardFocus(d.GetDialogWindow(), pwd, kControlEditTextPart)
-    if ok != None:
+    if ok is not None:
         h = d.GetDialogItemAsControl(1)
         h.SetControlTitle(ok)
-    if cancel != None:
+    if cancel is not None:
         h = d.GetDialogItemAsControl(2)
         h.SetControlTitle(cancel)
     d.SetDialogDefaultItem(Dialogs.ok)
@@ -204,19 +204,19 @@
     # The question string is item 5
     h = d.GetDialogItemAsControl(5)
     SetDialogItemText(h, lf2cr(question))
-    if yes != None:
+    if yes is not None:
         if yes == '':
             d.HideDialogItem(2)
         else:
             h = d.GetDialogItemAsControl(2)
             h.SetControlTitle(yes)
-    if no != None:
+    if no is not None:
         if no == '':
             d.HideDialogItem(3)
         else:
             h = d.GetDialogItemAsControl(3)
             h.SetControlTitle(no)
-    if cancel != None:
+    if cancel is not None:
         if cancel == '':
             d.HideDialogItem(4)
         else:
@@ -317,7 +317,7 @@
 
     def set(self, value, max=None):
         """set(value) - Set progress bar position"""
-        if max != None:
+        if max is not None:
             self.maxval = max
             bar = self.d.GetDialogItemAsControl(3)
             if max <= 0:    # indeterminate bar
diff --git a/Lib/plat-mac/FrameWork.py b/Lib/plat-mac/FrameWork.py
index 0a8c1b8..4437cf8 100644
--- a/Lib/plat-mac/FrameWork.py
+++ b/Lib/plat-mac/FrameWork.py
@@ -92,7 +92,7 @@
 def setwatchcursor():
     global _watch
 
-    if _watch == None:
+    if _watch is None:
         _watch = GetCursor(4).data
     SetCursor(_watch)
 
@@ -129,7 +129,7 @@
         self._quititem = MenuItem(m, "Quit", "Q", self._quit)
 
     def gethelpmenu(self):
-        if self._helpmenu == None:
+        if self._helpmenu is None:
             self._helpmenu = HelpMenu(self.menubar)
         return self._helpmenu
 
@@ -266,7 +266,7 @@
         else:
             name = "do_%d" % partcode
 
-        if wid == None:
+        if wid is None:
             # No window, or a non-python window
             try:
                 handler = getattr(self, name)
@@ -475,7 +475,7 @@
         self.menus = None
 
     def addmenu(self, title, after = 0, id=None):
-        if id == None:
+        if id is None:
             id = self.getnextid()
         if DEBUG: print 'Newmenu', title, id # XXXX
         m = NewMenu(id, title)
@@ -907,8 +907,8 @@
         self.barx_enabled = self.bary_enabled = 1
         x0, y0, x1, y1 = self.wid.GetWindowPort().GetPortBounds()
         vx, vy = self.getscrollbarvalues()
-        if vx == None: self.barx_enabled, vx = 0, 0
-        if vy == None: self.bary_enabled, vy = 0, 0
+        if vx is None: self.barx_enabled, vx = 0, 0
+        if vy is None: self.bary_enabled, vy = 0, 0
         if wantx:
             rect = x0-1, y1-(SCROLLBARWIDTH-1), x1-(SCROLLBARWIDTH-2), y1+1
             self.barx = NewControl(self.wid, rect, "", 1, vx, 0, 32767, 16, 0)
@@ -1007,7 +1007,7 @@
         SetPort(self.wid)
         vx, vy = self.getscrollbarvalues()
         if self.barx:
-            if vx == None:
+            if vx is None:
                 self.barx.HiliteControl(255)
                 self.barx_enabled = 0
             else:
@@ -1017,7 +1017,7 @@
                         self.barx.HiliteControl(0)
                 self.barx.SetControlValue(vx)
         if self.bary:
-            if vy == None:
+            if vy is None:
                 self.bary.HiliteControl(255)
                 self.bary_enabled = 0
             else:
diff --git a/Lib/plat-mac/MiniAEFrame.py b/Lib/plat-mac/MiniAEFrame.py
index 6a08dc9..506c5cb 100644
--- a/Lib/plat-mac/MiniAEFrame.py
+++ b/Lib/plat-mac/MiniAEFrame.py
@@ -158,7 +158,7 @@
             #Same try/except comment as above
             rv = _function(**_parameters)
 
-        if rv == None:
+        if rv is None:
             aetools.packevent(_reply, {})
         else:
             aetools.packevent(_reply, {'----':rv})
diff --git a/Lib/plat-mac/PixMapWrapper.py b/Lib/plat-mac/PixMapWrapper.py
index 7edbac2..62297b3 100644
--- a/Lib/plat-mac/PixMapWrapper.py
+++ b/Lib/plat-mac/PixMapWrapper.py
@@ -146,9 +146,9 @@
         """Draw this pixmap into the given (default current) grafport."""
         src = self.bounds
         dest = [x1,y1,x2,y2]
-        if x2 == None:
+        if x2 is None:
             dest[2] = x1 + src[2]-src[0]
-        if y2 == None:
+        if y2 is None:
             dest[3] = y1 + src[3]-src[1]
         if not port: port = Qd.GetPort()
         Qd.CopyBits(self.PixMap(), port.GetPortBitMapForCopyBits(), src, tuple(dest),
diff --git a/Lib/plat-mac/aepack.py b/Lib/plat-mac/aepack.py
index 9ad9c44..d69534f 100644
--- a/Lib/plat-mac/aepack.py
+++ b/Lib/plat-mac/aepack.py
@@ -77,7 +77,7 @@
         else:
             return pack(x).AECoerceDesc(forcetype)
 
-    if x == None:
+    if x is None:
         return AE.AECreateDesc('null', '')
 
     if isinstance(x, AEDescType):
diff --git a/Lib/plat-mac/buildtools.py b/Lib/plat-mac/buildtools.py
index f5dab88..7462d95 100644
--- a/Lib/plat-mac/buildtools.py
+++ b/Lib/plat-mac/buildtools.py
@@ -203,13 +203,13 @@
     dummy, tmplowner = copyres(input, output, skiptypes, 1, progress)
 
     Res.CloseResFile(input)
-##  if ownertype == None:
+##  if ownertype is None:
 ##      raise BuildError, "No owner resource found in either resource file or template"
     # Make sure we're manipulating the output resource file now
 
     Res.UseResFile(output)
 
-    if ownertype == None:
+    if ownertype is None:
         # No owner resource in the template. We have skipped the
         # Python owner resource, so we have to add our own. The relevant
         # bundle stuff is already included in the interpret/applet template.
diff --git a/Lib/plat-mac/findertools.py b/Lib/plat-mac/findertools.py
index 54b1bde..34dde9a 100644
--- a/Lib/plat-mac/findertools.py
+++ b/Lib/plat-mac/findertools.py
@@ -125,7 +125,7 @@
     """comment: get or set the Finder-comment of the item, displayed in the 'Get Info' window."""
     object = Carbon.File.FSRef(object)
     object_alias = object.FSNewAliasMonimal()
-    if comment == None:
+    if comment is None:
         return _getcomment(object_alias)
     else:
         return _setcomment(object_alias, comment)
@@ -329,7 +329,7 @@
     """label: set or get the label of the item. Specify file by name or fsspec."""
     object = Carbon.File.FSRef(object)
     object_alias = object.FSNewAliasMinimal()
-    if index == None:
+    if index is None:
         return _getlabel(object_alias)
     if index < 0 or index > 7:
         index = 0
@@ -375,7 +375,7 @@
     """
     fsr = Carbon.File.FSRef(folder)
     folder_alias = fsr.FSNewAliasMinimal()
-    if view == None:
+    if view is None:
         return _getwindowview(folder_alias)
     return _setwindowview(folder_alias, view)
 
@@ -533,7 +533,7 @@
     Development opportunity: get and set the data as PICT."""
     fsr = Carbon.File.FSRef(object)
     object_alias = fsr.FSNewAliasMinimal()
-    if icondata == None:
+    if icondata is None:
         return _geticon(object_alias)
     return _seticon(object_alias, icondata)
 
diff --git a/Lib/plat-mac/gensuitemodule.py b/Lib/plat-mac/gensuitemodule.py
index 87132c5..033bf9e 100644
--- a/Lib/plat-mac/gensuitemodule.py
+++ b/Lib/plat-mac/gensuitemodule.py
@@ -770,7 +770,7 @@
             fp.write("        if _object:\n")
             fp.write("            _arguments['----'] = _object\n")
         else:
-            fp.write("        if _no_object != None: raise TypeError, 'No direct arg expected'\n")
+            fp.write("        if _no_object is not None: raise TypeError, 'No direct arg expected'\n")
         fp.write("\n")
         #
         # Do enum-name substitution
diff --git a/Lib/plat-mac/ic.py b/Lib/plat-mac/ic.py
index 6575336..46788c9 100644
--- a/Lib/plat-mac/ic.py
+++ b/Lib/plat-mac/ic.py
@@ -202,12 +202,12 @@
         self.ic.ICLaunchURL(hint, url, 0, len(url))
 
     def parseurl(self, data, start=None, end=None, hint=""):
-        if start == None:
+        if start is None:
             selStart = 0
             selEnd = len(data)
         else:
             selStart = selEnd = start
-        if end != None:
+        if end is not None:
             selEnd = end
         selStart, selEnd = self.ic.ICParseURL(hint, data, selStart, selEnd, self.h)
         return self.h.data, selStart, selEnd
@@ -231,27 +231,27 @@
 
 def launchurl(url, hint=""):
     global _dft_ic
-    if _dft_ic == None: _dft_ic = IC()
+    if _dft_ic is None: _dft_ic = IC()
     return _dft_ic.launchurl(url, hint)
 
 def parseurl(data, start=None, end=None, hint=""):
     global _dft_ic
-    if _dft_ic == None: _dft_ic = IC()
+    if _dft_ic is None: _dft_ic = IC()
     return _dft_ic.parseurl(data, start, end, hint)
 
 def mapfile(filename):
     global _dft_ic
-    if _dft_ic == None: _dft_ic = IC()
+    if _dft_ic is None: _dft_ic = IC()
     return _dft_ic.mapfile(filename)
 
 def maptypecreator(type, creator, filename=""):
     global _dft_ic
-    if _dft_ic == None: _dft_ic = IC()
+    if _dft_ic is None: _dft_ic = IC()
     return _dft_ic.maptypecreator(type, creator, filename)
 
 def settypecreator(file):
     global _dft_ic
-    if _dft_ic == None: _dft_ic = IC()
+    if _dft_ic is None: _dft_ic = IC()
     return _dft_ic.settypecreator(file)
 
 def _test():
diff --git a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py
index 0fd562b..84b8561 100644
--- a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/CodeWarrior_suite.py
@@ -51,7 +51,7 @@
         _subcode = 'MAKE'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -135,7 +135,7 @@
         _subcode = 'EXPT'
 
         aetools.keysubst(_arguments, self._argmap_export)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -154,7 +154,7 @@
         _subcode = 'RMOB'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -193,7 +193,7 @@
         _subcode = 'RUN '
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -232,7 +232,7 @@
         _subcode = 'UP2D'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py
index 909cdc0..ca1f694 100644
--- a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Metrowerks_Shell_Suite.py
@@ -72,7 +72,7 @@
         _subcode = 'ClsP'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -190,7 +190,7 @@
         _subcode = 'GDoc'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -217,7 +217,7 @@
         _subcode = 'Gref'
 
         aetools.keysubst(_arguments, self._argmap_Get_Preferences)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -263,7 +263,7 @@
         _subcode = 'GetP'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -283,7 +283,7 @@
         _subcode = 'GSeg'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -324,7 +324,7 @@
         _subcode = 'NsCl'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -410,7 +410,7 @@
         _subcode = 'Make'
 
         aetools.keysubst(_arguments, self._argmap_Make_Project)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -503,7 +503,7 @@
         _subcode = 'RemB'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -543,7 +543,7 @@
         _subcode = 'ReFP'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -570,7 +570,7 @@
         _subcode = 'RunP'
 
         aetools.keysubst(_arguments, self._argmap_Run_Project)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -682,7 +682,7 @@
         _subcode = 'Pref'
 
         aetools.keysubst(_arguments, self._argmap_Set_Preferences)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -778,7 +778,7 @@
         _subcode = 'UpdP'
 
         aetools.keysubst(_arguments, self._argmap_Update_Project)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py
index ae277a2..25324f8 100644
--- a/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/CodeWarrior/Standard_Suite.py
@@ -115,7 +115,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py b/Lib/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py
index 0a985d1..9e2541e 100644
--- a/Lib/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Explorer/Required_Suite.py
@@ -61,7 +61,7 @@
         _subcode = 'quit'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -80,7 +80,7 @@
         _subcode = 'oapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py b/Lib/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py
index ff808eb..e87526f 100644
--- a/Lib/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Explorer/Web_Browser_Suite.py
@@ -42,7 +42,7 @@
         _subcode = 'CLSA'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -69,7 +69,7 @@
         _subcode = 'CLOS'
 
         aetools.keysubst(_arguments, self._argmap_CloseWindow)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -110,7 +110,7 @@
         _subcode = 'LSTW'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py b/Lib/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py
index c0a7b20..4e3928c 100644
--- a/Lib/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py
+++ b/Lib/plat-mac/lib-scriptpackages/Finder/Finder_Basics.py
@@ -20,7 +20,7 @@
         _subcode = 'copy'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py b/Lib/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py
index 69da626..b17fdf4 100644
--- a/Lib/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Finder/Legacy_suite.py
@@ -20,7 +20,7 @@
         _subcode = 'rest'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -39,7 +39,7 @@
         _subcode = 'shut'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -58,7 +58,7 @@
         _subcode = 'slep'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py b/Lib/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py
index 830f58c..b97918f 100644
--- a/Lib/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Finder/Standard_Suite.py
@@ -179,7 +179,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -285,7 +285,7 @@
         _subcode = 'quit'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py b/Lib/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py
index f4aea73..9d2625f 100644
--- a/Lib/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Netscape/Mozilla_suite.py
@@ -21,7 +21,7 @@
         _subcode = 'Impt'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -41,7 +41,7 @@
         _subcode = 'upro'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -61,7 +61,7 @@
         _subcode = 'wurl'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -126,7 +126,7 @@
         _subcode = 'addr'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -165,7 +165,7 @@
         _subcode = 'prfl'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py b/Lib/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py
index 7767305..d37e66f 100644
--- a/Lib/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py
+++ b/Lib/plat-mac/lib-scriptpackages/Netscape/PowerPlant.py
@@ -25,7 +25,7 @@
         _subcode = 'sttg'
 
         aetools.keysubst(_arguments, self._argmap_SwitchTellTarget)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Netscape/Required_suite.py b/Lib/plat-mac/lib-scriptpackages/Netscape/Required_suite.py
index b5c4110..c99794f 100644
--- a/Lib/plat-mac/lib-scriptpackages/Netscape/Required_suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Netscape/Required_suite.py
@@ -61,7 +61,7 @@
         _subcode = 'quit'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -80,7 +80,7 @@
         _subcode = 'oapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py b/Lib/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py
index 06cbfa7..1706b25 100644
--- a/Lib/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Netscape/WorldWideWeb_suite.py
@@ -154,7 +154,7 @@
         _subcode = 'LSTW'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py b/Lib/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py
index 773d1d7..ff5bcc4 100644
--- a/Lib/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/StdSuites/AppleScript_Suite.py
@@ -268,7 +268,7 @@
         _subcode = 'actv'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -371,7 +371,7 @@
         _subcode = 'tend'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -443,7 +443,7 @@
         _subcode = 'idle'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -462,7 +462,7 @@
         _subcode = 'noop'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -585,7 +585,7 @@
         _subcode = 'log1'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -625,7 +625,7 @@
         _subcode = 'log0'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -644,7 +644,7 @@
         _subcode = 'tell'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py b/Lib/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py
index 86681f5..10e5423 100644
--- a/Lib/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/StdSuites/Standard_Suite.py
@@ -255,7 +255,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -345,7 +345,7 @@
         _subcode = 'quit'
 
         aetools.keysubst(_arguments, self._argmap_quit)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'savo', _Enum_savo)
 
@@ -365,7 +365,7 @@
         _subcode = 'rapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -384,7 +384,7 @@
         _subcode = 'oapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py b/Lib/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py
index f20ef84..0ec16c0 100644
--- a/Lib/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/SystemEvents/Standard_Suite.py
@@ -175,7 +175,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py b/Lib/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py
index 035290f..e42528c 100644
--- a/Lib/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/Terminal/Standard_Suite.py
@@ -175,7 +175,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Lib/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py b/Lib/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py
index 318250f..e3ee271 100644
--- a/Lib/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py
+++ b/Lib/plat-mac/lib-scriptpackages/_builtinSuites/builtin_Suite.py
@@ -37,7 +37,7 @@
         _subcode = 'oapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -56,7 +56,7 @@
         _subcode = 'rapp'
 
         if _arguments: raise TypeError, 'No optional args expected'
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
@@ -100,7 +100,7 @@
         _subcode = 'quit'
 
         aetools.keysubst(_arguments, self._argmap_quit)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'savo', _Enum_savo)
 
diff --git a/Lib/plat-mac/macostools.py b/Lib/plat-mac/macostools.py
index 217f9e8..67bb497 100644
--- a/Lib/plat-mac/macostools.py
+++ b/Lib/plat-mac/macostools.py
@@ -106,7 +106,7 @@
     sf = srcfss.FSpGetFInfo()
     df = dstfss.FSpGetFInfo()
     df.Creator, df.Type = sf.Creator, sf.Type
-    if forcetype != None:
+    if forcetype is not None:
         df.Type = forcetype
     df.Flags = (sf.Flags & COPY_FLAGS)
     dstfss.FSpSetFInfo(df)
diff --git a/Lib/plat-mac/videoreader.py b/Lib/plat-mac/videoreader.py
index f16228b..952b919 100644
--- a/Lib/plat-mac/videoreader.py
+++ b/Lib/plat-mac/videoreader.py
@@ -188,7 +188,7 @@
 
     def GetVideoFrameRate(self):
         tv = self.videocurtime
-        if tv == None:
+        if tv is None:
             tv = 0
         flags = QuickTime.nextTimeStep|QuickTime.nextTimeEdgeOK
         tv, dur = self.videomedia.GetMediaNextInterestingTime(flags, tv, 1.0)
@@ -199,7 +199,7 @@
         if not time is None:
             self.audiocurtime = time
         flags = QuickTime.nextTimeStep|QuickTime.nextTimeEdgeOK
-        if self.audiocurtime == None:
+        if self.audiocurtime is None:
             self.audiocurtime = 0
         tv = self.audiomedia.GetMediaNextInterestingTimeOnly(flags, self.audiocurtime, 1.0)
         if tv < 0 or (self.audiocurtime and tv < self.audiocurtime):
@@ -215,7 +215,7 @@
         if not time is None:
             self.videocurtime = time
         flags = QuickTime.nextTimeStep
-        if self.videocurtime == None:
+        if self.videocurtime is None:
             flags = flags | QuickTime.nextTimeEdgeOK
             self.videocurtime = 0
         tv = self.videomedia.GetMediaNextInterestingTimeOnly(flags, self.videocurtime, 1.0)
diff --git a/Lib/plat-os2emx/grp.py b/Lib/plat-os2emx/grp.py
index fceb4c9..a5f3468 100644
--- a/Lib/plat-os2emx/grp.py
+++ b/Lib/plat-os2emx/grp.py
@@ -143,7 +143,7 @@
     while 1:
         entry = group.readline().strip()
         if len(entry) > 3:
-            if sep == None:
+            if sep is None:
                 sep = __get_field_sep(entry)
             fields = entry.split(sep)
             fields[2] = int(fields[2])
diff --git a/Lib/plat-os2emx/pwd.py b/Lib/plat-os2emx/pwd.py
index 95d766a..ceb92d9 100644
--- a/Lib/plat-os2emx/pwd.py
+++ b/Lib/plat-os2emx/pwd.py
@@ -167,7 +167,7 @@
     while 1:
         entry = passwd.readline().strip()
         if len(entry) > 6:
-            if sep == None:
+            if sep is None:
                 sep = __get_field_sep(entry)
             fields = entry.split(sep)
             for i in (2, 3):
diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py
index 03dd5b5..e4f87f2 100644
--- a/Lib/test/test_ast.py
+++ b/Lib/test/test_ast.py
@@ -130,7 +130,7 @@
 
 def test_order(ast_node, parent_pos):
 
-    if not isinstance(ast_node, _ast.AST) or ast_node._fields == None:
+    if not isinstance(ast_node, _ast.AST) or ast_node._fields is None:
         return
     if isinstance(ast_node, (_ast.expr, _ast.stmt, _ast.excepthandler)):
         node_pos = (ast_node.lineno, ast_node.col_offset)
@@ -141,7 +141,7 @@
         if isinstance(value, list):
             for child in value:
                 test_order(child, parent_pos)
-        elif value != None:
+        elif value is not None:
             test_order(value, parent_pos)
 
 def run_tests():
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 83802c1..7a12258 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -630,9 +630,9 @@
                                                                 "tmp")),
                              "File in wrong location: '%s'" % head)
             match = pattern.match(tail)
-            self.assert_(match != None, "Invalid file name: '%s'" % tail)
+            self.assert_(match is not None, "Invalid file name: '%s'" % tail)
             groups = match.groups()
-            if previous_groups != None:
+            if previous_groups is not None:
                 self.assert_(int(groups[0] >= previous_groups[0]),
                              "Non-monotonic seconds: '%s' before '%s'" %
                              (previous_groups[0], groups[0]))
diff --git a/Lib/test/test_pyclbr.py b/Lib/test/test_pyclbr.py
index d1291a0..d747f2f 100644
--- a/Lib/test/test_pyclbr.py
+++ b/Lib/test/test_pyclbr.py
@@ -57,7 +57,7 @@
             ignore are ignored.   If no module is provided, the appropriate
             module is loaded with __import__.'''
 
-        if module == None:
+        if module is None:
             # Import it.
             # ('<silly>' is to work around an API silliness in __import__)
             module = __import__(moduleName, globals(), {}, ['<silly>'])
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index f5ae026..856434f 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -546,7 +546,7 @@
                           expectedToWork,
                           certsreqs=None):
 
-        if certsreqs == None:
+        if certsreqs is None:
             certsreqs = ssl.CERT_NONE
 
         if certsreqs == ssl.CERT_NONE:
diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
index bb9c294..e6d1902 100644
--- a/Lib/xml/sax/expatreader.py
+++ b/Lib/xml/sax/expatreader.py
@@ -107,7 +107,7 @@
         xmlreader.IncrementalParser.parse(self, source)
 
     def prepareParser(self, source):
-        if source.getSystemId() != None:
+        if source.getSystemId() is not None:
             self._parser.SetBase(source.getSystemId())
 
     # Redefined setContentHandler to allow changing handlers during parsing
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index 8bdebe6..37974e9 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -289,7 +289,7 @@
     fd = os.popen(commandline, 'r')
     data = fd.read()
     xit = fd.close()
-    if xit != None:
+    if xit is not None:
         sys.stdout.write(data)
         raise RuntimeError, "command failed: %s"%(commandline,)
 
@@ -300,7 +300,7 @@
     fd = os.popen(commandline, 'r')
     data = fd.read()
     xit = fd.close()
-    if xit != None:
+    if xit is not None:
         sys.stdout.write(data)
         raise RuntimeError, "command failed: %s"%(commandline,)
 
diff --git a/Mac/Demo/applescript/Disk_Copy/Utility_Events.py b/Mac/Demo/applescript/Disk_Copy/Utility_Events.py
index 172b408..3830753 100644
--- a/Mac/Demo/applescript/Disk_Copy/Utility_Events.py
+++ b/Mac/Demo/applescript/Disk_Copy/Utility_Events.py
@@ -26,7 +26,7 @@
         _subcode = 'SEL1'
 
         aetools.keysubst(_arguments, self._argmap_select_disk_image)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
@@ -52,7 +52,7 @@
         _subcode = 'SEL2'
 
         aetools.keysubst(_arguments, self._argmap_select_DiskScript)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
@@ -78,7 +78,7 @@
         _subcode = 'SEL3'
 
         aetools.keysubst(_arguments, self._argmap_select_disk_image_or_DiskScript)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
@@ -104,7 +104,7 @@
         _subcode = 'SEL4'
 
         aetools.keysubst(_arguments, self._argmap_select_floppy_disk_image)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
@@ -130,7 +130,7 @@
         _subcode = 'SEL5'
 
         aetools.keysubst(_arguments, self._argmap_select_disk)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
@@ -156,7 +156,7 @@
         _subcode = 'SEL6'
 
         aetools.keysubst(_arguments, self._argmap_select_folder)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
         aetools.enumsubst(_arguments, 'SELp', _Enum_TEXT)
 
diff --git a/Mac/Tools/Doc/HelpIndexingTool/Standard_Suite.py b/Mac/Tools/Doc/HelpIndexingTool/Standard_Suite.py
index 4f6604c..0e62a02 100644
--- a/Mac/Tools/Doc/HelpIndexingTool/Standard_Suite.py
+++ b/Mac/Tools/Doc/HelpIndexingTool/Standard_Suite.py
@@ -103,7 +103,7 @@
         _subcode = 'crel'
 
         aetools.keysubst(_arguments, self._argmap_make)
-        if _no_object != None: raise TypeError, 'No direct arg expected'
+        if _no_object is not None: raise TypeError, 'No direct arg expected'
 
 
         _reply, _arguments, _attributes = self.send(_code, _subcode,
diff --git a/Mac/Tools/Doc/setup.py b/Mac/Tools/Doc/setup.py
index bd86a20..05c678f 100644
--- a/Mac/Tools/Doc/setup.py
+++ b/Mac/Tools/Doc/setup.py
@@ -175,10 +175,10 @@
                 ('root', 'root'))
 #               import pdb ; pdb.set_trace()
         build_cmd = self.get_finalized_command('build')
-        if self.build_dest == None:
+        if self.build_dest is None:
             build_cmd = self.get_finalized_command('build')
             self.build_dest = build_cmd.build_dest
-        if self.install_doc == None:
+        if self.install_doc is None:
             self.install_doc = os.path.join(self.prefix, DESTDIR)
         print 'INSTALL', self.build_dest, '->', self.install_doc
 
diff --git a/Mac/scripts/buildpkg.py b/Mac/scripts/buildpkg.py
index 7f635a0..ed5c88f 100644
--- a/Mac/scripts/buildpkg.py
+++ b/Mac/scripts/buildpkg.py
@@ -183,7 +183,7 @@
 
         # set folder attributes
         self.sourceFolder = root
-        if resources == None:
+        if resources is None:
             self.resourceFolder = root
         else:
             self.resourceFolder = resources
diff --git a/Tools/bgen/bgen/bgenGenerator.py b/Tools/bgen/bgen/bgenGenerator.py
index 3da3958..3bdfb72 100644
--- a/Tools/bgen/bgen/bgenGenerator.py
+++ b/Tools/bgen/bgen/bgenGenerator.py
@@ -148,7 +148,7 @@
         for arg in self.argumentList:
             if arg.flags == ErrorMode or arg.flags == SelfMode:
                 continue
-            if arg.type == None:
+            if arg.type is None:
                 str = 'void'
             else:
                 if hasattr(arg.type, 'typeName'):