Re: [HACKERS] Proposal: psql force prompting on notty

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Michael Mauger <mmaug(at)yahoo(dot)com>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [HACKERS] Proposal: psql force prompting on notty
Date: 2003-11-11 00:48:02
Message-ID: 200311110048.hAB0m2N11510@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches


This is an unusual one. The OS isn't handling things properly, and we
have to work around that. Can you get a Win32 user to test psql with
this patch to make sure it actually fixes the problem and behaves as
expected? If you want me to produce a psql binary, I can do that.

Thanks.

---------------------------------------------------------------------------

Michael Mauger wrote:
> I'm the maintainer of sql.el in GNU Emacs. On both the Mac OS X
> and the Windows/Cygwin platform we've had reports that psql run
> under Emacs does not issue a prompt for commands.
>
> I did a little research and it appears that the cause is that
> pset.notty is being set to false because stdin/stdout are not
> a tty (pgsql-server/src/bin/psql/startup.c). I'd like to
> propose that an option be added to the psql command line to
> override the detection of the tty and force the prompting for
> commands on stdin.
>
> I believe the attached patch should add the option -I to psql
> and force the prompt to appear as if it were an interactive
> session regardless of the state of stdin/stdout. I do not
> have a configuration available to properly test this however.
>
> Please be sure to include me in any replies since I do not
> subscribe to this list. TIA.
>
> -- Michael
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com

Content-Description: interactive.diff

> --- pgsql-server/src/bin/psql/startup.c 29 Sep 2003 18:21:33 -0000 1.80
> +++ pgsql-server/src/bin/psql/startup.c 01 Nov 2003 06:10:42 -0000
> @@ -322,6 +322,7 @@
> {"field-separator", required_argument, NULL, 'F'},
> {"host", required_argument, NULL, 'h'},
> {"html", no_argument, NULL, 'H'},
> + {"interactive", no_argument, NULL, 'I'},
> {"list", no_argument, NULL, 'l'},
> {"no-readline", no_argument, NULL, 'n'},
> {"output", required_argument, NULL, 'o'},
> @@ -352,7 +353,7 @@
>
> memset(options, 0, sizeof *options);
>
> - while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:Hlno:p:P:qR:sStT:uU:v:VWxX?",
> + while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlMno:p:P:qR:sStT:uU:v:VWxX?",
> long_options, &optindex)) != -1)
> {
> switch (c)
> @@ -395,7 +396,10 @@
> case 'H':
> pset.popt.topt.format = PRINT_HTML;
> break;
> + case 'I':
> + pset.notty = 0;
> + break;
> case 'l':
> options->action = ACT_LIST_DB;
> break;
> --- pgsql-server/src/bin/psql/help.c 02 Oct 2003 06:39:31 -0000 1.81
> +++ pgsql-server/src/bin/psql/help.c 01 Nov 2003 06:29:50 -0000
> @@ -103,6 +103,7 @@
> puts(_(" -a echo all input from script"));
> puts(_(" -e echo commands sent to server"));
> puts(_(" -E display queries that internal commands generate"));
> + puts(_(" -I force interactive prompting for input"));
> puts(_(" -q run quietly (no messages, only query output)"));
> puts(_(" -o FILENAME send query results to file (or |pipe)"));
> puts(_(" -n disable enhanced command line editing (readline)"));

>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marc G. Fournier 2003-11-11 01:16:11 PostgreSQL v7.4 Release Candidate 2
Previous Message Jan Wieck 2003-11-11 00:16:12 Re: Experimental patch for inter-page delay in VACUUM

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2003-11-11 01:34:27 Re: Other Win32 TODO items?
Previous Message Bruce Momjian 2003-11-10 23:02:32 Re: [PATCHES] initdb in C