emacs-devel
[Top][All Lists]
Advanced

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

Re: address@hidden: ansi-term \e[J causes spurious newline [revised repo


From: Chong Yidong
Subject: Re: address@hidden: ansi-term \e[J causes spurious newline [revised report]]
Date: Wed, 21 Mar 2007 12:51:01 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.96 (gnu/linux)

> From: Rich Felker <address@hidden>
> Subject: ansi-term \e[J causes spurious newline [revised report]
> To: address@hidden
>
> On versions of GNU emacs I have tested (21.1 and cvs unicode-2
> branch), the "ansi-term" terminal emulator (M-x ansi-term) exhibits
> incorrect terminal behavior when given the ESC [ J sequence. In
> addition to clearing to the end of the screen, it moves the cursor to
> the beginning of the next line if the cursor is not already at the
> beginning of a line. To test this, use the following shell command
> from a shell running in ansi-term:
>
> echo -e 'hello\e[Jworld'
>
> On a vt100/ansi/ecma compatible terminal, this should leave
> "helloworld" visible on the screen, with everything afterward cleared.
> On GNU emacs' ansi-term, it prints hello on one line and world on the
> next, after clearing to the end of the screen.
>
> Removing the calls to term-unwrap-line from term-erase-in-display (in
> term.el) fixes the problem, but I don't know if this has any bad
> side-effects.

Looking through the code, I think the calls to term-unwrap-line should
be removed.  The note in the docstring of term-erase-in-display that
it "should only be called when point is at the start of a screen line"
is also false; this condition generally doesn't hold in situations
where this function is called, and if we remove the term-unwrap-line
calls, it's not necessary at all.

Cursory testing seems to indicate that ansi-term behaves fine without
the term-unwrap-line calls.

What do you think?




reply via email to

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