summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/output.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pym/portage/output.py b/pym/portage/output.py
index 0e016c5c6..637535b0b 100644
--- a/pym/portage/output.py
+++ b/pym/portage/output.py
@@ -252,6 +252,9 @@ def xtermTitle(mystr, raw=False):
mystr = mystr[:_max_xtermTitle_len]
if not raw:
mystr = '\x1b]0;%s\x07' % mystr
+ if sys.hexversion < 0x3000000 and isinstance(mystr, unicode):
+ # avoid potential UnicodeEncodeError
+ mystr = mystr.encode(_encodings['stdio'], 'backslashreplace')
sys.stderr.write(mystr)
sys.stderr.flush()