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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: eda(at)waniasset(dot)com, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)
Date: 2014-12-03 02:24:53
Message-ID: 26947.1417573493@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Mon, Nov 17, 2014 at 09:34:34AM +0000, eda(at)waniasset(dot)com wrote:
>> It would be friendler for psql to be aware of this and not use a pager if
>> running inside an Emacs shell buffer, or other dumb terminal: check if $TERM
>> is set to 'dumb'.

> This is an interesting idea. What are the odds that a "dumb" terminal
> is inside Emacs? Is there another environment variable set by Emacs
> that we can check?

A truly dumb terminal would be where you'd need a pager the most,
so I'm not enamored of this specific test proposal. If there's some
more-specific way to detect that stdout is an Emacs buffer, I'd be for it.

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

I am not real sure of the properties of either of these variables
though, in particular not whether they are present in all versions
of Emacs. (The value of the second one seems to be an Emacs version
identifier, fwiw.) Another question is whether any effort gets made
to unset them in processes that are descendants of an Emacs but are
not connected to a shell-buffer pty.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Christopher Browne 2014-12-03 03:01:04 Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)
Previous Message Bruce Momjian 2014-12-03 00:40:50 Re: BUG #11986: psql uses pager inside Emacs shell buffer (not a terminal)