Bruce Momjian <bruce@momjian.us> writes:
> On Mon, Nov 17, 2014 at 09:34:34AM +0000, eda@waniasset.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