Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2025 18:08:41 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [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
Message-ID:  <bug-287358-227-2X7porKfY6@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-287358-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

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.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-287358-227-2X7porKfY6>