[Bug 287358] [ncurses] Cannot handle termcap-style 'tputs("50")' on freebsd-current and 14.2-RELEASE due to wrong definition in lib/ncurses/tinfo/ncurses_cfg.h
Date: Wed, 19 Nov 2025 18:08:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287358
B.S. <bigsneaky@duck.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bigsneaky@duck.com
--- Comment #2 from B.S. <bigsneaky@duck.com> ---
(In reply to WATANABE Kazuhiro from comment #0)
> Unfortunately, on ncurses-6.5 '--enable-bsdpad'
> defines not USE_BSD_TPUTS but BSD_TPUTS. The other
> two defines seems correct.
Indeed, the 3 lines added to ncurses_cfg.h in e402155 (2024-06-20) to
"reinstantiate bsd specific code":
> #define USE_GETCAP 1
> #define USE_BSD_TPUTS 1
> #define HAVE_BSD_CGETENT 1
had all been removed a few hours earlier in 2181799 when importing version 6.5,
having previously been present since libtinfo was split from libncurses in
396851c (2021-10-04) ... except that USE_BSD_TPUTS is clearly a typo for the
removed BSD_TPUTS. Easy to do immediately after typing USE_GETCAP! The other 2
are correct.
See the file history at
https://github.com/freebsd/freebsd-src/commits/main/lib/ncurses/tinfo/ncurses_cfg.h
This is not specific to ncurses-6.5, it's been BSD_TPUTS (and also USE_GETCAP
and HAVE_BSD_CGETENT) for over 25 years in
https://github.com/freebsd/freebsd-src/commits/main/contrib/ncurses/include/ncurses_defs
That Nethack functionality is referenced in the ncurses source at
https://github.com/freebsd/freebsd-src/blob/main/contrib/ncurses/ncurses/tinfo/lib_tputs.c
> 336 #if BSD_TPUTS
> 337 /*
> 338 * This ugly kluge deals with the fact that some ancient BSD programs
> 339 * (like nethack) actually do the likes of tputs("50") to get delays.
> 330 */
> ...
So in ncurses_cfg.h it should definitely be
> #define BSD_TPUTS 1
--
You are receiving this mail because:
You are the assignee for the bug.