emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: On prompt in shell mode


From: Stefan Monnier
Subject: Re: On prompt in shell mode
Date: Wed, 13 Aug 2008 18:37:25 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>>>>> The following regards Emacs (trunk) both on Linux and Cygwin. When
>>>>> I do: M-x shell, the prompt has garbage: ^[]0;~/downloads/cygwinports^G
>>>>> address@hidden ^[[33m~/downloads/cygwinports^[[0m $ being echo PS1
>>>>> \[\e]0;address@hidden \[\e[33m\]\w\[\e[0m\]\n\$
>>>> Doesn't look like garbage to me: it looks like the exact (garbage) codes
>>>> specified in your PS1.  After all \e is ^[ and \a
>>>> is ^G (IIRC).
>>>> 
>>>> You should be careful to choose the escape sequences in your PS1
>>>> according to the escape sequences accepted by the terminal emulator in
>>>> which the shell is running (which is reflected in the
>>>> $TERM envvar).
>> 
>>> Obviously, what you call "the exact (garbage) codes specified in your
>>> PS1" in RXVT, MRXVT, URXVT, (KDE)Konsole produces:
>> 
>>> address@hidden ~/downloads/cygwinports $
>> 
>> I do not doubt it.  They are codes meant specifically for those terminal
>> emulators so it's no wonder they do what you want there.

> No! They are codes (escape sequences) for BASH shell. Many people use
> different shells (zsh, tcsh,...) which have different syntax.

AFAIK, only the \[, \w, \u, \h, and \] escapes are bash escapes (and
they indeed show up fine in your M-x shell example).  The rest
(e.g. things like "\e]0;" and "\e[32m") are not handled by bash but just
passed blindly as is to the terminal.

>> Try it on a wyse terminal, or in the Linux console.  M-x shell is not
>> a terminal

> Sorry, but I have already cited GNU/Linux and KDE-Konsole! on which
> there is the same problem!... and have sent another post [1].

I'm not sure we talk about the same thing.  I'm talking about running
your shell in a Linux console, or within `screen', or inside a Wyse
terminal (if you can find one these days).  I.e. without involving Emacs
at all.

> I have pointed this problem because I think that M-x shell does not
> interpret correctly some escape/code; googling or searching in
> help-emacs, shows this is an acient problem whose workarounds do not
> seem to work with 23 (and 22?).

> Obviously that is only my opinion.

It's a problem indeed.  I do not deny it.  But your PS1 prompt setting
is still faulty regardless ;-)


        Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]