From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Matthew Leach Newsgroups: gmane.emacs.bugs Subject: bug#37564: [PATCH] don't export LINES and COLUMNS env vars in term to fix ncurses applications Date: Tue, 01 Oct 2019 16:47:35 +0100 Message-ID: <87tv8slb6w.fsf@mattleach.net> References: <87y2y5lfnb.fsf@1e0.co.uk> <83eezxatsv.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="114527"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 37564@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Oct 01 17:48:22 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iFKNy-000Tfj-1i for geb-bug-gnu-emacs@m.gmane.org; Tue, 01 Oct 2019 17:48:22 +0200 Original-Received: from localhost ([::1]:43674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFKNw-0001hd-Ao for geb-bug-gnu-emacs@m.gmane.org; Tue, 01 Oct 2019 11:48:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48889) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFKNf-0001d9-IV for bug-gnu-emacs@gnu.org; Tue, 01 Oct 2019 11:48:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iFKNe-00036N-26 for bug-gnu-emacs@gnu.org; Tue, 01 Oct 2019 11:48:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53873) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iFKNd-00036H-Uf for bug-gnu-emacs@gnu.org; Tue, 01 Oct 2019 11:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iFKNd-0002RT-Qq for bug-gnu-emacs@gnu.org; Tue, 01 Oct 2019 11:48:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Matthew Leach Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 01 Oct 2019 15:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37564 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 37564-submit@debbugs.gnu.org id=B37564.15699448629358 (code B ref 37564); Tue, 01 Oct 2019 15:48:01 +0000 Original-Received: (at 37564) by debbugs.gnu.org; 1 Oct 2019 15:47:42 +0000 Original-Received: from localhost ([127.0.0.1]:34461 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFKNK-0002Qs-3G for submit@debbugs.gnu.org; Tue, 01 Oct 2019 11:47:42 -0400 Original-Received: from mx0.mattleach.net ([176.58.118.143]:51342) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iFKNH-0002Qj-Gw for 37564@debbugs.gnu.org; Tue, 01 Oct 2019 11:47:41 -0400 Original-Received: by mx0.mattleach.net (Postfix, from userid 99) id 66D8661C5D; Tue, 1 Oct 2019 16:47:38 +0100 (BST) Original-Received: from hopton.mattleach.net (92.40.249.172.threembb.co.uk [92.40.249.172]) by mx0.mattleach.net (Postfix) with ESMTPSA id 98DAB61C21; Tue, 1 Oct 2019 16:47:37 +0100 (BST) In-Reply-To: <83eezxatsv.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 01 Oct 2019 09:01:04 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:168030 Archived-At: --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: Matthew Leach >> Date: Mon, 30 Sep 2019 20:59:04 +0100 >> >> The attached patch removes the exporting of the LINES and COLUMNS >> environment variables in term-mode. Exporting these variables causes >> issues for ncurses applications. For example, when running: >> >> emacs -Q >> M-x term >> (to select /bin/bash) >> htop (to run htop) >> >> and resizing the window (especially making it smaller) can make the >> program impossible to read. > > Thanks, but I don't think we can make this change unconditionally, > because not all applications that heed LINES and COLUMNS use ncurses. I'm curious as to which programs you are referring? AFAIK, if a program tries to read the LINES and COLUMNS environment variables, using `getenv()', they don't exist. Running 'echo $LINES' on a bash terminal seems to actually do an ioctl to obtain the value of LINES. Nevertheless, if a program does read the LINES and COLUMNS variables, these values will be wrong if the window has been resized (try and compile the attached C snippet and run in term mode while resizing the window). Should that be considered as a separate bug? > I wonder if we can do better than just providing a defcustom. I could make this a defcustom if that would get the patch in? Thanks, -- Matt --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=winch2.c #include #include #include #include void handle_sig() { struct winsize w; ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); printf("getenv: %s %s\n", getenv("LINES"), getenv("COLUMNS")); printf("ioctl: %d %d\n", w.ws_row, w.ws_col); } int main() { signal(SIGWINCH, handle_sig); fgetc(stdin); return 0; } --=-=-=--