Greg Sabino Mullane wrote:
-- Start of PGP signed section.
> Why not run help when someone enters "help" (or "HELP ME!") on the
> command line? \? is hardly an easy thing to remember (and some people
> can't be bothered to actually read the screen...)
> 

I have applied this patch (attached) with a few modifications.  First
you were printing \? help for any string beginning with "help" so
"helplkjasdf" also printed help --- I don't think we want that.  I
allowed "help", "help "*, and "help;", so "help select" does work
(prints \?).  

I also added \? to the list of \? help options because now someone can
get to \? without typing \?.

Shame we can't make \h more prominent in \? output.  I am going to try
to trim down that top help section, but that will a separate patch
posting by me.

Any adjustments?

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/bin/psql/help.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/help.c,v
retrieving revision 1.124
diff -c -c -r1.124 help.c
*** src/bin/psql/help.c	29 Mar 2008 19:40:12 -0000	1.124
--- src/bin/psql/help.c	4 Apr 2008 17:39:05 -0000
***************
*** 188,193 ****
--- 188,194 ----
  			ON(pset.timing));
  	fprintf(output, _("  \\unset NAME    unset (delete) internal variable\n"));
  	fprintf(output, _("  \\! [COMMAND]   execute command in shell or start interactive shell\n"));
+ 	fprintf(output, _("  \\?             display this help output\n"));
  	fprintf(output, "\n");
  
  	fprintf(output, _("Query Buffer\n"));
Index: src/bin/psql/mainloop.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/psql/mainloop.c,v
retrieving revision 1.87
diff -c -c -r1.87 mainloop.c
*** src/bin/psql/mainloop.c	1 Jan 2008 19:45:56 -0000	1.87
--- src/bin/psql/mainloop.c	4 Apr 2008 17:39:05 -0000
***************
*** 11,16 ****
--- 11,17 ----
  
  #include "command.h"
  #include "common.h"
+ #include "help.h"
  #include "input.h"
  #include "settings.h"
  
***************
*** 171,176 ****
--- 172,187 ----
  			continue;
  		}
  
+ 		/* A request for help? Be friendly and show them the slash way of doing things */
+ 		if (pset.cur_cmd_interactive && query_buf->len == 0 &&
+ 			pg_strncasecmp(line, "help", 4) == 0 &&
+ 			(line[4] == '\0' || line[4] == ';' || isspace(line[4])))
+ 		{
+ 			free(line);
+ 			slashUsage(pset.popt.topt.pager);
+ 			continue;
+ 		}
+ 
  		/* echo back if flag is set */
  		if (pset.echo == PSQL_ECHO_ALL && !pset.cur_cmd_interactive)
  			puts(line);
-- 
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Reply via email to