[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: BUG: Colorize background of whitespace
From: |
Phi Debian |
Subject: |
Re: BUG: Colorize background of whitespace |
Date: |
Thu, 26 Oct 2023 12:54:08 +0200 |
On Wed, Oct 25, 2023 at 5:01 PM Greg Wooledge <greg@wooledge.org> wrote:
>
> Ahh. That wasn't clear to me. Thanks.
>
>
Ouch got caught the same way. This can be reduced to
$ clear
$ echo "\e[36;44;4m\nsome colored\ttext with\ttabs\e[m\n"
$ <up><ret> # Recall and run prev command
repeat the later until top lines scroll out.
I added ;4 in the first \e i.e Underline to show that doing <tab> output is
just a cursor movement (not a char painting) as would do any other cursor
positioning esc seq.
Doing so we see that on <tab> both the color and the underline are not
decorated, on top lines, this is normal
When the scroll out occurs, the underline is never painted, as expected,
yet the BG color of the 'tab' is decorated.
This is because there is a bogus \n right after the SGR sequence
\e[36;44;4m\n this later \n say we open and SGR attribute, and \n will
preserve it on scroll out, BUT colors at not completly SGR as stated here
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html search for
*"ANSI X3.64-1979"*
*When we remove the bogus \n all is normal*
$ clear
$ echo "\e[36;44;4m\some colored\ttext with\ttabs\e[m\n"
<up><ret>
many time.
Generally speaking it is not good to leave an open SGR sequence before a
\n, when emitting SGR before the \n it is wise to have a closing sequence
\n[m\n