Subject: 26.1; Soft-wrap issue in term.el with term-suppress-hard-newline

From: Bruno CHARRON <[email-masked]>
Date: Fri, 2 Nov 2018 03:11:09 +0900

Running 'emacs -Q', I load the latest 'term.el' in master (commit
bd36ab5), then set term-suppress-hard-newline to 't' and launch 'term'
with zsh as shell.
When typing a command which overflows the screen width, the shell sends
a "soft-wrap" after typing a character on the last column, say 'x
^M^[[K' after typing 'x' but 'term' does not wrap, it continues the same
row.
Then when hitting backspace, the shell asks to go up a row '^[[A' and
the 'term' state becomes inconsistent as it did not go down before.
The reason seems to be that at line 2912 (term.el, commit bd36ab5), 'x '
is inserted which makes the cursor go one column past the edge of the
screen and the wrapping at line 2936 only checks that the cursor is
exactly at the edge of the screen.
When term-suppress-hard-newline is nil, the wrapping is properly done
thanks to the '>' condition at line 2903.

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2018-05-29 built on lgw01-amd64-038
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description: Ubuntu 16.04.5 LTS