diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 6b382230fd01d4263550cee40478e744d0b74e14..0e4296872f3d8e1b08c7fa1ecae5125d11ad10e6 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.4 2006/09/18 12:11:36 teodor Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.5 2006/11/23 05:58:01 neilc Exp $ -->
 
 <chapter id="GIN">
 <title>GIN Indexes</title>
@@ -31,14 +31,13 @@
   This is much the same advantage as using <acronym>GiST</acronym>.
  </para>
 
-  <para>
-   The <acronym>GIN</acronym>
-    implementation in <productname>PostgreSQL</productname> is primarily
-    maintained by Teodor Sigaev and Oleg Bartunov, and there is more
-    information on their
-    <ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin">website</ulink>.
-  </para>
-
+ <para>
+  The <acronym>GIN</acronym>
+  implementation in <productname>PostgreSQL</productname> is primarily
+  maintained by Teodor Sigaev and Oleg Bartunov. There is more
+  information about <acronym>GIN</acronym> on their
+  <ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin">website</ulink>.
+ </para>
 </sect1>
 
 <sect1 id="gin-extensibility">
@@ -78,7 +77,7 @@
 
  <variablelist>
     <varlistentry>
-     <term>int compare( Datum a, Datum b )</term>
+     <term>int compare(Datum a, Datum b)</term>
      <listitem>
       <para>
 	   Compares keys (not indexed values!) and returns an integer less than 
@@ -103,22 +102,22 @@
 		StrategyNumber n)</term>
      <listitem>
       <para>
-	   Returns an array of keys of the query to be executed. n contains
-	   the strategy number of the operation 
-	   (see <xref linkend="xindex-strategies">).
-	   Depending on n, query may be different type.
+	   Returns an array of keys of the query to be executed. n contains the
+	   strategy number of the operation (see <xref
+	   linkend="xindex-strategies">).  Depending on n, query may be
+	   different type.
       </para>
      </listitem>
     </varlistentry>
 
     <varlistentry>
-     <term>bool consistent( bool check[], StrategyNumber n, Datum query)</term>
+     <term>bool consistent(bool check[], StrategyNumber n, Datum query)</term>
      <listitem>
       <para>
 	   Returns TRUE if the indexed value satisfies the query qualifier with 
 	   strategy n (or may satisfy in case of RECHECK mark in operator class). 
 	   Each element of the check array is TRUE if the indexed value has a 
-	   corresponding key in the query: if (check[i] == TRUE ) the i-th key of 
+	   corresponding key in the query: if (check[i] == TRUE) the i-th key of 
 	   the query is present in the indexed value.
       </para>
      </listitem>
@@ -129,14 +128,14 @@
 </sect1>
 
 <sect1 id="gin-tips">
-<title>GIN tips and trics</title>
+<title>GIN tips and tricks</title>
 
  <variablelist>
   <varlistentry>
    <term>Create vs insert</term>
    <listitem>
 	<para>
-	 In most cases, insertion into <acronym>GIN</acronym> index is slow
+	 In most cases, insertion into a <acronym>GIN</acronym> index is slow
 	 due to the likelihood of many keys being inserted for each value.
 	 So, for bulk insertions into a table it is advisable to to drop the GIN 
 	 index and recreate it after finishing bulk insertion.
@@ -169,9 +168,9 @@
 	 the whole result set, chosen at random.
 	</para>
 	<para>
-	 "Soft" means that the actual number of returned results could slightly 
-	 differ from the specified limit, depending on the query and the quality 
-	 of the system's random number generator.
+	 <quote>Soft</quote> means that the actual number of returned results
+	 could slightly differ from the specified limit, depending on the query
+	 and the quality of the system's random number generator.
 	</para>
    </listitem>
   </varlistentry>
@@ -184,16 +183,16 @@
 
  <para>
   <acronym>GIN</acronym> doesn't support full index scans due to their
-  extremely inefficiency: because there are often many keys per value,
+  extreme inefficiency: because there are often many keys per value,
   each heap pointer will returned several times.
  </para>
 
  <para>
-  When extractQuery returns zero keys, <acronym>GIN</acronym> will emit a 
-  error: for different opclasses and strategies the semantic meaning of a void
-  query may be different (for example, any array contains the void array,
-  but they don't overlap the void array), and <acronym>GIN</acronym> can't
-  suggest reasonable answer.
+  When <function>extractQuery</function> returns zero keys,
+  <acronym>GIN</acronym> will emit an error: for different opclasses and
+  strategies the semantic meaning of a void query may be different (for
+  example, any array contains the void array, but they don't overlap the
+  void array), and <acronym>GIN</acronym> can't suggest a reasonable answer.
  </para>
 
  <para>