Subject: bug#5255: 23.1.90; Wrong prompt in term

From: Dan Nicolaescu <[email-masked]>
Date: Tue, 22 Dec 2009 07:13:16 -0800 (PST)

Fabian Ezequiel Gallina <[email-masked]> writes:

  > 2009/12/22 Dan Nicolaescu <[email-masked]>:
  > > Fabian Ezequiel Gallina <[email-masked]> writes:
  > >
  > >  > In emacs 23.1 when I use M-x term the prompt is rendered correctly to
  > >  > whatever is defined on the PS1 environment variable. But in 23.1.90.1 it
  > >  > prompts whatever is defined in the PS1 but also before that, it prompts
  > >  > 0;<user>@<host>:<location>.
  > >  >
  > >  > The steps to reproduce it are quite simple:
  > >  >
  > >  > emacs -Q
  > >  > M-x term
  > >  >
  > >  > The prompt is rendered like this:
  > >  >
  > >  > 0;fgallina@cuca:~/Builds/emacs[fgallina@cuca emacs]$
  > >  >
  > >  > Since my PS1 is set to
  > >  >
  > >  > PS1='[\u@\h \W]\$ '
  > >  >
  > >  > the expected result is:
  > >  >
  > >  > [fgallina@cuca emacs]$
  > >
  > > I can't reproduce this.
  > > Are you sure that your prompt is set to what you show there?  Maybe the
  > > system default sets it to something else?
  > >
  > 
  > I guess I found the problem:
  > 
  > [fgallina@cuca lisp]$ env | grep PROMPT_COMMAND
  > PROMPT_COMMAND=echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"

That looks like a bad idea.
I am guessing that you are trying to set the xterm title to display the
current directory in the shell, this uses an xterm specific escape sequence.
So it should only be done for xterm.

But you should not need to use PROMPT_COMMAND to do this, it can be done
by just setting the prompt, search the web for something like: "bash
prompt xterm title"

  > Now the thing is that executing this in a normal terminal renders
  > nothing, as opposed to term. My guess would be that term is missing
  > the \033] escape sequence.

It's actually \033];STUFF\007.