change return values of simple run* functions
diff --git a/Lib/profile.py b/Lib/profile.py
index 715aa4b..7f4abed 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -396,8 +396,7 @@
 	def run(self, cmd):
 		import __main__
 		dict = __main__.__dict__
-		self.runctx(cmd, dict, dict)
-		return self
+		return self.runctx(cmd, dict, dict)
 	
 	def runctx(self, cmd, globals, locals):
 		self.set_cmd(cmd)
@@ -406,16 +405,16 @@
 			exec cmd in globals, locals
 		finally:
 			sys.setprofile(None)
+		return self
 
 	# This method is more useful to profile a single function call.
 	def runcall(self, func, *args):
 		self.set_cmd(`func`)
 		sys.setprofile(self.dispatcher)
 		try:
-			apply(func, args)
+			return apply(func, args)
 		finally:
 			sys.setprofile(None)
-		return self
 
 
         #******************************************************************