[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: suppressed ACS characters, ignpar, brkint, and imaxbel
From: |
Thomas Dickey |
Subject: |
Re: suppressed ACS characters, ignpar, brkint, and imaxbel |
Date: |
Sun, 29 Sep 2024 05:50:28 -0400 |
On Sat, Sep 28, 2024 at 10:59:40PM -0500, G. Branden Robinson wrote:
> From time to time over the years I've noticed that sometimes terminal
> emulators (usually xterm in my case) get screwed into some state where
> ACS characters just don't work. I get the ugly 'qqqqqqqqx' nonsense
> where box borders should be.
>
> I've tracked it down this far:
>
> $ diff -u /tmp/{good,bad}
I suppose it's possible that some buffering problem could be relevant,
(i.e., the termios settings) but
tput enacs
is the usual place to try.
> --- /tmp/good 2024-09-28 22:49:05.858771398 -0500
> +++ /tmp/bad 2024-09-28 22:49:13.826766470 -0500
> @@ -3,8 +3,8 @@
> eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt =
> ^R;
> werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
> -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
> --ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
> --iuclc -ixany imaxbel iutf8
> +-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon
> -ixoff
> +-iuclc -ixany -imaxbel iutf8
> opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
> ff0
> isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
> echoctl echoke -flusho -extproc
>
> A word diff might help:
>
> $ wdiff /tmp/{good,bad}
> speed 38400 baud; rows 43; columns 147; line = 0;
> intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
> eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
> werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
> -parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
> -ignbrk [-brkint ignpar-] {+-brkint -ignpar+} -parmrk -inpck -istrip -inlcr
> -igncr icrnl [-ixon-] {+-ixon+} -ixoff
> -iuclc -ixany [-imaxbel-] {+-imaxbel+} iutf8
> opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0
> ff0
> isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
> echoctl echoke -flusho -extproc
>
> In English, the "bad" terminal has "brkint", "ignpar", and "imaxbel" all
> shut off.
>
> But maybe these are red herrings, because turning each of these back on
> doesn't fix the problem. ...I'm wondering, though, if I managed to cat
> some sort of horrible noise that changed these settings and one other,
> not observed at the terminal driver level, besides.
>
> I sent both "smacs" and "rmacs" capabilities to the terminal. And
> "enacs". And NCURSES_NO_UTF8_ACS is _not_ set in my environment.
>
> If we can track down the cause, I'd like to add it as an example to the
> tput(1) man page, if that's where the trouble lies. I dislike telling
> people to just reset their terminal or close it and start a new one.
> I'd prefer to understand the problem and have a surgical solution to
> prescribe.
>
> Anyone have any ideas?
>
> Regards,
> Branden
--
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net
signature.asc
Description: PGP signature