[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
suppressed ACS characters, ignpar, brkint, and imaxbel
From: |
G. Branden Robinson |
Subject: |
suppressed ACS characters, ignpar, brkint, and imaxbel |
Date: |
Sat, 28 Sep 2024 22:59:40 -0500 |
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}
--- /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
signature.asc
Description: PGP signature
- suppressed ACS characters, ignpar, brkint, and imaxbel,
G. Branden Robinson <=