For consistency with other xterm titles code, redirect $PROMPT_COMMAND output to...
authorZac Medico <zmedico@gentoo.org>
Mon, 11 Jun 2007 08:43:56 +0000 (08:43 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 11 Jun 2007 08:43:56 +0000 (08:43 -0000)
svn path=/main/branches/2.1.2/; revision=6800

pym/output.py

index ca265124ac738a7af1400b2ae3b9990981046946..6886e5cbb40bc8f381cfff47acef10a212962281 100644 (file)
@@ -196,7 +196,16 @@ def xtermTitleReset():
                        default_xterm_title = ""
                elif prompt_command is not None:
                        if dotitles and "TERM" in os.environ and sys.stderr.isatty():
-                               os.system(prompt_command)
+                               from portage_exec import find_binary, spawn
+                               shell = os.environ.get("SHELL")
+                               if not shell or not os.access(shell, os.EX_OK):
+                                       shell = find_binary("sh")
+                               if shell:
+                                       spawn([shell, "-c", prompt_command], env=os.environ,
+                                               fdpipes={0:sys.stdin.fileno(),1:sys.stderr.fileno(),
+                                               2:sys.stderr.fileno()})
+                               else:
+                                       os.system(prompt_command)
                        return
                else:
                        pwd = os.getenv('PWD','')