[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7485: 23.2; Fix removing unrecognized ANSI sequences in ansi-color-a
bug#7485: 23.2; Fix removing unrecognized ANSI sequences in ansi-color-apply
Mon, 03 Jul 2017 21:48:16 -0400
Gnus/5.13 (Gnus v5.13) Emacs/25.2.50 (gnu/linux)
Leo <address@hidden> writes:
> Unrecognized control sequences also begin with char \033. The FRAGMENT
> part of ansi-color-context wasn't supposed to contain actual text,
> otherwise they might get lost. It should always be a fragment of a whole
> ansi control sequence if non-nil.
> Let me show how this stops eshell prompt from showing.
> Assume ansi-color-apply is in eshell-preoutput-filter-functions. Suppose
> the output of shell command 'ack linux' ends with an unrecognized
> control sequence ^[[K. The whole output string that goes through
> ansi-color-apply is
> output of 'ack linux' + 'eshell prompt'.
> After 'ack linux' finishes, the FRAGMENT of ansi-color-context becomes:
> #("^[[K\n~/.emacs.d $ " 4 17
> (read-only t face eshell-prompt rear-nonsticky
> (face read-only)))
> The string after being processed by ansi-color-apply is thus without an
> eshell prompt.
I think this patch is no longer applicable now that I've pushed
[1:35ed01dfb3], ansi-color-apply now skips over every escape sequence,
not just color escape sequences. Although I'm unable to produce the
problem of missing prompts even before my patch (e.g., in 25.2):
~/src $ printf 'ack linux\e[K\n'
[1: 35ed01dfb3]: 2017-07-03 10:09:40 -0400
Fix and simplify ansi escape detection (Bug#21381)
|[Prev in Thread]
||[Next in Thread]|
- bug#7485: 23.2; Fix removing unrecognized ANSI sequences in ansi-color-apply,