Index: src/bin/psql/mainloop.c =================================================================== RCS file: /cvsroot/pgsql/src/bin/psql/mainloop.c,v retrieving revision 1.45 diff -c -r1.45 mainloop.c *** src/bin/psql/mainloop.c 2001/12/28 05:01:05 1.45 --- src/bin/psql/mainloop.c 2001/12/28 19:12:37 *************** *** 447,453 **** { const char *end_of_cmd = NULL; - paren_level = 0; line[i - prevlen] = '\0'; /* overwrites backslash */ /* is there anything else on the line for the command? */ --- 447,452 ---- *************** *** 473,479 **** if ((slashCmdStatus == CMD_SEND || slashCmdStatus == CMD_NEWEDIT) && query_buf->len == 0) { ! /* copy previous buffer to current for for handling */ appendPQExpBufferStr(query_buf, previous_buf->data); } --- 472,478 ---- if ((slashCmdStatus == CMD_SEND || slashCmdStatus == CMD_NEWEDIT) && query_buf->len == 0) { ! /* copy previous buffer to current for handling */ appendPQExpBufferStr(query_buf, previous_buf->data); } *************** *** 486,491 **** --- 485,493 ---- appendPQExpBufferStr(previous_buf, query_buf->data); resetPQExpBuffer(query_buf); } + + if (query_buf->len == 0 && previous_buf->len == 0) + paren_level = 0; /* process anything left after the backslash command */ i += end_of_cmd - &line[i];