From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: vuori@notcom.org Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 Jul 2023 20:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 64577@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.168910785519272 (code B ref -1); Tue, 11 Jul 2023 20:38:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Jul 2023 20:37:35 +0000 Received: from localhost ([127.0.0.1]:51155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJK74-00050k-M4 for submit@debbugs.gnu.org; Tue, 11 Jul 2023 16:37:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:48784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJK73-00050c-1r for submit@debbugs.gnu.org; Tue, 11 Jul 2023 16:37:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJK72-0000L0-EW for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:32 -0400 Received: from uslohestin.notcom.org ([2604:180:2:2e8::2]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJK70-0008F3-2n for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=usl; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=fllvTV5tRuwcZpVsC4vknq9BSj8SQpkm1yGGFq26uWI=; t=1689107843; x=1689971843; b=FX7qZPWSflif1J0wy0jz3dEV5vM2uA3tnnjaSUxleISzcTKMr+RcKnj2GfxQ2v8NBIlTSdL7sZs LfZ4+7DI0IgDHWAlFnbWPreav2sB4+0XFNDNpElgs+5+qgw6kZGgFbzK5CfPHIC5e8Iv7ix4e+3NC B8FubmJaPH9LkYMGJQrc+rxEDNinjfb0g6g8kWyuY9amnAINdjVBwCZGaIds+HESd0loA5S8eQP00 v/A6lLx0mF2mMXPIsLTQ8TUpN45cB1ME0ncdmpeVeMs1pzK6ynAljm2FNEckUZ81NaprWIZsALYVX 4WkKscXggXST2/Ut+TDM/bSB4hOh/tVbw2Ow==; Received: from submission.internal (id=312efe4a2b31e0bdf15d7a3617f56a5a569dba14) by uslohestin.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJK6q-005THf-Iy for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:20 -0400 Received: from [10.0.40.33] (helo=netbsd.himad.notcom.org) by mkarpo.dyn.notcom.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qJK6p-000P2V-Io for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 20:37:19 +0000 Received: by netbsd.himad.notcom.org (Postfix, from userid 1000) id 1CAB11C9B99; Tue, 11 Jul 2023 20:37:19 +0000 (UTC) From: vuori@notcom.org Date: Tue, 11 Jul 2023 20:37:19 +0000 Message-ID: <87v8eqrxq8.fsf@notcom.org> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2604:180:2:2e8::2; envelope-from=vuori@notcom.org; helo=uslohestin.notcom.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) configure on NetBSD forces using the native libterminfo library, even when ncurses is available. When started with a TERM such xterm-256color, this results in abort() in tputs1 (TERM=xterm works). Hacking configure to use ncurses when available provides stable operation on xterm-256color. The current special configure logic originates from this issue: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6190 . This check is probably not a good idea today. Either NetBSD should do a) what the other BSDs do (= force ncurses) or b) what gnu* does (use what configure found, otherwise force ncurses). My vote goes to b (possibly with a warning from configure if libterminfo is picked): keep it possible to build emacs without installing ncurses, but use ncurses for terminfo when available. To reproduce: 1. Compile Emacs 29 on NetBSD 9.3 (same logic is present on master, so I assume that won't work any better). 2. Note that configure prints "-lncurses" if ncurses is installed, but actually emacs is linked with libterminfo. 3. Run TERM=xterm-256color emacs -nw. You should get an abort in tputs1. In GNU Emacs 29.0.92 (build 4, x86_64-unknown-netbsd9.3, X toolkit, cairo version 1.16.0) of 2023-07-10 built on netbsd Repository revision: 419b4d44914701cedf308df58c3e5789715c87e7 Repository branch: emacs-29 System Description: NetBSD netbsd 9.3_STABLE NetBSD 9.3_STABLE (VUORI) #4: Sat Jun 3 09:32:53 UTC 2023 vuori@netbsd:/usr/src/sys/arch/amd64/compile/VUORI amd64 Configured using: 'configure --prefix=/home/vuori/emacs --with-x-toolkit=athena --without-sound --with-modules --with-json --without-toolkit-scroll-bars CFLAGS=-I/usr/pkg/include 'LDFLAGS=-L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib'' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PNG SQLITE3 THREADS TIFF WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_COLLATE: C.UTF-8 value of $LC_TIME: C.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm byte-opt gv bytecomp byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 46279 8331) (symbols 48 5824 0) (strings 32 14914 1175) (string-bytes 1 424404) (vectors 16 8323) (vector-slots 8 105495 7095) (floats 8 24 247) (intervals 56 217 0) (buffers 976 10)) From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 12:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: vuori@notcom.org Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168916386920794 (code B ref 64577); Wed, 12 Jul 2023 12:12:02 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 12:11:09 +0000 Received: from localhost ([127.0.0.1]:51864 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJYgX-0005PK-7u for submit@debbugs.gnu.org; Wed, 12 Jul 2023 08:11:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJYgT-0005Op-QS for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 08:11:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJYgM-0006x2-Pi; Wed, 12 Jul 2023 08:10:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=mpMTH0qYKvHzzN8xPuyYVO6ecCL10b2HCvgDux5KfIk=; b=jY7IeGNFRlAd 8jtpYK6XgH8OcsxksrP+0W4BzzNMFNpL8IxGtbmXk+YvLDVm5n5f8n+AOlAq4yMRd65fz5Ljnaqs5 0esV2Gy0+M4z1KyIHhmwY5Ino9kKCm3CPnZWQPcTW+2RmwJXqGamchF0q69d8efDr+obR2keHSYzq XjJ3xhnDnC84rSKK+WP2qUgBXcrWqlnbJdpLRxHjPGEZtWn7+7b3Kv98N6V6S5Tr5MI5yo6eQsm2Q e/olX7ega9AtKxxqdQNL/bE6ELBcpqCe7Cp/J6xR3uGNCst98ptnXRWB+hXB16RGT5d9auP0QJgb1 NL8vVmU+bf2MRyHAZG7ndw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJYgE-0008S2-Pd; Wed, 12 Jul 2023 08:10:58 -0400 Date: Wed, 12 Jul 2023 15:11:02 +0300 Message-Id: <837cr572jt.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87v8eqrxq8.fsf@notcom.org> (vuori@notcom.org) References: <87v8eqrxq8.fsf@notcom.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: vuori@notcom.org > Date: Tue, 11 Jul 2023 20:37:19 +0000 > > > configure on NetBSD forces using the native libterminfo library, even > when ncurses is available. When started with a TERM such xterm-256color, > this results in abort() in tputs1 (TERM=xterm works). > > Hacking configure to use ncurses when available provides stable > operation on xterm-256color. > > The current special configure logic originates from this issue: > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6190 . This check is > probably not a good idea today. Either NetBSD should do a) what the > other BSDs do (= force ncurses) or b) what gnu* does (use what > configure found, otherwise force ncurses). > > My vote goes to b (possibly with a warning from configure if libterminfo > is picked): keep it possible to build emacs without installing ncurses, > but use ncurses for terminfo when available. I'm not sure I understand. The configure script first looks for a library with tputs, and it tries tinfo, ncurses, terminfo, curses, termcap, tinfow, ncursesw, in that order. I understand that in your case it finds ncurses, which is good, right? After that, the configure script decides whether to use terminfo or termcap. It is here that for netbsd we decide to use termcap in certain situations instead of terminfo. In your case, since ncurses was found, LIBS_TERMCAP should have been set to -lncurses, and this code: netbsd) if test "x$LIBS_TERMCAP" != "x-lterminfo"; then TERMINFO=no LIBS_TERMCAP="-ltermcap" fi should have set TERMINFO=no, which disables linking against terminfo. So I don't think I understand what is going on there. As I don't have access to a netbsd system, could you please post the config.log you get when configuring with a fresh tree of emacs-29.0.92, and also show the "set -x" expansion of the relevant parts of the configure script? (Please compress those when posting if they are larger than, say, 0.5MB.) I would like to use those to understand what happens on your system and why the configure script decides to use terminfo. Once we understand the exact reason, it will be easier to discuss potential solutions. Also, do you happen to know when terminfo on NetBSD started to be buggy? I would think that the change in bug#6190 did work at the time, so at least back then NetBSD did have a workable terminfo. When did it start failing? Thanks. From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Valtteri Vuorikoski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 12:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168916666225759 (code B ref 64577); Wed, 12 Jul 2023 12:58:01 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 12:57:42 +0000 Received: from localhost ([127.0.0.1]:51895 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJZPa-0006hP-Dy for submit@debbugs.gnu.org; Wed, 12 Jul 2023 08:57:42 -0400 Received: from jkusti.notcom.org ([118.27.113.153]:51764) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJZPY-0006hG-HZ for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 08:57:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=jk; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject: Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=dXRr18jQoqaBJZEW2ROJSe/KFnmMmi8qiFAin2xAG/8=; t=1689166660; x=1690030660; b=RISO5euPZjejH1aFg88Gck0y/i4jysB70noUixu4g0JGX7ao8otgyyFWKHNjA+MAKHBVirRoIrm M31x2Ihar7PevQ8l4kAYJaiWZYVlVXsu1PHtJ9vHACZ+rF5H88qu8NJO45Z9q4yaDWHdoYV3zSn7I aLJwYQIJw+Co+yGKLLddNx14XSd2uP2llJchM8sHiljhiaqM6AaKXBrzTRSvSd861Gk3s6LrYjTGb kLlXf9LU7qRQ4e2mqHyQb6vtm6jsxVeWZKNAcY6xQJG/xUfU0UQ5ZgWnFrYPwR/QNCFQaHBTVyKMf psRtzsNxrKiVdQNKyDAVRT8MdbU0jSUEruuQ==; Received: from submission.internal (id=9cdceae8c7b5bf2d4c2c643b5341fa4197f0c084) by jkusti.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJZPU-0032Gt-Gf; Wed, 12 Jul 2023 12:57:37 +0000 Received: from a10d750d756b015054aa81d63d047a232e64e839 by sendhost.internal with local (Exim 4.x) (envelope-from ) id 1qJZPN-0051HB-NG; Wed, 12 Jul 2023 15:57:29 +0300 Date: Wed, 12 Jul 2023 15:57:29 +0300 From: Valtteri Vuorikoski Message-ID: References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nx2dlk5w5ftiziok" Content-Disposition: inline In-Reply-To: <837cr572jt.fsf@gnu.org> User-Agent: NeoMutt/20230517-193-0143df-dirty X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --nx2dlk5w5ftiziok Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, Jul 12, 2023 at 03:11:02PM +0300, Eli Zaretskii wrote: > > configure on NetBSD forces using the native libterminfo library, even > > when ncurses is available. When started with a TERM such xterm-256color, > > this results in abort() in tputs1 (TERM=xterm works). > > > > Hacking configure to use ncurses when available provides stable > > operation on xterm-256color. > > I'm not sure I understand. The configure script first looks for a > library with tputs, and it tries tinfo, ncurses, terminfo, curses, > termcap, tinfow, ncursesw, in that order. I understand that in your > case it finds ncurses, which is good, right? > > After that, the configure script decides whether to use terminfo or > termcap. It is here that for netbsd we decide to use termcap in > certain situations instead of terminfo. In your case, since ncurses > was found, LIBS_TERMCAP should have been set to -lncurses, and this > code: > > netbsd) > if test "x$LIBS_TERMCAP" != "x-lterminfo"; then > TERMINFO=no > LIBS_TERMCAP="-ltermcap" > fi > > should have set TERMINFO=no, which disables linking against terminfo. > > So I don't think I understand what is going on there. Finding ncurses is good, but unfortunately ncurses isn't what ends up getting used. configure says: checking for library containing tputs... -lncurses but this happens: $ ldd src/emacs | egrep 'term|curses' -lterminfo.1 => /usr/lib/libterminfo.so.1 Disabling the test above results in src/emacs being linked with ncurses. That is, when I remove the whole "netbsd" special case from configure this is the result: $ ldd ~/emacs/bin/emacs | egrep 'term|curses' -lncurses.6 => /usr/pkg/lib/libncurses.so.6 > As I don't have access to a netbsd system, could you please post the > config.log you get when configuring with a fresh tree of > emacs-29.0.92, and also show the "set -x" expansion of the relevant > parts of the configure script? (Please compress those when posting if > they are larger than, say, 0.5MB.) I would like to use those to > understand what happens on your system and why the configure script > decides to use terminfo. These are attached. After some further investigation, it turns out that in NetBSD 9.3, libtermcap is a symlink to libterminfo. So the configure test ends up forcing -ltermcap and TERMINFO=no because LIBS_TERMCAP=-lncurses (so != -lterminfo), which actually links with libterminfo due to the symlink. So with current NetBSD, I don't think the test as it stands could ever do anything useful, since there is only terminfo and apparently a termcap-like compatibility wrapper around terminfo. Looking at a git mirror of NetBSD system sources, this seems to have been the case since at least 2010. > Also, do you happen to know when terminfo on NetBSD started to be > buggy? I would think that the change in bug#6190 did work at the > time, so at least back then NetBSD did have a workable terminfo. When > did it start failing? I have a build of emacs 27.0.91 on another system built with a similar environment (ncurses should be available but emacs is linked with libterminfo) and it also aborts in tparam1 with TERM=xterm-256color, so looks like this has been happening for quite a while. -Valtteri --nx2dlk5w5ftiziok Content-Type: application/gzip Content-Disposition: attachment; filename="config.log.gz" Content-Transfer-Encoding: base64 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 z5mZ8MhIbai1zmY5Z2doSoM0DEfOGTWsIzry/NtYMRk5FbFYAx0pT1AngWFcahmIMt7nCsIF RiWceo7DpVVOX2A8Mmzm77uMxJL9JhaoNFEsn5xYsmG8hw3LsUBYDJcdQ+mDhpMpH3icBI+T 4HESPE6Cx0nwOAkeJ8HjJHicBI+T4HESPE6Cx0nwOAkeJ8HjJHicBI+T3PdxktT6r1RieDJs GR8+wIKxd6xaMT7vvleltkFSPu4oCcxKb58cMRPtfE9l6b7/fHRYyT8GE307uaK+b1uUGO4t szMIfybANRzmSws9fmFN6BGDnX+BPNGFMiV+ZIVcBJSYQ8MnPWoak4BBIEIysgdD+NcIzSEJ h3R6sIVXxM7CsEai4r2J7YS2C7VaLKdL7DAghj+YjCjUM2/+2ps4FglC23GIMR47t9Me8LZn /uTNNz/knNmJyUjlXnz6plVtZp6+aTVquc5t9lPfdsS4bKuJWJCn5+CeDuWDOLmz5QQd3ejo Rkc3OrrR0Y2ObnR0o6MbHd3o6EZHNzq60dGNjm50dKOjGx3d6OhGRzc6uu/D0d3KvGaqUtZ0 +RzI1GsJM1PMXNeyK2pkwcHFQ2tRRjy09hUeNtBajW12FLZvhDA34vcD5qO0TY49EkxA5rk7 HEYwOpHm+bcbiZvV5gV+TDwR8C/xtYLR2HYM/oACzMSR7RohtUqyGKATHJ3g6ARHJzg6wdEJ jk5wdIKjExyd4OgERyc4OsHRCY5OcHSCoxMcneDoBK8s++hBEFrwKXrk4FubZRP8PyyVJDPb XpwXKrb7ciHuG5JKOXYvt1jkOEoX8213kFNs7lUSC9puyHyuQT6h3Okkd88NFxLaUVOa297c J5UqehtsLSR25uySy7LHJ3KKTt1dYkGwE6GrUjGVt1Zyv2a48rWKHBNwJzdbATWZZzflz+e5 0Z//Vfz5uuzPTw3Vkk79VKksz/7y7n0uFejeR/c+uvfRvY/ufXTvo3sf3fvo3kf3Prr30b2P 7n1076N7H9376N5H9z6690XmHe0cHHb5agE7+E/o+UfP/5qef8mlK7lnV3T/920npD56/x+/ 9386Uis5/6eF8nz/6PpH1z+6/tH1j65/dP2j6x9d/+j6R9c/uv7R9Y+uf3T9o+sfXf/o+kfX P7r+0fWPrv9H4PqfO3SX9vzrmnwZUBxBID++I5VSvVRJlWgu/9JyuqZ1X1pO11PYODXMS2NA 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 KbJRnL3bxZdH9rt8zSYjcjHCw/yWQup60Q0YPQcKK8+oJDwJjW/Uv1Dj8D2uYj94FEXIXzIa BYsr5NLiNc7qQzrGJOmyi7Sii5TXvH8uLKlzq15tfyoukvNr5HiE2r5WKu6kncpUOSlSq1q7 v6jRNFeFnaQKf6H75VHR+N8KJkW1WVxy/lIxO7t652El+XOlaPwb9cAWdadfymnHvjTf51P9 XtMkg8joqBmKFsWXqKmRQXH9EBWp9Oohex6mXaOXf6pq3zxWE7Vb+USVlQg/iv9cnsJUc+l1 Cs+2KKDqFGXYbdY5RWkaxkDjsyOb2tg8p+VJ8370nSs/yKOjYjat4U38jUTpqz4fmka7n5mu u26nW3LkkZrOUwSenlfj38ROTq+zk8/XeBtpNputdUbO5qE3nVZT3MBMlV5jpjpfa2a7Vecf J5AOLQvYQQ67m5HOdJcShqZdcjvTbHaNm9ndNfR292+Yb1+fbyt15/Nvdu1SMUpnbHNNH2v3 +6U+ZvO3ecXe3x52blSNKr3Gso7RzizTXLfT6pRvgJjNrEa7gXkqvc68a+Yb7+omnru5HeV4 bdA4KOz6NmwetNrprm/yYkH3ipzwAdUJv0UQY0mFlqKx3aAl8nvp3lMDfzL93Epqgx/VQv/5 uaak2CkOnmngmQaeaeCZBp5p4JkGnmngmQaeaeCZBp5p4JkGnmngmQaeaeCZBp5p4JkGnmng mQaeaeCZBp5p4JkGnmngmQaeaeCZBp5p4JkGnmngmQaeaf4Qnml0nefkJf//99evNNWzLuDb lyev43dAtQ5vUoL0M623mOhDqV/a7uw83VcuffK7XshgZZZmR4yX8SmGLVcLyb5wMpq+dKlc nNQVQt3OebWs0Qfxp6p87pIt9iL2qA5D67baJdLrzHNoPKZHIl14ZIbe3LZK2JdKcwPsS6XX YF/XzXdj7Ms4aPdugn1pq2YNA7YGCMvqAEAYgDAAYQDCAIQBCAMQBiAMQBiAMABhAMIAhAEI AxAGIAxAGIAwAGEAwgCEAQgDEAYgDEAYgDAAYQDCAIQBCAMQBiAMQBiAMABh9UCYZmCMJ4zr UDE9JHYFbKuWFboWw6VwoVqGq2NUvXWdmu7EkX4Z3eoYt41YNTPPWo28HQ2ap0yk5dAgP6Gn q+0Hodp7R20uYwdpvvQMntgTsfKWYi5NukxgjuJMGl8Xgax89mUK6+d/ZZ9iSJafznTXCyUV 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 aTAjG5pOgvRmlzoQrzwRLK1TMeX1G5kxsX2qdc9f3cvdElmCr+7pfd7SNecL24kc9PIiw3bN UE72qmUBvwt+F/wu+F3wu+B3we+C3wW/C34X/C74XfC74HfB74LfBb8Lfhf8Lvhd8Lvgd8Hv gt8Fvwt+F/wu+F3wu+B3we+C3wW/C34X/C74XfC74Hf/6/jdmnU5PSmSF2RrCN+E5gvCCQVF gGtMx+aRMT4r8pFtL46bALClRAonq6Six+/aZBFrVk5Gk+nZmmQZiFZMSFPwcLWQwXpDFadW LZ4bXmrosd7StdfLMLZS0lWwf6mxKR9XTcto7pqkCSFXTLh0bSpqJZkO8KwQmzXsbt8os7vU 5L7pr7jzhabt8mmL11a0zg9Dey6Lydudu8HyOpMDsR/OF/v7lvV3+fTxS3vPO6Cay5zk/qPq JHdrL5QX4QPjwtw+EDSH58LmDmgKLX3pWlKEXLr5gib3Y9uxw1WxRrZ4CZc0Ap+gBuAkM+lK 3wwlpfWZx80yrNahBj3udzv5ZlMzs38ubV9OitF65RZMjfNLvLKKetda6+2vw7dH336a1qIK uWlj9Woaq9ep58T7faOuiap3VN+4e2106pyf/POv/zl3VF8P86vz9Y3U0zZSoG2k3t1rJGvu 2HPzEzRS8JEaqVfTSL01jTSsNJK3WI1Y9zDyTXdWvMSgObg7SpONHbd3Dpr91HF7o1S+hli6 E2k5Jj0GxNbU9qlEy0Byk4endpBmvV320f6oXFMaL+55LUgkB6mY5XqhJONM6zRviD2RbmhP bekLssGXC89nZ/Oe66zoB/UkbimVKC26HQpzsZD8xsh2q60GgQkEJhCYQGACgQkEJhCYQGAC gQkEJhCYQGACgQkEJhCYQGACgQkEJhCYQGACgQkEJhCYQGACgQkEJhCYQGACgQkEJhCYQGAC gQkEJhCYQGACgQkEJhCYVAQmaaHosfD8m9HhY3pCPD+kp9DfaQT99kjzpDjkKlEvvnTvctNQ Nqwu+FgTnBjAY4h6R/T45aYKmLwaYo139YDdntNyZOsLZg9p5UYRd4Q3ndK5L3ZE8a8o7g6t G2gV4EqVyaUcZTFKPPHni4ktg5YL+f+3xV9Es9Vf63b9Q9Ez+aA1qFVvDFvdEg5L/XK1kGIu 52OGMd3MFbigJ+2y5Ip92OnePVfsyigNGDzsrgGDh/28CuL8VNKk0xf7+8yjTqifUElCMfW9 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 mk5yPV1ETUVvIIto1e/+0G+3qts2zBfVOHdNDnDqjp+Nlx9tKwQudKNaamgAoAGABgAaAGgA oAGABgAaAGgAoAGABgAaAGgAoAGABgAaAGgAoAGABgAaAGgAoAGABgAaAGgAoAGABgAaAGgA oAGABgAaAGgAoAGABgAaAGgAoAGABgAaAGgAoAH4uBoARa5ec2METvqRN0NQ1uQ2QFAw8Sfe 9EDZcPWNDgqm/ldtbpBU2H/LhgaqvNpNDOI+cM2NC3L1uAGVz3x5LZU/qFL5VuhUI9257QnY KN32BHy+bnuCQTu/N8P5KTU5jQ+BPXNNqj11fywC6Ui6zTkZNXjA3UtNX4oZdZt3r0qUUZoq GfTW7Ngw6LU1VZLUwkSG9CugDnlGnX0ippNi6mGzezfq4YGQZKFofE4jaM6Wz01rJC8kjUni 8+g9Cv0+OoqP4tcnWb5RdIpLT+hjlXGDct6sfLdSODKhWt+aJlbn9/aTPNLqyE5lNcFFykXd KPtWv74HDXt9XQ8qvV3mETN68Oba6ugo1xxZBaSV/jR3snjNYbvWoGGr19EYxNY4tvs+d7uT TZbn+9TDi+kH7bhTW/V9OddcpUaK0ldrcdgaNtcYPWyvM/qUnkL82jD06RmnHlOOGZwm5jur Ql7ttoG78tPdlVF9axpcnb/xXVmffadV35/a3cG6/hT6NCcy6VJxBkFdVxp20JU+ZVfi+ta1 NZ//CF2pJvuO0avvSp1ea01XMsPLR9TOoHmjEVWl15k9GNab3e10SnPbc89Xx74cWd58YTty tDBDXq4UEg66Q/T5T9DnY92seJ7T1Taqutp2r3vQoXmJWvke0PrM882ZpE73q5qwN3w5kxcN 6npuIxTqm717Iv9hNbNt0S9/STNaP23z0Xg5naqOTOkfFtNc9vn5X/QpGjk8aLfXGhmstTEx jiLaAZnHA/Ms2MCsn8uW0C3epA58bvoudfYDtWC2LTuMX6yoL1TZpqzO6bKMMAQrNzSpJn/c fZuk2U0i7eYSv9MZVchDbH2vOLeTx38bsexXfBDfM+jMcrPjE/5+7kThhs9fPb1XV7vJp1y2 diet5UbxKg2lulYvjyZia2r71K2jtyLxC4W4LNu3bf+64mjL43qhpFKZ1mm+CPZEuqE9tamP 2twdFp4f0mnPdVb0w5JqTFOJ0qakVjYXC8lfG9tu+Uq8PMzVnLY4d7UOL6nUuurt0o1ZKPTz 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 YtGdsB29ODqXydukc5MCli5NzuP8sw0ja6i7qVSb19Dg+JoRpnM7kHTbLhc824j2WPjn0j7j G4MqQb2Cl4HerDk1rD1ehTwxc+L5S7Cajz2awUR1Ge9USVU69mlW5gp5YcmF5r0hvxeP50Fc VZnYLEZLJ7vRylvUzDbjYWEraR5eCybn0srVddAPH8S6tAEf0KnLx8868C7+8jOKnk50L9nF cjjoN+t2sRwOu+3STj/U8NQ3nL3TarwbbEOk0mu2IVLn67YhGvaamt2T7GDsmO776IVy5A+5 muoyU9fa2tNvmaTO19rKU/nidqD2rEVTlmqsu7A/kjM5EPvhfLG/b1nH/+vbxvGed8BvolIX 7P+obie0tRfKi/CBcWFuHyhv1BFhnk6/eJj7R1zsRrXcVdfQcPkMl89w+QyXz3D5DJfPcPkM l89w+QyXz3D5DJfPcPkMl89w+QyXz3D5DJfPcPkMl89w+QyXz3D5DJfPcPkMl89w+QyXz3D5 DJfPcPkMl89w+QyXz3D5DJfPcPkMl89w+QyXz3D5DJfPH93lc1qx3z/99inPAQ5fvHlSw6XF cegh/+3TET2Sj8uvV1hLouRCtCoLldabe0DlbClFJjJKYqdnijHLMp84eum0Ps3UDMK5uSin iU+XLVJ6mNQa/ksXY9Qqxhm1irEi7xNxFPWHJjzLJP6zWjs5R8NZBaUnq+XNF7IYytLMJJSP C6GzXNpZJe0sl3ZWTau8DqXB/EcxXGlO4mA+1nw9RNNabZ9XA12ed6l1U04BT+IXdhGnLRIv y65nLb0le8X1bdMNdxgGV34oM1fkCW8fJIljXe8zFnpEbl52xHdHu2/oOdi0tQlnMuTbyptO zNS/WvoKMbYotWWUIPRK6MC+olfUnnP2u8yqYbI8HVWDcDkWtFb1vUjweuot5HTpOCsxlecM mIdeuFrIIPa5d35qU7+zTFdVkcMLFyWhUe++Eju2th+KsXS888TQgpv3vIP2zxQML8rmvj6j ZrYpsumumAbkV3N0+5lOZlDqipobIfJLFVnIjqyVNWNpmUvWT7mJc+F56lw4fiGlMvKmwuSL RMnZoXZILch1wWt1QbamLj1yl4+kNUFoO44wFwsna5TI3/RoZC2cZcD/6KS8UKPK/cP7eZFK udKiwrOzC6bmD1lR4pv+Km6sSEqkXk8mWoMgbg+WJaWKo1j6wvUTCX8y915PX72m8ZssVb7D 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 4Dsn+BxmoO78fyska42ZPhMA --nx2dlk5w5ftiziok Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="config.x" + printf '%s\n' 'configure:22791: checking for library containing tputs' >&5 + printf '%s' 'checking for library containing tputs... ' >&6 checking for library containing tputs... + test + as_fn_nop + return 1 + test netbsd = mingw32 + tputs_libraries='tinfo ncurses terminfo curses termcap tinfow ncursesw' + for tputs_library='' + OLIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test -z '' + emacs_cv_tputs_lib='none required' + test no = yes + as_fn_nop + return 1 + cat confdefs.h - <<... >conftest.c + ac_fn_c_try_run 22845 + as_lineno=22845 as_lineno_stack=as_lineno_stack= + using redirections: >&5 do { + ac_try='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + ac_try_echo='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + eval 'ac_try_echo="$as_me:22845: $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 "' + ac_try_echo='configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + printf '%s\n' 'configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + } done + using redirections: 2>&5 do subshell ( + ) done subshell + ac_status=1 + printf '%s\n' 'configure:22845: $? = 1' >&5 + test 1 = 0 + as_fn_nop + return 1 + printf '%s\n' 'configure: program exited with status 1' >&5 + printf '%s\n' 'configure: failed program was:' >&5 + sed 's/^/| /' conftest.c >&5 + ac_retval=1 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval as_lineno_stack= + as_lineno_stack='' + unset as_lineno + as_fn_set_status 1 + return 1 + as_fn_nop + return 1 + emacs_cv_tputs_lib=no + rm -f core '*.core' 'core.conftest.*' gmon.out bb.out conftest conftest.o conftest.beam conftest.c + LIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test Xno '!=' Xno + for tputs_library=tinfo + OLIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test -z tinfo + emacs_cv_tputs_lib=-ltinfo + LIBS='-ltinfo -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test no = yes + as_fn_nop + return 1 + cat confdefs.h - <<... >conftest.c + ac_fn_c_try_run 22845 + as_lineno=22845 as_lineno_stack=as_lineno_stack= + using redirections: >&5 do { + ac_try='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + ac_try_echo='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + eval 'ac_try_echo="$as_me:22845: $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 "' + ac_try_echo='configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -ltinfo -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + printf '%s\n' 'configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -ltinfo -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + } done + using redirections: 2>&5 do subshell ( + ) done subshell + ac_status=1 + printf '%s\n' 'configure:22845: $? = 1' >&5 + test 1 = 0 + as_fn_nop + return 1 + printf '%s\n' 'configure: program exited with status 1' >&5 + printf '%s\n' 'configure: failed program was:' >&5 + sed 's/^/| /' conftest.c >&5 + ac_retval=1 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval as_lineno_stack= + as_lineno_stack='' + unset as_lineno + as_fn_set_status 1 + return 1 + as_fn_nop + return 1 + emacs_cv_tputs_lib=no + rm -f core '*.core' 'core.conftest.*' gmon.out bb.out conftest conftest.o conftest.beam conftest.c + LIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test Xno '!=' Xno + for tputs_library=ncurses + OLIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test -z ncurses + emacs_cv_tputs_lib=-lncurses + LIBS='-lncurses -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test no = yes + as_fn_nop + return 1 + cat confdefs.h - <<... >conftest.c + ac_fn_c_try_run 22845 + as_lineno=22845 as_lineno_stack=as_lineno_stack= + using redirections: >&5 do { + ac_try='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + ac_try_echo='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 ' + eval 'ac_try_echo="$as_me:22845: $CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5 "' + ac_try_echo='configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -lncurses -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + printf '%s\n' 'configure:22845: gcc -o conftest -isystem /usr/X11R7/include -I/usr/pkg/include -O -isystem /usr/pkg/include -D_REENTRANT -isystem /usr/pkg/include/cairo -isystem /usr/pkg/include -isystem /usr/pkg/include/freetype2 -isystem /usr/pkg/include -isystem /usr/pkg/include/libpng16 -isystem /usr/X11R7/include/pixman-1 -isystem /usr/X11R7/include -isystem /usr/X11R7/include -L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib -L/usr/X11R7/lib conftest.c -lncurses -lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo >&5 ' + } done + using redirections: 2>&5 do subshell ( + ) done subshell + ac_status=0 + printf '%s\n' 'configure:22845: $? = 0' >&5 + test 0 = 0 + ac_try='./conftest$ac_exeext' + using redirections: >&5 do { + ac_try_echo='./conftest$ac_exeext' + eval 'ac_try_echo="$as_me:22845: ./conftest$ac_exeext"' + ac_try_echo='configure:22845: ./conftest' + printf '%s\n' 'configure:22845: ./conftest' + } done + using redirections: 2>&5 do subshell ( + ) done subshell + ac_status=0 + printf '%s\n' 'configure:22845: $? = 0' >&5 + test 0 = 0 + ':' + ac_retval=0 + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval as_lineno_stack= + as_lineno_stack='' + unset as_lineno + as_fn_set_status 0 + return 0 + ':' + rm -f core '*.core' 'core.conftest.*' gmon.out bb.out conftest conftest.o conftest.beam conftest.c + LIBS='-lsqlite3 -lX11 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -lcairo' + test X-lncurses '!=' Xno + break + printf '%s\n' 'configure:22862: result: -lncurses' >&5 + printf '%s\n' -lncurses >&6 -lncurses + ':' + LIBS_TERMCAP=-lncurses + TERMINFO=yes + test x-lncurses '!=' x-lterminfo + TERMINFO=no + LIBS_TERMCAP=-ltermcap + TERMCAP_OBJ=tparam.o + test no = yes + test X-ltermcap = X-lncurses --nx2dlk5w5ftiziok-- From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 13:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Valtteri Vuorikoski Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168916875529150 (code B ref 64577); Wed, 12 Jul 2023 13:33:02 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 13:32:35 +0000 Received: from localhost ([127.0.0.1]:51940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJZxK-0007a5-PS for submit@debbugs.gnu.org; Wed, 12 Jul 2023 09:32:35 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54766) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJZxH-0007Zp-W7 for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 09:32:33 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJZxC-0006B6-1I; Wed, 12 Jul 2023 09:32:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=vJFT++9vSLYbxhIBIvby3Ft981jQ3J6JNx4QuaGzS7c=; b=BDwoFa8JwkoC rml4ZEeYUNWtxzLJQ/JWZpDPeTlYhWDOUhWmaymsW+h7g1u7juwsyYKomIy43LrIdKHjOr070PTFn c1cD+AGV69rXvOIUXfGFLWODXcP6gK/WAqIkeQQI3Zeohr3yb/L31brjoIOif+sqdP9Tm+zm/lbfY rZlUg7VBYdBAf+/IW5e3xGKWY1lg9txrDp6kKAvE1N9vGuRFUOUzDouCv2nDWgBdF8ig3k/Mk0wAI xJo/mMlbvCl/Y217P03YAMrfkOHpvs6bxWa3X4tnEEtree4Q4DPkutt2v2nCdM9sIgOVvi3m5hyhV a9Io1B8+pbU1mV9GkSNbag==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJZxB-0000EC-Gv; Wed, 12 Jul 2023 09:32:25 -0400 Date: Wed, 12 Jul 2023 16:32:39 +0300 Message-Id: <83zg415k7c.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Valtteri Vuorikoski on Wed, 12 Jul 2023 15:57:29 +0300) References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 12 Jul 2023 15:57:29 +0300 > From: Valtteri Vuorikoski > Cc: 64577@debbugs.gnu.org > > > netbsd) > > if test "x$LIBS_TERMCAP" != "x-lterminfo"; then > > TERMINFO=no > > LIBS_TERMCAP="-ltermcap" > > fi > > > > should have set TERMINFO=no, which disables linking against terminfo. > > > > So I don't think I understand what is going on there. > > Finding ncurses is good, but unfortunately ncurses isn't what ends up > getting used. configure says: > > checking for library containing tputs... -lncurses > > but this happens: > > $ ldd src/emacs | egrep 'term|curses' > -lterminfo.1 => /usr/lib/libterminfo.so.1 > > Disabling the test above results in src/emacs being linked with > ncurses. That is, when I remove the whole "netbsd" special case > from configure this is the result: > > $ ldd ~/emacs/bin/emacs | egrep 'term|curses' > -lncurses.6 => /usr/pkg/lib/libncurses.so.6 So does the patch below fix the issue? 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 From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Valtteri Vuorikoski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 14:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.16891707791033 (code B ref 64577); Wed, 12 Jul 2023 14:07:01 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 14:06:19 +0000 Received: from localhost ([127.0.0.1]:52706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJaTy-0000Gb-TC for submit@debbugs.gnu.org; Wed, 12 Jul 2023 10:06:19 -0400 Received: from jkusti.notcom.org ([118.27.113.153]:51320) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJaTx-0000GQ-8d for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 10:06:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=jk; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject: Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=jfORO6qb5SEeAari2gN9ZD2Il8XmT4Dh4Bpi3AsNRWY=; t=1689170777; x=1690034777; b=S+rmvTpWvh1xJVhunhTxE2WkdCXCoRGOJMXxDTdgthLjr6Anpz4FRUEf+IoW6WQD68p/iyDg+oz AeD3pqkHFFhpw1QnlO/kQi76+v36eUdQOBbVJAHtHP7yPNGw40emBvSNEripdYJZylx92s1Xmff/1 hZwxpoAXBnFYZrlzxR0ZX6SmleOgqbvErjSFF7CIzjWHi1yruR2LQnnPRLpoh5JGAWhHscVzswl8A lgDK11QqhnKQbcD1fQ/jz7vuMYlpBgmlXlF9C+TPxBzFRWas/8ARGorW661osz6BKqOrWnr9WEU2c NQSN4/jJyMIKO5Lp4geOs8lo+Wft9F5RVfpA==; Received: from submission.internal (id=9cdceae8c7b5bf2d4c2c643b5341fa4197f0c084) by jkusti.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJaTs-0032Kn-Ah; Wed, 12 Jul 2023 14:06:12 +0000 Received: from a10d750d756b015054aa81d63d047a232e64e839 by sendhost.internal with local (Exim 4.x) (envelope-from ) id 1qJaTo-0051ob-PW; Wed, 12 Jul 2023 17:06:08 +0300 Date: Wed, 12 Jul 2023 17:06:08 +0300 From: Valtteri Vuorikoski Message-ID: References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83zg415k7c.fsf@gnu.org> User-Agent: NeoMutt/20230517-193-0143df-dirty X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, Jul 12, 2023 at 04:32:39PM +0300, Eli Zaretskii wrote: > So does the patch below fix the issue? > > 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. I tried out the following patch and it turns out that the thing that causes tparam1 aborts is actually TERMINFO=no: --- a/configure.ac +++ b/configure.ac @@ -5184,7 +5184,7 @@ AC_DEFUN ## option to use it. darwin) LIBS_TERMCAP="-lncurses" ;; - gnu*) test -z "$LIBS_TERMCAP" && LIBS_TERMCAP="-lncurses" ;; + gnu*|netbsd) test -z "$LIBS_TERMCAP" && LIBS_TERMCAP="-lncurses" ;; freebsd) AC_MSG_CHECKING([whether FreeBSD is new enough to use terminfo]) @@ -5211,13 +5211,6 @@ AC_DEFUN LIBS_TERMCAP= ;; - netbsd) - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then - TERMINFO=no - LIBS_TERMCAP="-ltermcap" - fi - ;; - openbsd | dragonfly) LIBS_TERMCAP="-lncurses" ;; ## hpux: Make sure we get select from libc rather than from libcurses Without ncurses installed, this produces emacs linked with libterminfo that no longer crashes with TERM=xterm-256color on NetBSD 9.3 and shows 256 colors. With ncurses installed, libncurses is used and the result is equally functional. Seems like pure win to me. 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. -Valtteri From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 16:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Valtteri Vuorikoski Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168917801214145 (code B ref 64577); Wed, 12 Jul 2023 16:07:01 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 16:06:52 +0000 Received: from localhost ([127.0.0.1]:52836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJcMe-0003g5-3p for submit@debbugs.gnu.org; Wed, 12 Jul 2023 12:06:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41632) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJcMc-0003fk-GW for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 12:06:51 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJcMW-0005wj-4q; Wed, 12 Jul 2023 12:06:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=i96LkXqsHQtcrt+WH8GtZ2sbBgLxpAoYEKN06Z9knT4=; b=OLuXbvXkdvpM X+GRYf5uYHeAThKURGiiJRq0AD93qbYG93rz65AuOpDGRRZ81fe8cArkqgg4XzsRyNyX145iv4pGt +IR4u0n5q7lvEaHZScyfkYC8gy0nlkxFThT7CwKHA+Ib9NXGltqoodX/8Cm+jcWJ8CeC6CDBOR9j6 +dOl9ubA7M0SRXS0oNvKJ4mVQgw9UEzjGNozggawKOTP0ZRdwRhwcuJ8CPU/EcK8jbZRKF8dLngDX 1IczZZ/iCBzzsn84+VhHAAqwQxHXiVdZqYpxrTnltzjOYrJFHDeajufQ/eZXwOzwInAWGS1Id6HAk INZIC7+0J9D5phle7SIEdQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJcMF-00019j-Fh; Wed, 12 Jul 2023 12:06:39 -0400 Date: Wed, 12 Jul 2023 19:06:42 +0300 Message-Id: <83wmz55d2l.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Valtteri Vuorikoski on Wed, 12 Jul 2023 17:06:08 +0300) References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 12 Jul 2023 17:06:08 +0300 > From: Valtteri Vuorikoski > Cc: 64577@debbugs.gnu.org > > > 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? From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Valtteri Vuorikoski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Jul 2023 20:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168919335420369 (code B ref 64577); Wed, 12 Jul 2023 20:23:01 +0000 Received: (at 64577) by debbugs.gnu.org; 12 Jul 2023 20:22:34 +0000 Received: from localhost ([127.0.0.1]:53020 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJgM5-0005IS-FJ for submit@debbugs.gnu.org; Wed, 12 Jul 2023 16:22:33 -0400 Received: from jkusti.notcom.org ([118.27.113.153]:35390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJgM2-0005IH-1E for 64577@debbugs.gnu.org; Wed, 12 Jul 2023 16:22:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=jk; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject: Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=udZHtUL4u7FYSxJgfHPWwyQWTDD9zixIp/mWFx6eP1Q=; t=1689193350; x=1690057350; b=FCQ/ds1iaXRJMQ3Qhc0eBqsxrPQavoWKXSWBppBO7ulzsq6KsouZYGhVUeVLC0lvRdkrMoC4wtL sZ61YNO620l2JuJfK4kivsNFzhTuITiI0TGNVJp3CSCKjjwWIOsr8w8FZwB9dIgrvUvxKPAg63yb6 lHoLlo8sjk691XGcQLOXFWx2Ov0fKpVpzCBiHP9LJ8XdT7ZIoVog6JJudAV+7WUbL278LFWD1Q+SH lU+5rtEtK83fQAEvZYn/PX9u9HdzKCbD/ks/Pb3OBIZECtgFLdJ+JXi+MKmmlAPKZTHrBZm5ue2fG 0K6PoyIgOPH/G+RORUIoy1vRf5EGNpSsGaVQ==; Received: from submission.internal (id=9cdceae8c7b5bf2d4c2c643b5341fa4197f0c084) by jkusti.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJgLz-0032ej-CE; Wed, 12 Jul 2023 20:22:27 +0000 Received: from a10d750d756b015054aa81d63d047a232e64e839 by sendhost.internal with local (Exim 4.x) (envelope-from ) id 1qJgLo-00554F-IM; Wed, 12 Jul 2023 23:22:16 +0300 Date: Wed, 12 Jul 2023 23:22:16 +0300 From: Valtteri Vuorikoski Message-ID: References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> <83wmz55d2l.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83wmz55d2l.fsf@gnu.org> User-Agent: NeoMutt/20230517-193-0143df-dirty X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, Jul 12, 2023 at 07:06:42PM +0300, Eli Zaretskii wrote: > > 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. Can't say I'm happy about keeping the magical special case, which will result in a different thing happening than what configure prints out. But at least ncurses-having users will win and the ncurses-preferring logic will mostly bring things in line with other BSDs. The reason not much has been heard about this is probably that most users likely use packaged emacs, and the pkgsrc build system forcibly sets TERMINFO=yes if it determines that this is a NetBSD with the relevant headers available. See this package build makefile: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/editors/emacs21/Makefile.common?rev=1.21&content-type=text/x-cvsweb-markup "CPPFLAGS+=-DTERMINFO" (similarly check exists for emacsen up to 28). > 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. Looks like removing the TERMINFO=no line inside the if clause has the same result as unconditionally using -lterminfo, which is to say that emacs is linked with libterminfo, uses terminfo (and not the termcap compatibility wrappers) and hence doesn't abort itself. This seems to be what effectively happens in pkgsrc-packaged emacs: TERMINFO=no is overridden and things largely proceed as if the configure special case logic didn't exist, modulo the fact that libterminfo is always used in preference to ncurses. How about this then, this way should preserve the intent of the original special casing while honoring the library selection configure ended up with: --- a/configure.ac +++ b/configure.ac @@ -5212,9 +5212,8 @@ AC_DEFUN ;; netbsd) - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then + if test "x$LIBS_TERMCAP" = "x-ltermcap"; then TERMINFO=no - LIBS_TERMCAP="-ltermcap" fi ;; On ancient NetBSD (without ncurses) LIBS_TERMCAP should be detected as -ltermcap, and this will ensure that TERMINFO stays undefined (probably a no-op). On a newer system where someone actually wants to use termcap and forces LIBS_TERMCAP, this will make sure that TERMINFO is "no" even though libtermcap is a symlink to libterminfo (= only the termcap compatibility functions will be used and terminfo stuff will be ignored even though configure sees tputs() and friends). The end result should be the same binary as pkgsrc packaging has provided for years, except that on a system with ncurses installed it will be used. > > 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? Not really. With the netbsd = gnu* version, users with NetBSD versions released in last ~10 years i.e. most NetBSD users get a good experience out of the box regardless of whether ncurses is installed, and users of ancient versions _might_ have problems without ncurses. With the LIBS_TERMCAP!=-lncurses version, everyone without ncurses gets a bad experience, assuming TERMINFO=no isn't removed. -Valtteri From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jul 2023 05:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Valtteri Vuorikoski Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168922555523636 (code B ref 64577); Thu, 13 Jul 2023 05:20:01 +0000 Received: (at 64577) by debbugs.gnu.org; 13 Jul 2023 05:19:15 +0000 Received: from localhost ([127.0.0.1]:53173 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJojT-000699-BN for submit@debbugs.gnu.org; Thu, 13 Jul 2023 01:19:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51280) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJojQ-00068u-Sn for 64577@debbugs.gnu.org; Thu, 13 Jul 2023 01:19:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJojK-0007vX-Dm; Thu, 13 Jul 2023 01:19:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=70emL9Xnw8Ksq5Bh7TBctlk/mZtj6OV1vAxSWPzaStE=; b=P9SEgKEcjJpG SWaXmew36LwgHATr60cHNLRDJoLzOFarWOTLKTUyMkOIHwFKOgFowfBbZyEpRPXsdIf/wVdnaV+I5 JpFc+2O1MvAaSE+tEccgPNR7KwenEDGIzmHKHd+M+xRGifP2ASXW+e55Zo/+fnaI1k0q+il/NawQS 3W7slDdpSE7nwu/2uiOgHWrSIonUIQ98sRE0b2jq7VcbRD7hvFNyK+vFxRpqBz9Wt9vYLtJaKw4pK DnewWxPQ969q1OSwP7ukNVHfEn0s+oL0cBi+gE2OapI/MmFlVDfYiObiv28T7mgai66PGFXRQj4Sw gfkRrixeTDjcKie6rVG/dQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJojJ-0006go-SN; Thu, 13 Jul 2023 01:19:06 -0400 Date: Thu, 13 Jul 2023 08:19:21 +0300 Message-Id: <83jzv45qxy.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Valtteri Vuorikoski on Wed, 12 Jul 2023 23:22:16 +0300) References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> <83wmz55d2l.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 12 Jul 2023 23:22:16 +0300 > From: Valtteri Vuorikoski > Cc: 64577@debbugs.gnu.org > > On Wed, Jul 12, 2023 at 07:06:42PM +0300, Eli Zaretskii wrote: > > > 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. > > Can't say I'm happy about keeping the magical special case, which will > result in a different thing happening than what configure prints out. That happens on other systems as well, look at the code around the netbsd case. The fact that the configure script says "ncurses" is not a promise that ncurses will be used, it's just a status report of that particular test. > The reason not much has been heard about this is probably that most > users likely use packaged emacs, and the pkgsrc build system forcibly sets > TERMINFO=yes if it determines that this is a NetBSD with the relevant > headers available. See this package build makefile: > http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/editors/emacs21/Makefile.common?rev=1.21&content-type=text/x-cvsweb-markup > "CPPFLAGS+=-DTERMINFO" (similarly check exists for emacsen up to 28). If you could find out since when did the NetBSD pkgsrc system start using this override, it could be a data point that we could consider in making these decisions. > How about this then, this way should preserve the intent of the > original special casing while honoring the library selection configure > ended up with: > > --- a/configure.ac > +++ b/configure.ac > @@ -5212,9 +5212,8 @@ AC_DEFUN > ;; > > netbsd) > - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then > + if test "x$LIBS_TERMCAP" = "x-ltermcap"; then > TERMINFO=no > - LIBS_TERMCAP="-ltermcap" > fi > ;; > > On ancient NetBSD (without ncurses) LIBS_TERMCAP should be detected as > -ltermcap, and this will ensure that TERMINFO stays undefined > (probably a no-op). On a newer system where someone actually wants to use > termcap and forces LIBS_TERMCAP, this will make sure that TERMINFO is > "no" even though libtermcap is a symlink to libterminfo (= only > the termcap compatibility functions will be used and terminfo stuff > will be ignored even though configure sees tputs() and friends). > > The end result should be the same binary as pkgsrc packaging has > provided for years, except that on a system with ncurses installed > it will be used. I don't mind installing the above instead of my proposal, thanks. From unknown Sun Jul 27 10:19:50 2025 X-Loop: help-debbugs@gnu.org Subject: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library Resent-From: Valtteri Vuorikoski Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jul 2023 09:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64577 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 64577@debbugs.gnu.org Received: via spool by 64577-submit@debbugs.gnu.org id=B64577.168924096618846 (code B ref 64577); Thu, 13 Jul 2023 09:37:02 +0000 Received: (at 64577) by debbugs.gnu.org; 13 Jul 2023 09:36:06 +0000 Received: from localhost ([127.0.0.1]:53418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJsk2-0004tt-DD for submit@debbugs.gnu.org; Thu, 13 Jul 2023 05:36:06 -0400 Received: from jkusti.notcom.org ([118.27.113.153]:43666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJsk0-0004tf-18 for 64577@debbugs.gnu.org; Thu, 13 Jul 2023 05:36:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=jk; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject: Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=09jGVrzjPyQE/OJ+Hf4tim1covumaEBTSyPBi3uxM/M=; t=1689240964; x=1690104964; b=fXG7HrXcAVRezYuJJfsaNyjZO6X6IYndOjZpYn3NLNH1wRXc9wjNrFxZbbBJKagYMrDHGrOqBaQ MAqN3rLzc/GniVoBiG3pF2xj9DcRrGNQUO1t2r3ljUNGKB5kPAB/lMm0jsjGtJz8C9L2BC3qVFk/Z KvgtZ9UKTsgYqwW1fFsL4PEaxSy8JRHDSKwFdENwmziPpE8PWzKD3+3uyakng76q7LtqMwwcAzZC1 obeMZJAIdGXOx1imuUF6PgQF9/IRSnfiXw0ZbsWs8Vzn/1hRlDCtFQ8NCd0W+FuwhVAqNzle67w5E H9HG2SOJGdudmwr0BqHmLwNIhGkdYKt0rFeg==; Received: from submission.internal (id=9cdceae8c7b5bf2d4c2c643b5341fa4197f0c084) by jkusti.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJsjw-0033YA-0B; Thu, 13 Jul 2023 09:36:00 +0000 Received: from a10d750d756b015054aa81d63d047a232e64e839 by sendhost.internal with local (Exim 4.x) (envelope-from ) id 1qJsjn-005CCj-RE; Thu, 13 Jul 2023 12:35:51 +0300 Date: Thu, 13 Jul 2023 12:35:51 +0300 From: Valtteri Vuorikoski Message-ID: <6ootbbstpbikcsxwcb2ek6lg3jbyxzgkdd25fwj2vmjpa77oiw@o5uqewt3upum> References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> <83wmz55d2l.fsf@gnu.org> <83jzv45qxy.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83jzv45qxy.fsf@gnu.org> User-Agent: NeoMutt/20230517-193-0143df-dirty X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, Jul 13, 2023 at 08:19:21AM +0300, Eli Zaretskii wrote: > > The reason not much has been heard about this is probably that most > > users likely use packaged emacs, and the pkgsrc build system forcibly sets > > TERMINFO=yes if it determines that this is a NetBSD with the relevant > > headers available. See this package build makefile: > > http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/editors/emacs21/Makefile.common?rev=1.21&content-type=text/x-cvsweb-markup > > "CPPFLAGS+=-DTERMINFO" (similarly check exists for emacsen up to 28). > > If you could find out since when did the NetBSD pkgsrc system start > using this override, it could be a data point that we could consider > in making these decisions. Looks like the TERMINFO override was installed in CVS version 1.7 in May 2010 for emacs21: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/editors/emacs21/Makefile.common?rev=1.7&content-type=text/x-cvsweb-markup According to the comments, NetBSD 6.0 released the same year was the first version to ship with libterminfo. From looking at the platform repo, the old termcap library was completely removed in this release and got replaced by the current libterminfo. > > How about this then, this way should preserve the intent of the > > original special casing while honoring the library selection configure > > ended up with: > > > > --- a/configure.ac > > +++ b/configure.ac > > @@ -5212,9 +5212,8 @@ AC_DEFUN > > ;; > > > > netbsd) > > - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then > > + if test "x$LIBS_TERMCAP" = "x-ltermcap"; then > > TERMINFO=no > > - LIBS_TERMCAP="-ltermcap" > > fi > > ;; > > > > On ancient NetBSD (without ncurses) LIBS_TERMCAP should be detected as > > -ltermcap, and this will ensure that TERMINFO stays undefined > > (probably a no-op). On a newer system where someone actually wants to use > > termcap and forces LIBS_TERMCAP, this will make sure that TERMINFO is > > "no" even though libtermcap is a symlink to libterminfo (= only > > the termcap compatibility functions will be used and terminfo stuff > > will be ignored even though configure sees tputs() and friends). > > > > The end result should be the same binary as pkgsrc packaging has > > provided for years, except that on a system with ncurses installed > > it will be used. > > I don't mind installing the above instead of my proposal, thanks. Great. I looked at NetBSD 5.1 sources and expanded the check somewhat: --- a/configure.ac +++ b/configure.ac @@ -5212,7 +5212,11 @@ AC_DEFUN ;; netbsd) - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then + # NetBSD versions prior to 6.0 lack native terminfo, but have a + # tputs() built on top of termcap in these libraries. Use native + # termcap instead in this case. NetBSD >= 6.0 has native terminfo + # implementation in -lterminfo. + if test "x$LIBS_TERMCAP" = "x-ltermcap" -o "x$LIBS_TERMCAP" = "x-lcurses"; then TERMINFO=no LIBS_TERMCAP="-ltermcap" fi On 5.1 and older (no ncurses installed), configure's scan through tputs_libraries matches either -ltermcap or -lcurses (both seem to include tputs() in 5.1, but situation may differ in older versions), but this will be termcap under the hood. Therefore force TERMINFO=no and also force -ltermcap (as before) to avoid pulling in curses unnecessarily. On 6.0 and newer (again no ncurses) the order of tputs_libraries should always cause -lterminfo to match first, so the branch will not be taken and TERMINFO stays enabled. Installing ncurses should now enable full terminfo support on any version. Tested on 9.3 with and without ncurses installed and the result is full functionality with TERM=xterm-256color. -Valtteri From unknown Sun Jul 27 10:19:50 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: vuori@notcom.org Subject: bug#64577: closed (Re: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library) Message-ID: References: <83sf9pd1x2.fsf@gnu.org> <87v8eqrxq8.fsf@notcom.org> X-Gnu-PR-Message: they-closed 64577 X-Gnu-PR-Package: emacs Reply-To: 64577@debbugs.gnu.org Date: Sat, 15 Jul 2023 08:18:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1689409082-8996-1" This is a multi-part message in MIME format... ------------=_1689409082-8996-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #64577: 29.0.92; configure on NetBSD forces unstable terminfo library which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 64577@debbugs.gnu.org. --=20 64577: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D64577 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1689409082-8996-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 64577-done) by debbugs.gnu.org; 15 Jul 2023 08:17:44 +0000 Received: from localhost ([127.0.0.1]:44052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKaTI-0002KX-1H for submit@debbugs.gnu.org; Sat, 15 Jul 2023 04:17:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKaTF-0002KK-G4 for 64577-done@debbugs.gnu.org; Sat, 15 Jul 2023 04:17:42 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qKaT4-0004eL-GF; Sat, 15 Jul 2023 04:17:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ZqKz6hNcRtg6w7KP0zcfEA1TidwXzsOuUWQVh4jiNIQ=; b=lO/y1EJgzJms qYBt/4bzcs0tvfwUrLWKQYE+9HqFjpxuwy1jPdlcahYr5TDusjm1fmjqSbUKJaJKLMsIaVz0OFbpT dvCzLSnc+XolmmUJEIqP918K81JCjYGGCn3W1uaJON/ii7V6dHJuzBk+g0miRWJRwpNOlILJAlTLk 8KL3fzSA9zO+plzX8SjZpAX2+EAzMtTCTwifq7VMY8IsB1GADCk6h8USLD5eVW3rrGaedS6/SJX3b gJsACRsVV9KlSmKiafmSw8/7WMf6uIhmvxA6XS9lmEtxyY3e059nyoElj4zMxw2jU2bWwBjjrvpKq duqwNfGbv06kTMMj679APA==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qKaSX-00012n-Nr; Sat, 15 Jul 2023 04:17:06 -0400 Date: Sat, 15 Jul 2023 11:17:13 +0300 Message-Id: <83sf9pd1x2.fsf@gnu.org> From: Eli Zaretskii To: Valtteri Vuorikoski In-Reply-To: <6ootbbstpbikcsxwcb2ek6lg3jbyxzgkdd25fwj2vmjpa77oiw@o5uqewt3upum> (message from Valtteri Vuorikoski on Thu, 13 Jul 2023 12:35:51 +0300) Subject: Re: bug#64577: 29.0.92; configure on NetBSD forces unstable terminfo library References: <87v8eqrxq8.fsf@notcom.org> <837cr572jt.fsf@gnu.org> <83zg415k7c.fsf@gnu.org> <83wmz55d2l.fsf@gnu.org> <83jzv45qxy.fsf@gnu.org> <6ootbbstpbikcsxwcb2ek6lg3jbyxzgkdd25fwj2vmjpa77oiw@o5uqewt3upum> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64577-done Cc: 64577-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Thu, 13 Jul 2023 12:35:51 +0300 > From: Valtteri Vuorikoski > Cc: 64577@debbugs.gnu.org > > > I don't mind installing the above instead of my proposal, thanks. > > Great. I looked at NetBSD 5.1 sources and expanded the check somewhat: > > --- a/configure.ac > +++ b/configure.ac > @@ -5212,7 +5212,11 @@ AC_DEFUN > ;; > > netbsd) > - if test "x$LIBS_TERMCAP" != "x-lterminfo"; then > + # NetBSD versions prior to 6.0 lack native terminfo, but have a > + # tputs() built on top of termcap in these libraries. Use native > + # termcap instead in this case. NetBSD >= 6.0 has native terminfo > + # implementation in -lterminfo. > + if test "x$LIBS_TERMCAP" = "x-ltermcap" -o "x$LIBS_TERMCAP" = "x-lcurses"; then > TERMINFO=no > LIBS_TERMCAP="-ltermcap" > fi > > On 5.1 and older (no ncurses installed), configure's scan through > tputs_libraries matches either -ltermcap or -lcurses (both seem to > include tputs() in 5.1, but situation may differ in older versions), > but this will be termcap under the hood. Therefore force TERMINFO=no > and also force -ltermcap (as before) to avoid pulling in curses > unnecessarily. > > On 6.0 and newer (again no ncurses) the order of tputs_libraries > should always cause -lterminfo to match first, so the branch will not > be taken and TERMINFO stays enabled. > > Installing ncurses should now enable full terminfo support on any > version. > > Tested on 9.3 with and without ncurses installed and the result is > full functionality with TERM=xterm-256color. Thanks, installed on the emacs-29 branch, and closing the bug. ------------=_1689409082-8996-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Jul 2023 20:37:35 +0000 Received: from localhost ([127.0.0.1]:51155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJK74-00050k-M4 for submit@debbugs.gnu.org; Tue, 11 Jul 2023 16:37:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:48784) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qJK73-00050c-1r for submit@debbugs.gnu.org; Tue, 11 Jul 2023 16:37:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJK72-0000L0-EW for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:32 -0400 Received: from uslohestin.notcom.org ([2604:180:2:2e8::2]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qJK70-0008F3-2n for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=notcom.org; s=usl; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From:Sender: Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=fllvTV5tRuwcZpVsC4vknq9BSj8SQpkm1yGGFq26uWI=; t=1689107843; x=1689971843; b=FX7qZPWSflif1J0wy0jz3dEV5vM2uA3tnnjaSUxleISzcTKMr+RcKnj2GfxQ2v8NBIlTSdL7sZs LfZ4+7DI0IgDHWAlFnbWPreav2sB4+0XFNDNpElgs+5+qgw6kZGgFbzK5CfPHIC5e8Iv7ix4e+3NC B8FubmJaPH9LkYMGJQrc+rxEDNinjfb0g6g8kWyuY9amnAINdjVBwCZGaIds+HESd0loA5S8eQP00 v/A6lLx0mF2mMXPIsLTQ8TUpN45cB1ME0ncdmpeVeMs1pzK6ynAljm2FNEckUZ81NaprWIZsALYVX 4WkKscXggXST2/Ut+TDM/bSB4hOh/tVbw2Ow==; Received: from submission.internal (id=312efe4a2b31e0bdf15d7a3617f56a5a569dba14) by uslohestin.notcom.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.x) (envelope-from ) id 1qJK6q-005THf-Iy for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 16:37:20 -0400 Received: from [10.0.40.33] (helo=netbsd.himad.notcom.org) by mkarpo.dyn.notcom.org with esmtp (Exim 4.94.2) (envelope-from ) id 1qJK6p-000P2V-Io for bug-gnu-emacs@gnu.org; Tue, 11 Jul 2023 20:37:19 +0000 Received: by netbsd.himad.notcom.org (Postfix, from userid 1000) id 1CAB11C9B99; Tue, 11 Jul 2023 20:37:19 +0000 (UTC) From: vuori@notcom.org To: bug-gnu-emacs@gnu.org Subject: 29.0.92; configure on NetBSD forces unstable terminfo library Date: Tue, 11 Jul 2023 20:37:19 +0000 Message-ID: <87v8eqrxq8.fsf@notcom.org> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2604:180:2:2e8::2; envelope-from=vuori@notcom.org; helo=uslohestin.notcom.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) configure on NetBSD forces using the native libterminfo library, even when ncurses is available. When started with a TERM such xterm-256color, this results in abort() in tputs1 (TERM=xterm works). Hacking configure to use ncurses when available provides stable operation on xterm-256color. The current special configure logic originates from this issue: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6190 . This check is probably not a good idea today. Either NetBSD should do a) what the other BSDs do (= force ncurses) or b) what gnu* does (use what configure found, otherwise force ncurses). My vote goes to b (possibly with a warning from configure if libterminfo is picked): keep it possible to build emacs without installing ncurses, but use ncurses for terminfo when available. To reproduce: 1. Compile Emacs 29 on NetBSD 9.3 (same logic is present on master, so I assume that won't work any better). 2. Note that configure prints "-lncurses" if ncurses is installed, but actually emacs is linked with libterminfo. 3. Run TERM=xterm-256color emacs -nw. You should get an abort in tputs1. In GNU Emacs 29.0.92 (build 4, x86_64-unknown-netbsd9.3, X toolkit, cairo version 1.16.0) of 2023-07-10 built on netbsd Repository revision: 419b4d44914701cedf308df58c3e5789715c87e7 Repository branch: emacs-29 System Description: NetBSD netbsd 9.3_STABLE NetBSD 9.3_STABLE (VUORI) #4: Sat Jun 3 09:32:53 UTC 2023 vuori@netbsd:/usr/src/sys/arch/amd64/compile/VUORI amd64 Configured using: 'configure --prefix=/home/vuori/emacs --with-x-toolkit=athena --without-sound --with-modules --with-json --without-toolkit-scroll-bars CFLAGS=-I/usr/pkg/include 'LDFLAGS=-L/usr/pkg/lib -R/usr/pkg/lib -R/usr/X11R7/lib'' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PNG SQLITE3 THREADS TIFF WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB Important settings: value of $LC_COLLATE: C.UTF-8 value of $LC_TIME: C.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm byte-opt gv bytecomp byte-compile rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind kqueue lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 46279 8331) (symbols 48 5824 0) (strings 32 14914 1175) (string-bytes 1 424404) (vectors 16 8323) (vector-slots 8 105495 7095) (floats 8 24 247) (intervals 56 217 0) (buffers 976 10)) ------------=_1689409082-8996-1--