From f0306ea946d3f838c92c1127b0c0b825e7302f70 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 14 Jan 2010 23:45:00 +0100 Subject: Fix output for command "layman -L |& less" --- layman/debug.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/layman/debug.py b/layman/debug.py index c5cf3a0..32ea948 100644 --- a/layman/debug.py +++ b/layman/debug.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- ################################################################################# # LAYMAN - DEBUGGING FUNCTIONS ################################################################################# @@ -352,7 +353,12 @@ class Message: error = str(error) for i in error.split('\n'): + # NOTE: Forced flushing ensures that stdout and stderr + # stay in nice order. This is a workaround for calls like + # "layman -L |& less". + sys.stdout.flush() print >> self.error_out, self.maybe_color('red', '* ') + i + self.error_out.flush() self.has_error = True def die (self, error): -- cgit v1.2.3-1-g7c22