Index: /pyyaml/trunk/lib/yaml/__init__.py
===================================================================
--- /pyyaml/trunk/lib/yaml/__init__.py	(revision 137)
+++ /pyyaml/trunk/lib/yaml/__init__.py	(revision 146)
@@ -1,16 +1,4 @@
 
 from error import *
-
-from reader import *
-from scanner import *
-from parser import *
-from composer import *
-from constructor import *
-
-from emitter import *
-from serializer import *
-from representer import *
-
-from resolver import *
 
 from tokens import *
Index: /pyyaml/trunk/lib/yaml/constructor.py
===================================================================
--- /pyyaml/trunk/lib/yaml/constructor.py	(revision 142)
+++ /pyyaml/trunk/lib/yaml/constructor.py	(revision 146)
@@ -457,5 +457,9 @@
                     "expected non-empty name appended to the tag", mark)
         if u'.' in name:
-            module_name, object_name = name.rsplit('.', 1)
+            # Python 2.4 only
+            #module_name, object_name = name.rsplit('.', 1)
+            items = name.split('.')
+            object_name = items.pop()
+            module_name = '.'.join(items)
         else:
             module_name = '__builtin__'
Index: /pyyaml/trunk/tests/test_errors.py
===================================================================
--- /pyyaml/trunk/tests/test_errors.py	(revision 141)
+++ /pyyaml/trunk/tests/test_errors.py	(revision 146)
@@ -37,5 +37,5 @@
         try:
             emit(events)
-        except EmitterError, exc:
+        except YAMLError, exc:
             #print '.'*70
             #print "%s:" % exc.__class__.__name__, exc
Index: /pyyaml/trunk/tests/data/construct-python-name-module.code
===================================================================
--- /pyyaml/trunk/tests/data/construct-python-name-module.code	(revision 144)
+++ /pyyaml/trunk/tests/data/construct-python-name-module.code	(revision 146)
@@ -1,1 +1,1 @@
-[file, Loader, dump, abs, xml.parsers]
+[file, Loader, dump, abs, yaml.tokens]
Index: /pyyaml/trunk/tests/data/construct-python-name-module.data
===================================================================
--- /pyyaml/trunk/tests/data/construct-python-name-module.data	(revision 144)
+++ /pyyaml/trunk/tests/data/construct-python-name-module.data	(revision 146)
@@ -3,3 +3,3 @@
 - !!python/name:yaml.dump
 - !!python/name:abs
-- !!python/module:xml.parsers
+- !!python/module:yaml.tokens
Index: /pyyaml/trunk/tests/test_constructor.py
===================================================================
--- /pyyaml/trunk/tests/test_constructor.py	(revision 144)
+++ /pyyaml/trunk/tests/test_constructor.py	(revision 146)
@@ -12,5 +12,5 @@
 from yaml import *
 
-import xml.parsers
+import yaml.tokens
 
 class MyLoader(Loader):
Index: /pyyaml/trunk/tests/test_appliance.py
===================================================================
--- /pyyaml/trunk/tests/test_appliance.py	(revision 137)
+++ /pyyaml/trunk/tests/test_appliance.py	(revision 146)
@@ -3,4 +3,7 @@
 
 from yaml import *
+from yaml.composer import *
+from yaml.constructor import *
+from yaml.resolver import *
 
 class TestAppliance(unittest.TestCase):
Index: /pyyaml/trunk/tests/test_structure.py
===================================================================
--- /pyyaml/trunk/tests/test_structure.py	(revision 136)
+++ /pyyaml/trunk/tests/test_structure.py	(revision 146)
@@ -142,8 +142,7 @@
 TestResolver.add_tests('testResolver', '.data', '.canonical')
 
-class MyConstructor:
-
+class MyLoader(Loader):
     def construct_sequence(self, node):
-        return tuple(Constructor.construct_sequence(self, node))
+        return tuple(Loader.construct_sequence(self, node))
 
     def construct_mapping(self, node):
@@ -155,10 +154,19 @@
         return self.construct_scalar(node)
 
-class MyLoader(MyConstructor, Loader):
-    pass
 MyLoader.add_constructor(None, MyLoader.construct_undefined)
 
-class MyCanonicalLoader(MyConstructor, test_appliance.CanonicalLoader):
-    pass
+class MyCanonicalLoader(test_appliance.CanonicalLoader):
+
+    def construct_sequence(self, node):
+        return tuple(test_appliance.CanonicalLoader.construct_sequence(self, node))
+
+    def construct_mapping(self, node):
+        pairs = self.construct_pairs(node)
+        pairs.sort()
+        return pairs
+
+    def construct_undefined(self, node):
+        return self.construct_scalar(node)
+
 MyCanonicalLoader.add_constructor(None, MyCanonicalLoader.construct_undefined)
 
