diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index db250f02b6e225dec4c8e2fdc03684d849d01d26..5c6929a7192bf8edae9f9015014d8886eefa3756 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.25 2000/03/18 22:48:29 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.26 2000/03/27 21:11:37 petere Exp $
  */
 #include "postgres.h"
 #include "command.h"
@@ -1442,21 +1442,16 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
 		{
 			/* read file back in */
 			char		line[1024];
-			size_t		result;
 
 			resetPQExpBuffer(query_buf);
-			do
-			{
-				result = fread(line, 1, 1024, stream);
-				if (ferror(stream))
-				{
-                    psql_error("%s: %s\n", fname, strerror(errno));
-					error = true;
-					break;
-				}
-				appendBinaryPQExpBuffer(query_buf, line, result);
-			} while (!feof(stream));
-			appendPQExpBufferChar(query_buf, '\0');
+            while (fgets(line, 1024, stream))
+				appendPQExpBufferStr(query_buf, line);
+
+            if (ferror(stream))
+            {
+                psql_error("%s: %s\n", fname, strerror(errno));
+                error = true;
+            }
 
 			fclose(stream);
 		}
@@ -1471,6 +1466,7 @@ do_edit(const char *filename_arg, PQExpBuffer query_buf)
             }
         }
     }
+
 	return !error;
 }
 
diff --git a/src/bin/psql/mainloop.c b/src/bin/psql/mainloop.c
index eadd50e94af520bdde96313ce3b4604b07294088..b27d344a78160c1d2ac781ca85259d2ab56340c4 100644
--- a/src/bin/psql/mainloop.c
+++ b/src/bin/psql/mainloop.c
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.26 2000/03/18 18:03:11 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.27 2000/03/27 21:11:37 petere Exp $
  */
 #include "postgres.h"
 #include "mainloop.h"
@@ -481,7 +481,7 @@ MainLoop(FILE *source)
 
 
 		/* Put the rest of the line in the query buffer. */
-		if (line[query_start + strspn(line + query_start, " \t")] != '\0')
+		if (line[query_start + strspn(line + query_start, " \t\n")] != '\0')
 		{
 			if (query_buf->len > 0)
 				appendPQExpBufferChar(query_buf, '\n');