softspace(): be prepared to catch AttributeError as well as TypeError
upon attempted attribute assignment.  Caught by MWH, SF bug #462522.
diff --git a/Lib/code.py b/Lib/code.py
index e2d5065..ad42a9b 100644
--- a/Lib/code.py
+++ b/Lib/code.py
@@ -20,7 +20,8 @@
         pass
     try:
         file.softspace = newvalue
-    except TypeError: # "attribute-less object" or "read-only attributes"
+    except (AttributeError, TypeError):
+        # "attribute-less object" or "read-only attributes"
         pass
     return oldvalue