bug-ncurses
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]