diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
index b9e19dd0b49df92b54b15258aa0dfc7675755d83..25713505c1906b8bef82ce887b67ccf68c32fd05 100644
--- a/src/backend/nodes/copyfuncs.c
+++ b/src/backend/nodes/copyfuncs.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.23 1997/12/23 19:53:30 thomas Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.24 1997/12/23 21:38:25 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -509,6 +509,21 @@ _copyAgg(Agg *from)
 	return newnode;
 }
 
+/* ---------------
+ *	_copyGroupClause
+ * --------------
+ */
+static GroupClause *
+_copyGroupClause(GroupClause *from)
+{
+		GroupClause		   *newnode = makeNode(GroupClause);
+
+		newnode->grpOpoid = from->grpOpoid;
+		newnode->entry = copyObject(from->entry);
+
+		return newnode;
+}
+
 
 /* ----------------
  *		_copyUnique
@@ -1665,6 +1680,9 @@ copyObject(void *from)
 		case T_Agg:
 			retval = _copyAgg(from);
 			break;
+		case T_GroupClause:
+			retval = _copyGroupClause(from);
+			break;
 		case T_Unique:
 			retval = _copyUnique(from);
 			break;
diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c
index 7cc2f5a9fc423921c07eedbc301a4387678a4631..e2bf0b015bbcc8fdccbebba4568609fe3c6b4d24 100644
--- a/src/bin/psql/psql.c
+++ b/src/bin/psql/psql.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.121 1997/12/22 20:03:53 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.122 1997/12/23 21:38:40 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -110,7 +110,7 @@ struct winsize
 /* declarations for functions in this file */
 static void usage(char *progname);
 static void slashUsage();
-static void handleCopyOut(PGresult *res, bool quiet, FILE *copystream);
+static void handleCopyOut(PGresult *res, FILE *copystream);
 static void
 handleCopyIn(PGresult *res, const bool mustprompt,
 			 FILE *copystream);
@@ -994,13 +994,13 @@ SendQuery(bool *success_p, PsqlSettings *pset, const char *query,
 			case PGRES_COPY_OUT:
 				*success_p = true;
 				if (copy_out)
-					handleCopyOut(results, pset->quiet, copystream);
+					handleCopyOut(results, copystream);
 				else
 				{
 					if (!pset->quiet)
 						printf("Copy command returns...\n");
 
-					handleCopyOut(results, pset->quiet, stdout);
+					handleCopyOut(results, stdout);
 				}
 				break;
 			case PGRES_COPY_IN:
@@ -1008,7 +1008,7 @@ SendQuery(bool *success_p, PsqlSettings *pset, const char *query,
 				if (copy_in)
 					handleCopyIn(results, false, copystream);
 				else
-					handleCopyIn(results, !pset->quiet, stdin);
+					handleCopyIn(results, !pset->quiet && !pset->notty, stdin);
 				break;
 			case PGRES_NONFATAL_ERROR:
 			case PGRES_FATAL_ERROR:
@@ -2548,7 +2548,7 @@ main(int argc, char **argv)
 #define COPYBUFSIZ	8192
 
 static void
-handleCopyOut(PGresult *res, bool quiet, FILE *copystream)
+handleCopyOut(PGresult *res, FILE *copystream)
 {
 	bool		copydone;
 	char		copybuf[COPYBUFSIZ];
diff --git a/src/tools/ccsym b/src/tools/ccsym
index 5edb63d1a3362d844ed3a43164ee80bf25e5f03c..548d58b3592556fd8f5982bfc54fabb91696e724 100755
--- a/src/tools/ccsym
+++ b/src/tools/ccsym
@@ -1,5 +1,6 @@
 #!/bin/sh
 trap "/bin/rm -f /tmp/$$.*" 0 1 2 3 15
+cd /tmp
 /bin/cat >$$.c <<EOF
 extern int foo;
 EOF