From: Zac Medico Date: Thu, 25 Oct 2007 05:57:32 +0000 (-0000) Subject: If the title string is too big then xtermTitle() can X-Git-Tag: v2.2_pre1~518 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f14272944803045cc18cf67342984010672e28a1;p=portage.git If the title string is too big then xtermTitle() can misbehave by causing the terminal to echo some of the characters and generate a "beep" sound. This is easily triggered by doing things like `emerge world` now since all the the atoms are expanded. svn path=/main/trunk/; revision=8289 --- diff --git a/pym/portage/output.py b/pym/portage/output.py index f4e90fb8e..ff3e27171 100644 --- a/pym/portage/output.py +++ b/pym/portage/output.py @@ -236,6 +236,11 @@ def nc_len(mystr): def xtermTitle(mystr, raw=False): if dotitles and "TERM" in os.environ and sys.stderr.isatty(): + # If the title string is too big then the terminal can + # misbehave. Therefore, truncate it if it's too big. + max_len = 253 + if len(mystr) > max_len: + mystr = mystr[:max_len] myt=os.environ["TERM"] legal_terms = ["xterm","Eterm","aterm","rxvt","screen","kterm","rxvt-unicode","gnome"] for term in legal_terms: