One-letter backslash commands now need a space before the first argument.
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 2 May 2008 09:27:51 +0000 (09:27 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 2 May 2008 09:27:51 +0000 (09:27 +0000)
This has been the only documented and encouraged syntax for a long time, and
with extension facilities such as aliases being proposed, it is a good time to
clean up the legacy syntax a bit.

Author: Bernd Helmle <mailings@oopsware.de>

src/bin/psql/command.c
src/bin/psql/psqlscan.h
src/bin/psql/psqlscan.l

index 0d3643dd5e72f6dd06e22e01ceb4db6963b718c9..53361ce9ab1bdb2ba3d9aa166f69dc693f7a328c 100644 (file)
@@ -90,30 +90,6 @@ HandleSlashCmds(PsqlScanState scan_state,
        /* And try to execute it */
        status = exec_command(cmd, scan_state, query_buf);
 
-       if (status == PSQL_CMD_UNKNOWN && strlen(cmd) > 1)
-       {
-               /*
-                * If the command was not recognized, try to parse it as a one-letter
-                * command with immediately following argument (a still-supported, but
-                * no longer encouraged, syntax).
-                */
-               char            new_cmd[2];
-
-               /* don't change cmd until we know it's okay */
-               new_cmd[0] = cmd[0];
-               new_cmd[1] = '\0';
-
-               psql_scan_slash_pushback(scan_state, cmd + 1);
-
-               status = exec_command(new_cmd, scan_state, query_buf);
-
-               if (status != PSQL_CMD_UNKNOWN)
-               {
-                       /* adjust cmd for possible messages below */
-                       cmd[1] = '\0';
-               }
-       }
-
        if (status == PSQL_CMD_UNKNOWN)
        {
                if (pset.cur_cmd_interactive)
index 38722fc600939ced813d88db5a5cc77a655e73cd..b5287ce50f49c475ba2b829f84320b607d59eee1 100644 (file)
@@ -61,6 +61,4 @@ extern char *psql_scan_slash_option(PsqlScanState state,
 
 extern void psql_scan_slash_command_end(PsqlScanState state);
 
-extern void psql_scan_slash_pushback(PsqlScanState state, const char *str);
-
 #endif   /* PSQLSCAN_H */
index 010c2b9220e9958394b82231eec657c219e3f8cd..02c7f40665695f8eece6463556411328b80f6818 100644 (file)
@@ -1525,22 +1525,6 @@ psql_scan_slash_command_end(PsqlScanState state)
        /* There are no possible errors in this lex state... */
 }
 
-/*
- * "Push back" the passed string so that it will be rescanned by subsequent
- * psql_scan_slash_option calls.  This is presently only used in the case
- * where a single-letter command has been concatenated with its argument.
- *
- * We use the same buffer stack mechanism as for variable expansion.
- */
-void
-psql_scan_slash_pushback(PsqlScanState state, const char *str)
-{
-       /* needed for push_new_buffer */
-       cur_state = state;
-
-       push_new_buffer(str);
-}
-
 
 /*
  * Push the given string onto the stack of stuff to scan.