Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)

From: Ed Avis <eda(at)waniasset(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)
Date: 2014-12-08 11:39:12
Message-ID: loom.20141208T123007-701@post.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Tom Lane <tgl <at> sss.pgh.pa.us> writes:

>A quick check here shows a couple of different possibilities in the
>environment seen in a shell buffer:
>
>EMACS=t
>INSIDE_EMACS=23.1.1,comint

Apparently EMACS=t is deprecated and INSIDE_EMACS is the one to use.
However, Emacs being Emacs, it has more than one way to run interactive
subprocesses. This bug report was about 'shell' mode, where a text editing
buffer provides a simple dumb terminal without cursor movement escape
sequences (and sets TERM=dumb). But there is also 'term', providing a
reasonably good terminal emulator inside Emacs. Inside that, a pager does
work (even sophisticated ones such as 'less') and it makes sense to use a
pager since you don't have a scrollable text buffer with all output, but
just a fixed-size terminal window.

'term' mode sets the environment variables to something like

TERM=eterm-color
INSIDE_EMACS=24.4.1,term:0.96

So if INSIDE_EMACS is to be used (rather than checking for TERM=dumb) then
perhaps it should look for the 'comint' string.

I appreciate the concern that this could open a Pandora's box of special
case checks for all sorts of terminal types, but this is only the psql
interactive shell we are talking about here, not the core database code.
And all that is being controlled is the relatively minor choice of whether
to run a pager program, not anything that affects database operations.
psql already contains lots of features which exist to make interactive use
more comfortable even at the expense of some complexity.

Let me see if I can make psql check INSIDE_EMACS on startup to see if it
is running inside 'comint' and if so turn off the pager (by default).

--
Ed Avis <eda(at)waniasset(dot)com>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message barrera471009 2014-12-08 14:41:52 BUG #12182: error converting xml to table using developed plpgsql function
Previous Message Ondrej Chaloupka 2014-12-08 11:33:08 Incorrect return code for error on call of commit during 2PC