|  | @@ -167,8 +167,10 @@ class MultiTool(object):
 | 
	
		
			
				|  |  |      retcode = 0  # Final exit code.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def __init__(self, env=None, fh=None, quiet=False, verbose=False,
 | 
	
		
			
				|  |  | -                 no_color=False, nosplash=False):
 | 
	
		
			
				|  |  | -        self.fh = fh or sys.stderr
 | 
	
		
			
				|  |  | +                 no_color=False, nosplash=False, stdout=None, stderr=None):
 | 
	
		
			
				|  |  | +        """fh is an old alias to stdout."""
 | 
	
		
			
				|  |  | +        self.stdout = self.fh = stdout or fh or sys.stdout
 | 
	
		
			
				|  |  | +        self.stderr = stderr or sys.stderr
 | 
	
		
			
				|  |  |          self.env = env
 | 
	
		
			
				|  |  |          self.nosplash = nosplash
 | 
	
		
			
				|  |  |          self.quiet = quiet
 | 
	
	
		
			
				|  | @@ -213,8 +215,11 @@ class MultiTool(object):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return self.retcode
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def say(self, m, newline=True):
 | 
	
		
			
				|  |  | -        print(m, file=self.fh, end='\n' if newline else '')
 | 
	
		
			
				|  |  | +    def say(self, m, newline=True, file=None):
 | 
	
		
			
				|  |  | +        print(m, file=file or self.stdout, end='\n' if newline else '')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    def carp(self, m, newline=True, file=None):
 | 
	
		
			
				|  |  | +        return self.say(m, newline, file or self.stderr)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def names(self, argv, cmd):
 | 
	
		
			
				|  |  |          p = NamespacedOptionParser(argv)
 | 
	
	
		
			
				|  | @@ -424,7 +429,7 @@ class MultiTool(object):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def error(self, msg=None):
 | 
	
		
			
				|  |  |          if msg:
 | 
	
		
			
				|  |  | -            self.say(msg)
 | 
	
		
			
				|  |  | +            self.carp(msg)
 | 
	
		
			
				|  |  |          self.usage()
 | 
	
		
			
				|  |  |          self.retcode = 1
 | 
	
		
			
				|  |  |          return 1
 |