Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library

From: Eli Zaretskii <[email-masked]>
Date: Wed, 12 Jul 2023 19:06:42 +0300

> Date: Wed, 12 Jul 2023 17:06:08 +0300
> From: Valtteri Vuorikoski <[email-masked]>
> Cc: [email-masked]
> 
> > diff --git a/configure.ac b/configure.ac
> > index 19575e8..21c396f 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -5212,7 +5212,7 @@ AC_DEFUN
> >      ;;
> >  
> >    netbsd)
> > -    if test "x$LIBS_TERMCAP" != "x-lterminfo"; then
> > +    if test "x$LIBS_TERMCAP" != "x-lncurses"; then
> >        TERMINFO=no
> >        LIBS_TERMCAP="-ltermcap"
> >      fi
> 
> It fixes the immediate problem, yes. But I don't think this special
> case should stick around, since it seems relevant only to a very
> ancient version of NetBSD.

We don't want to drop support of old versions just because we can, and
we don't really know how "ancient" those ancient versions should
actually be to require this special case.  We know that in May 2010 it
was TRT, but not when it stopped being TRT.  Without knowing that, I'd
like to avoid removing this, at least until we hear a real problem
with it.  Asking NetBSD users to install ncurses doesn't sound like a
problem to me.

> I tried out the following patch and it turns out that the thing that
> causes tparam1 aborts is actually TERMINFO=no:

That's strange, since termcap and terminfo are the same on NetBSD.
Maybe the problem is that TERMINFO=no means we don't compile
terminfo.c into Emacs, and/or also don't define TERMINFO, which could
bypass more code that's needed for terminfo?  In that case, just
avoiding TERMINFO=no, even if ncurses were not found, could be another
good measure.

> If users with ancient NetBSD versions experience problems with
> libterminfo (that the original special case logic presumably avoided),
> they can install ncurses as a workaround. 

That argument goes both ways, doesn't it?