From: Eli Zaretskii Date: Sun, 16 Apr 2023 06:19:15 +0000 (+0300) Subject: Fix strike-through attribute support on TTY frames X-Git-Tag: emacs-29.0.91~136 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9686b015a0d71d08828afb0cfe6e477bbc4909ae;p=emacs.git Fix strike-through attribute support on TTY frames * src/term.c (init_tty): Fix setting the strike-through capability with "smxx". (Bug#62265) --- diff --git a/src/term.c b/src/term.c index d881dee39fe..8a16ce4e33f 100644 --- a/src/term.c +++ b/src/term.c @@ -4163,7 +4163,15 @@ use the Bourne shell command 'TERM=...; export TERM' (C-shell:\n\ tty->TS_enter_alt_charset_mode = tgetstr ("as", address); tty->TS_exit_alt_charset_mode = tgetstr ("ae", address); tty->TS_exit_attribute_mode = tgetstr ("me", address); +#ifdef TERMINFO + tty->TS_enter_strike_through_mode = tigetstr ("smxx", address); + if (tty->TS_enter_strike_through_mode == (char *) (intptr_t) -1) + tty->TS_enter_strike_through_mode = NULL; +#else + /* FIXME: Is calling tgetstr here for non-terminfo case correct, + even though "smxx" is more than 2 characters? */ tty->TS_enter_strike_through_mode = tgetstr ("smxx", address); +#endif MultiUp (tty) = tgetstr ("UP", address); MultiDown (tty) = tgetstr ("DO", address);