Hi 2017-07-26 13:15 GMT+02:00 Dagfinn Ilmari Mannsåker <ilm...@ilmari.org>:
> Pavel Stehule <pavel.steh...@gmail.com> writes: > > > Hi > > > > I wrote a special pager for psql. Surely, this pager is not good for > paging > > of man pages. So is not good to set it as global pager. We can introduce > > new env variable PSQL_PAGER for this purpose. It can work similar like > > PSQL_EDITOR variable. > > > > Notes, comments? > > There's already the option to put '\setenv PAGER ...' in .psqlrc, but I > guess having it work like EDITOR makes sense for consistency, as well as > not affecting commands spawned from psql via e.g. \!. > here is a patch - it is trivial Regards Pavel > > - ilmari > -- > "The surreality of the universe tends towards a maximum" -- Skud's Law > "Never formulate a law or axiom that you're not prepared to live with > the consequences of." -- Skud's Meta-Law >
commit cc5aac7ab431dd0a95062aa5171f860215d5bc4a Author: Pavel Stehule <pavel.steh...@gooddata.com> Date: Wed Jul 26 18:12:26 2017 +0200 initial diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index c592edac60..ef89f81fdf 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -4087,6 +4087,7 @@ $endif </varlistentry> <varlistentry> + <term><envar>PSQL_PAGER</envar></term> <term><envar>PAGER</envar></term> <listitem> @@ -4096,8 +4097,10 @@ $endif <literal>more</literal> or <literal>less</literal>. The default is platform-dependent. Use of the pager can be disabled by setting <envar>PAGER</envar> to empty, or by using pager-related options of - the <command>\pset</command> command. + the <command>\pset</command> command. These variables are examined + in the order listed; the first that is set is used. </para> + </listitem> </varlistentry> diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index b3dbb5946e..9b0b83b0bd 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -411,7 +411,7 @@ helpVariables(unsigned short int pager) #endif fprintf(output, _(" COLUMNS number of columns for wrapped format\n")); - fprintf(output, _(" PAGER name of external pager program\n")); + fprintf(output, _(" PSQL_PAGER, PAGER name of external pager program\n")); fprintf(output, _(" PGAPPNAME same as the application_name connection parameter\n")); fprintf(output, _(" PGDATABASE same as the dbname connection parameter\n")); fprintf(output, _(" PGHOST same as the host connection parameter\n")); diff --git a/src/fe_utils/print.c b/src/fe_utils/print.c index f756f767e5..8af5bbe97e 100644 --- a/src/fe_utils/print.c +++ b/src/fe_utils/print.c @@ -2870,7 +2870,9 @@ PageOutput(int lines, const printTableOpt *topt) const char *pagerprog; FILE *pagerpipe; - pagerprog = getenv("PAGER"); + pagerprog = getenv("PSQL_PAGER"); + if (!pagerprog) + pagerprog = getenv("PAGER"); if (!pagerprog) pagerprog = DEFAULT_PAGER; else
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers