[Bug 294499] [termcap] screen entry has so=\E[3m (italic) should be so=\E[7m (reverse video)
Date: Sun, 19 Apr 2026 23:16:54 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294499 --- Comment #4 from Dan Mahoney <freebsd@gushi.org> --- Additional note on why the base termcap fix is necessary independent of any Screen-side workaround: The sysutils/screen port at version 5.0.1_6 emits a runtime workaround by writing duplicate so= and se= entries into $TERMCAP, with the correct reverse-video values appearing after the broken italic ones: so=\E[3m:se=\E[23m:so=\E[7m:se=\E[27m Termcap parsers generally take the last occurrence, so this works in the local session. However, $TERMCAP is not forwarded over SSH -- OpenSSH's SendEnv does not include it, and AcceptEnv on the remote side typically only lists $TERM. When a user SSHes from a machine running Screen to another machine and runs an affected application there, the remote system looks up the screen entry in its own /etc/termcap, encounters only the broken so=\E[3m, and displays italics instead of reverse video. Confirmed: with the per-user ~/.terminfo workaround removed on the remote system, the bug reappears immediately upon SSH. With the base /etc/termcap fix applied, no per-user workaround would be needed. This means the Screen port's runtime duplicate-entry approach, while useful, cannot substitute for fixing the base entry. The correct fix has to live in /etc/termcap itself. -- You are receiving this mail because: You are the assignee for the bug.