diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index 84310a85f351bd1c93914056af60f3b652426b1e..63feea7ee2cb421fec1e9a863696c8891bdf92c7 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -10,6 +10,17 @@
 </DocInfo>
 <Title>GiST Indices</Title>
 
+<Para>
+The information about GIST is at
+ <ULink url="http://GiST.CS.Berkeley.EDU:8000/gist/">http://GiST.CS.Berkeley.EDU:8000/gist/</ULink>
+
+with more on different indexing and sorting schemes at
+<ULink url="http://s2k-ftp.CS.Berkeley.EDU:8000/personal/jmh/">http://s2k-ftp.CS.Berkeley.EDU:8000/personal/jmh/</ULink>
+
+And there is more interesting reading at the Berkely database site at 
+<ULink url="http://epoch.cs.berkeley.edu:8000/">http://epoch.cs.berkeley.edu:8000/</ULink>.
+
+
 <Para>
 <Note>
 <Title>Author</Title>
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index a01c4726607a8a3c7e4f9e76dd464824ea3c7f31..127f24517dafd24e07b5e917634ba857745e5a4b 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -13,9 +13,9 @@
      following directories:
 
 <ProgramListing>
-../src/test/regress
-         ../src/test/examples
-         ../src/bin/psql
+    ../src/test/regress
+    ../src/test/examples
+    ../src/bin/psql
 </ProgramListing>
 
 <Para>
@@ -82,19 +82,21 @@
 <ItemizedList>
 <ListItem>
 <Para>
-<Function>PQsetdb</Function> 
+<Function>PQsetdbLogin</Function> 
           Makes a new connection to a backend.
 <ProgramListing>
-PGconn *PQsetdb(char *pghost,
-                char *pgport,
-                char *pgoptions,
-                char *pgtty,
-                char *dbName);
+PGconn *PQsetdbLogin(const char *pghost,
+                const char *pgport,
+                const char *pgoptions,
+                const char *pgtty,
+                const char *dbName,
+                const char *login,
+                const char *pwd);
 </ProgramListing>
           If  any  argument  is NULL, then the corresponding
           environment variable is checked. If the  environment  variable  is  also  not  set, then hardwired
           defaults are used.
-          PQsetdb always returns  a  valid  PGconn  pointer.
+          PQsetdbLogin always returns  a  valid  PGconn  pointer.
           The  PQstatus (see below) command should be called
           to ensure that  a  connection  was  properly  made
           before queries are sent via the connection.  <FileName>libpq</FileName>
@@ -107,6 +109,51 @@ PGconn *PQsetdb(char *pghost,
 </Para>
 </ListItem>
 
+<ListItem>
+<Para>
+<Function>PQsetdb</Function> 
+          Makes a new connection to a backend.
+<ProgramListing>
+PGconn *PQsetdb(char *pghost,
+                char *pgport,
+                char *pgoptions,
+                char *pgtty,
+                char *dbName);
+</ProgramListing>
+          This is a macro that calls PQsetdbLogin() with null pointers
+          for the login and pwd parameters.
+</Para>
+</ListItem>
+
+<ListItem>
+<Para>
+<Function>PQconndefaults</Function>  
+         Returns the database name of the connection.
+<ProgramListing>
+PQconninfoOption *PQconndefaults(void)
+
+struct PQconninfoOption
+	{
+		char   *keyword;   /* The keyword of the option	*/
+		char   *environ;   /* Fallback environment variable name */
+		char   *compiled;  /* Fallback compiled in default value */
+		char   *val;	   /* Options value */
+		char   *label;	   /* Label for field in connect dialog	*/
+		char   *dispchar;  /* Character to display for this field
+				      in a connect dialog. Values are:
+				      ""	Display entered value as is
+				      "*"	Password field - hide value
+				      "D"	Debug options - don't
+				      create a field by default */
+		int	dispsize;  /* Field size in characters for dialog */
+	};
+
+</ProgramListing>
+	Returns the address of the connection options structure.  This may
+	be used to determine all possible options and their current values.
+</Para>
+</ListItem>
+
 <ListItem>
 <Para>
 <Function>PQdb</Function>  
@@ -345,7 +392,7 @@ Oid PQftype(PGresult *res,
           field.  Field indices start at 0.
 <ProgramListing>
 int2 PQfsize(PGresult *res,
-                           int field_index);
+             int field_index);
 </ProgramListing>
 </Para>
 </ListItem>
@@ -374,6 +421,20 @@ char* PQgetvalue(PGresult *res,
 </Para>
 </ListItem>
 
+<ListItem>
+<Para>
+<Function>PQgetisnull</Function>
+           Tests a field for a NULL entry.
+<ProgramListing>
+int PQgetisnull(PGresult *res,
+                int tup_num,
+                int field_num);
+</ProgramListing>
+            This function returns  1 if the field contains a NULL, 0 if
+            it contains a known value..
+</Para>
+</ListItem>
+
 <ListItem>
 <Para>
 <Function>PQgetlength</Function>
@@ -384,8 +445,8 @@ char* PQgetvalue(PGresult *res,
           less.
 <ProgramListing>
 int PQgetlength(PGresult *res,
-                              int tup_num,
-                              int field_num);
+                int tup_num,
+                int field_num);
 </ProgramListing>
 </Para>
 </ListItem>
@@ -401,6 +462,19 @@ char *PQcmdStatus(PGresult *res);
 </Para>
 </ListItem>
 
+<ListItem>
+<Para>
+<Function>PQcmdTuples</Function>
+	  Returns the number of rows affected by the last command.
+<ProgramListing>
+const char *PQcmdTuples(PGresult *res);
+</ProgramListing>
+          If the last command was INSERT, UPDATE or DELETE, this returns
+          a string containing the number of rows affected.  If the last
+          command was anything else, it returns the empty string.
+</Para>
+</ListItem>
+
 <ListItem>
 <Para>
 <Function>PQoidStatus</Function>
@@ -413,6 +487,35 @@ char* PQoidStatus(PGresult *res);
 </Para>
 </ListItem>
 
+<ListItem>
+<Para>
+<Function>PQprint</Function>
+          Prints out all the  tuples  and,  optionally,  the
+          attribute  names  to  the specified output stream.
+<ProgramListing>
+void PQprint(FILE* fout,      /* output stream */
+             PGresult* res,
+             PQprintOpt* po);
+
+struct _PQprintOpt
+	{
+		pqbool	header;	     /* print output field headings and row count */
+		pqbool	align;	     /* fill align the fields */
+		pqbool	standard;    /* old brain dead format */
+		pqbool	html3;	     /* output html tables */
+		pqbool	expanded;    /* expand tables */
+		pqbool	pager;	     /* use pager for output if needed */
+		char	*fieldSep;   /* field separator */
+		char	*tableOpt;   /* insert to HTML &lt;table ...&gt; */
+		char	*caption;    /* HTML &lt;caption&gt; */
+		char	**fieldName; /* null terminated array of replacement field names */
+	};
+</ProgramListing>
+	This funtion is intended to replace PQprintTuples(), which is
+	now obsolete.
+</Para>
+</ListItem>
+
 <ListItem>
 <Para>
 <Function>PQprintTuples</Function>
@@ -420,14 +523,31 @@ char* PQoidStatus(PGresult *res);
           attribute  names  to  the specified output stream.
           The programs psql and monitor  both  use  PQprintTuples for output.
 <ProgramListing>
-void PQprintTuples(
+void PQprintTuples(PGresult* res,
+                   FILE* fout,      /* output stream */
+                   int printAttName,/* print attribute names or not*/
+                   int terseOutput, /* delimiter bars or not?*/
+                   int width);      /* width of column, variable width if 0*/
+</ProgramListing>
+</Para>
+</ListItem>
+
+<ListItem>
+<Para>
+<Function>PQdisplayTuples</Function>
+          Prints out all the  tuples  and,  optionally,  the
+          attribute  names  to  the specified output stream.
+<ProgramListing>
+void PQdisplayTuples(
                      PGresult* res,
-                     FILE* fout,      /* output stream */
-                     int printAttName,/* print attribute names or not*/
-                     int terseOutput, /* delimiter bars or not?*/
-                     int width        /* width of column, variable width if 0*/
-                     );
+                     FILE* fout,           /* output stream */
+                     int fillAlign,        /* space fill to align columns */
+                     const char *fieldSep, /* field separator */
+	                 int printHeader,      /* display headers? */
+		             int quiet);           /* suppress print of row count at end */
 </ProgramListing>
+          PQdisplayTuples() was intended to supersede PQprintTuples(), and
+          is in turn superseded by PQprint().
 </Para>
 </ListItem>
 <ListItem>
@@ -479,7 +599,7 @@ typedef struct {
              int isint;
              union {
                  int *ptr;
-              int integer;
+                 int integer;
              } u;
          } PQArgBlock;
 </ProgramListing>