More has_key() fixes.
The optparse fix is a fix to the previous fix, which broke has_option().
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index c65d07f..1ef8f44 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -806,7 +806,7 @@
         Add the specified logger as a child of this placeholder.
         """
         #if alogger not in self.loggers:
-        if not self.loggerMap.has_key(alogger):
+        if alogger not in self.loggerMap:
             #self.loggers.append(alogger)
             self.loggerMap[alogger] = None
 
@@ -863,7 +863,7 @@
         rv = None
         _acquireLock()
         try:
-            if self.loggerDict.has_key(name):
+            if name in self.loggerDict:
                 rv = self.loggerDict[name]
                 if isinstance(rv, PlaceHolder):
                     ph = rv
@@ -891,7 +891,7 @@
         rv = None
         while (i > 0) and not rv:
             substr = name[:i]
-            if not self.loggerDict.has_key(substr):
+            if substr not in self.loggerDict:
                 self.loggerDict[substr] = PlaceHolder(alogger)
             else:
                 obj = self.loggerDict[substr]
diff --git a/Lib/optparse.py b/Lib/optparse.py
index a02f79a..0972f74 100644
--- a/Lib/optparse.py
+++ b/Lib/optparse.py
@@ -1040,7 +1040,7 @@
 
     def has_option(self, opt_str):
         return (opt_str in self._short_opt or
-                opt_str) in self._long_opt
+                opt_str in self._long_opt)
 
     def remove_option(self, opt_str):
         option = self._short_opt.get(opt_str)