Re: [HACKERS] Proposal: psql force prompting on notty - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: [HACKERS] Proposal: psql force prompting on notty |
Date | |
Msg-id | 200311110048.hAB0m2N11510@candle.pha.pa.us Whole thread Raw |
Responses |
Re: [HACKERS] Proposal: psql force prompting on notty
|
List | 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@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-patches by date: