diff --git a/src/include/catalog/pg_operator.h b/src/include/catalog/pg_operator.h
index a16100e7f21fe1201b322095fa9274c701db2b5c..c701dd88611c206c671f1ee9479567db752f6804 100644
--- a/src/include/catalog/pg_operator.h
+++ b/src/include/catalog/pg_operator.h
@@ -7,7 +7,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_operator.h,v 1.23 1998/01/24 22:48:36 momjian Exp $
+ * $Id: pg_operator.h,v 1.24 1998/02/03 16:01:54 thomas Exp $
  *
  * NOTES
  *	  the genbki.sh script reads this file and generates .bki
@@ -387,7 +387,7 @@ DATA(insert OID =  795 (  "<="	   PGUID 0 b t f  602  602	701  794  0 0 0 path_n
 DATA(insert OID =  796 (  ">="	   PGUID 0 b t f  602  602	701  793  0 0 0 path_n_ge intltsel intltjoinsel ));
 DATA(insert OID =  797 (  "#"	   PGUID 0 l t f	0  602	 23    0  0 0 0 path_npoints - - ));
 DATA(insert OID =  798 (  "?#"	   PGUID 0 b t f  602  602	 16    0  0 0 0 path_inter - - ));
-DATA(insert OID =  799 (  "??"	   PGUID 0 l t f	0  602	701    0  0 0 0 path_length - - ));
+DATA(insert OID =  799 (  "@-@"	   PGUID 0 l t f	0  602	701    0  0 0 0 path_length - - ));
 DATA(insert OID =  800 (  ">^"	   PGUID 0 b t f  603  603	 16    0  0 0 0 box_above intltsel intltjoinsel ));
 DATA(insert OID =  801 (  "<^"	   PGUID 0 b t f  603  603	 16    0  0 0 0 box_below intltsel intltjoinsel ));
 DATA(insert OID =  802 (  "?#"	   PGUID 0 b t f  603  603	 16    0  0 0 0 box_overlap - - ));
@@ -647,8 +647,18 @@ DATA(insert OID = 1559 (  "##"	  PGUID 0 b t f  600  603  600	  0  0 0 0 close_p
 DATA(insert OID = 1566 (  "##"	  PGUID 0 b t f  601  628  600	  0  0 0 0 close_sl - - ));
 DATA(insert OID = 1567 (  "##"	  PGUID 0 b t f  601  603  600	  0  0 0 0 close_sb - - ));
 DATA(insert OID = 1568 (  "##"	  PGUID 0 b t f  628  603  600	  0  0 0 0 close_lb - - ));
+DATA(insert OID = 1577 (  "##"	  PGUID 0 b t f  628  601  600	  0  0 0 0 close_ls - - ));
+DATA(insert OID = 1578 (  "##"	  PGUID 0 b t f  601  601  600	  0  0 0 0 close_lseg - - ));
 DATA(insert OID = 1585 (  "/"	  PGUID 0 b t f 1186 1186 1186	  0  0 0 0 timespan_div - - ));
 
+DATA(insert OID = 1586 (  "<>"	  PGUID 0 b t f  601  601	16 1535  0 0 0 lseg_eq intltsel - ));
+DATA(insert OID = 1587 (  "<"	  PGUID 0 b t f  601  601	16 1590  0 0 0 lseg_lt intltsel - ));
+DATA(insert OID = 1588 (  "<="	  PGUID 0 b t f  601  601	16 1589  0 0 0 lseg_le intltsel - ));
+DATA(insert OID = 1589 (  ">"	  PGUID 0 b t f  601  601	16 1588  0 0 0 lseg_gt intltsel - ));
+DATA(insert OID = 1590 (  ">="	  PGUID 0 b t f  601  601	16 1587  0 0 0 lseg_ge intltsel - ));
+
+DATA(insert OID = 1591 (  "@-@"	  PGUID 0 l t f	0  601	701    0  0 0 0 lseg_length - - ));
+
 /*
  * function prototypes
  */
diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h
index aaaa2360693935ad14b355af973f9b1f6f6389cd..ffc1e05da3478c980324c87b0eee9eb60f53a90b 100644
--- a/src/include/catalog/pg_proc.h
+++ b/src/include/catalog/pg_proc.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pg_proc.h,v 1.45 1998/01/26 01:01:31 momjian Exp $
+ * $Id: pg_proc.h,v 1.46 1998/02/03 16:01:59 thomas Exp $
  *
  * NOTES
  *	  The script catalog/genbki.sh reads this file and generates .bki
@@ -178,7 +178,7 @@ DESCR("equals");
 
 DATA(insert OID =  66 (  int4lt			   PGUID 11 f t f 2 f 16 "23 23" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID =  67 (  texteq			   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID =  67 (  texteq			   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("equals");
 #define TextEqualRegProcedure			67
 
@@ -209,13 +209,13 @@ DATA(insert OID =  79 (  nameregexeq	   PGUID 11 f t f 2 f 16 "19 25" 100 0 0 10
 DESCR("matches regex., case-sensitive");
 DATA(insert OID = 1252 (  nameregexne	   PGUID 11 f t f 2 f 16 "19 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-sensitive");
-DATA(insert OID = 1254 (  textregexeq	   PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1254 (  textregexeq	   PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("matches regex., case-sensitive");
-DATA(insert OID = 1256 (  textregexne	   PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1256 (  textregexne	   PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("does not match regex., case-sensitive");
-DATA(insert OID = 1257 (  textlen		   PGUID 11 f t f 1 f 23 "25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1257 (  textlen		   PGUID 11 f t f 1 f 23 "25" 100 0 1 0  foo bar ));
 DESCR("length");
-DATA(insert OID = 1258 (  textcat		   PGUID 11 f t f 2 f 25 "25 25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1258 (  textcat		   PGUID 11 f t f 2 f 25 "25 25" 100 0 1 0  foo bar ));
 DESCR("concat");
 DATA(insert OID =  84 (  boolne			   PGUID 11 f t f 2 f 16 "16 16" 100 0 0 100  foo bar ));
 DESCR("not equal");
@@ -278,29 +278,29 @@ DATA(insert OID = 123 (  box_in			   PGUID 11 f t f 1 f 603 "0" 100 0 0 100  foo
 DESCR("(internal)");
 DATA(insert OID = 124 (  box_out		   PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 125 (  box_overlap	   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 125 (  box_overlap	   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 126 (  box_ge			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 126 (  box_ge			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 127 (  box_gt			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 127 (  box_gt			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 128 (  box_eq			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 128 (  box_eq			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 129 (  box_lt			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 129 (  box_lt			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 130 (  box_le			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100	foo bar ));
+DATA(insert OID = 130 (  box_le			   PGUID 11 f t f 2 f 16 "603 603" 100 1 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 131 (  point_above	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 131 (  point_above	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is above");
-DATA(insert OID = 132 (  point_left		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 132 (  point_left		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 133 (  point_right	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 133 (  point_right	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 134 (  point_below	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 134 (  point_below	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("is below");
-DATA(insert OID = 135 (  point_eq		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 135 (  point_eq		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 136 (  on_pb			   PGUID 11 f t f 2 f 16 "600 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 136 (  on_pb			   PGUID 11 f t f 2 f 16 "600 603" 100 0 0 100  foo bar ));
 DESCR("point is inside");
 DATA(insert OID = 137 (  on_ppath		   PGUID 11 f t f 2 f 16 "600 602" 100 0 1 0  foo bar ));
 DESCR("contained in");
@@ -314,7 +314,7 @@ DATA(insert OID = 141 (  int4mul		   PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100
 DESCR("multiply");
 DATA(insert OID = 142 (  int4fac		   PGUID 11 f t f 1 f 23 "23" 100 0 0 100  foo bar ));
 DESCR("fraction");
-DATA(insert OID = 143 (  pointdist		   PGUID 11 f t f 2 f 23 "600 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 143 (  pointdist		   PGUID 11 f t f 2 f 23 "600 600" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 144 (  int4ne			   PGUID 11 f t f 2 f 16 "23 23" 100 0 0 100  foo bar ));
 DESCR("not equal");
@@ -343,7 +343,7 @@ DATA(insert OID = 155 (  int2mod		   PGUID 11 f t f 2 f 21 "21 21" 100 0 0 100
 DESCR("modulus");
 DATA(insert OID = 156 (  int4mod		   PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100  foo bar ));
 DESCR("modulus");
-DATA(insert OID = 157 (  textne			   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID = 157 (  textne			   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("not equal");
 DATA(insert OID = 158 (  int24eq		   PGUID 11 f t f 2 f 23 "21 23" 100 0 0 100  foo bar ));
 DESCR("equals");
@@ -403,19 +403,19 @@ DESCR("equals");
 
 DATA(insert OID = 185 (  oidne			   PGUID 11 f t f 2 f 16 "26 26" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 186 (  box_same		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 186 (  box_same		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 187 (  box_contain	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 187 (  box_contain	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("contains");
-DATA(insert OID = 188 (  box_left		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 188 (  box_left		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 189 (  box_overleft	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 189 (  box_overleft	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("overlaps, but does not extend to right of");
-DATA(insert OID = 190 (  box_overright	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 190 (  box_overright	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("overlaps, but does not extend to left of");
-DATA(insert OID = 191 (  box_right		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 191 (  box_right		   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 192 (  box_contained	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 192 (  box_contained	   PGUID 11 f t f 2 f 16 "603 603" 100 0 0 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 193 (  rt_box_union	   PGUID 11 f t f 2 f 603 "603 603" 100 0 0 100  foo bar ));
 DESCR("r-tree");
@@ -534,53 +534,53 @@ DATA(insert OID = 246 (  tintervalin	   PGUID 11 f t f 1 f 704 "0" 100 0 0 100
 DESCR("(internal)");
 DATA(insert OID = 247 (  tintervalout	   PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 248 (  ininterval		   PGUID 11 f t f 2 f 16 "702 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 248 (  ininterval		   PGUID 11 f t f 2 f 16 "702 704" 100 0 0 100  foo bar ));
 DESCR("abstime in tinterval");
 DATA(insert OID = 249 (  intervalrel	   PGUID 11 f t f 1 f 703 "704" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 250 (  timenow		   PGUID 11 f t f 0 f 702 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 251 (  abstimeeq		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 251 (  abstimeeq		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 252 (  abstimene		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 252 (  abstimene		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 253 (  abstimelt		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 253 (  abstimelt		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 254 (  abstimegt		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 254 (  abstimegt		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 255 (  abstimele		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 255 (  abstimele		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 256 (  abstimege		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 256 (  abstimege		   PGUID 11 f t f 2 f 16 "702 702" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 257 (  reltimeeq		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 257 (  reltimeeq		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 258 (  reltimene		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 258 (  reltimene		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 259 (  reltimelt		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 259 (  reltimelt		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 260 (  reltimegt		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 260 (  reltimegt		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 261 (  reltimele		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 261 (  reltimele		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 262 (  reltimege		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 262 (  reltimege		   PGUID 11 f t f 2 f 16 "703 703" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 263 (  intervalsame	   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 263 (  intervalsame	   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("same as");
-DATA(insert OID = 264 (  intervalct		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 264 (  intervalct		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 265 (  intervalov		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 265 (  intervalov		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 266 (  intervalleneq	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 266 (  intervalleneq	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length equals");
-DATA(insert OID = 267 (  intervallenne	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 267 (  intervallenne	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length not equal to");
-DATA(insert OID = 268 (  intervallenlt	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 268 (  intervallenlt	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length less-than");
-DATA(insert OID = 269 (  intervallengt	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 269 (  intervallengt	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length greater-than");
-DATA(insert OID = 270 (  intervallenle	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 270 (  intervallenle	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length less-than-or-equals");
-DATA(insert OID = 271 (  intervallenge	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100	foo bar ));
+DATA(insert OID = 271 (  intervallenge	   PGUID 11 f t f 2 f 16 "704 703" 100 0 0 100  foo bar ));
 DESCR("length greater-than-or-equals");
 DATA(insert OID = 272 (  intervalstart	   PGUID 11 f t f 1 f 702 "704" 100 0 0 100  foo bar ));
 DESCR("start of interval");
@@ -588,15 +588,15 @@ DATA(insert OID = 273 (  intervalend	   PGUID 11 f t f 1 f 702 "704" 100 0 0 100
 DESCR("");
 DATA(insert OID = 274 (  timeofday		   PGUID 11 f t f 0 f 25 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 275 (  abstime_finite    PGUID 11 f t f 1 f 16 "702" 100 0 0 100	foo bar ));
+DATA(insert OID = 275 (  abstime_finite    PGUID 11 f t f 1 f 16 "702" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 276 (  int2fac		   PGUID 11 f t f 1 f 21 "21" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 277 (  inter_sl		   PGUID 11 f t f 2 f 16 "601 628" 100 0 0 100	foo bar ));
+DATA(insert OID = 277 (  inter_sl		   PGUID 11 f t f 2 f 16 "601 628" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 278 (  inter_lb		   PGUID 11 f t f 2 f 16 "628 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 278 (  inter_lb		   PGUID 11 f t f 2 f 16 "628 603" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 279 (  float48mul		   PGUID 11 f t f 2 f 701 "700 701" 100 0 0 100  foo bar ));
@@ -616,58 +616,58 @@ DESCR("addition");
 DATA(insert OID = 286 (  float84mi		   PGUID 11 f t f 2 f 701 "701 700" 100 0 0 100  foo bar ));
 DESCR("subtract");
 
-DATA(insert OID = 287 (  float4eq		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 287 (  float4eq		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 288 (  float4ne		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 288 (  float4ne		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 289 (  float4lt		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 289 (  float4lt		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 290 (  float4le		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 290 (  float4le		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 291 (  float4gt		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 291 (  float4gt		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 292 (  float4ge		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 292 (  float4ge		   PGUID 11 f t f 2 f 16 "700 700" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
-DATA(insert OID = 293 (  float8eq		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 293 (  float8eq		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 294 (  float8ne		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 294 (  float8ne		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 295 (  float8lt		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 295 (  float8lt		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 296 (  float8le		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 296 (  float8le		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 297 (  float8gt		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 297 (  float8gt		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 298 (  float8ge		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 298 (  float8ge		   PGUID 11 f t f 2 f 16 "701 701" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
-DATA(insert OID = 299 (  float48eq		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 299 (  float48eq		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("equals");
 
 /* OIDS 300 - 399 */
 
-DATA(insert OID = 300 (  float48ne		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 300 (  float48ne		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 301 (  float48lt		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 301 (  float48lt		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 302 (  float48le		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 302 (  float48le		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 303 (  float48gt		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 303 (  float48gt		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 304 (  float48ge		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 304 (  float48ge		   PGUID 11 f t f 2 f 16 "700 701" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 305 (  float84eq		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 305 (  float84eq		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 306 (  float84ne		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 306 (  float84ne		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 307 (  float84lt		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 307 (  float84lt		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 308 (  float84le		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 308 (  float84le		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 309 (  float84gt		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 309 (  float84gt		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 310 (  float84ge		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 310 (  float84ge		   PGUID 11 f t f 2 f 16 "701 700" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
 DATA(insert OID = 311 (  ftod			   PGUID 11 f t f 2 f 701 "700" 100 0 0 100  foo bar ));
@@ -678,7 +678,7 @@ DATA(insert OID = 313 (  i2toi4			   PGUID 11 f t f 1 f  23  "21" 100 0 0 100  f
 DESCR("convert");
 DATA(insert OID = 314 (  i4toi2			   PGUID 11 f t f 1 f  21  "23" 100 0 0 100  foo bar ));
 DESCR("convert");
-DATA(insert OID = 315 (  keyfirsteq		   PGUID 11 f t f 2 f  16	"0 21" 100 0 0 100	foo bar ));
+DATA(insert OID = 315 (  keyfirsteq		   PGUID 11 f t f 2 f  16	"0 21" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 316 (  i4tod			   PGUID 11 f t f 1 f 701  "23" 100 0 0 100  foo bar ));
 DESCR("convert");
@@ -755,13 +755,13 @@ DATA(insert OID = 352 (  btint42cmp		   PGUID 11 f t f 2 f 23 "23 21" 100 0 0 10
 DESCR("btree less-equal-greater");
 DATA(insert OID = 353 (  btint24cmp		   PGUID 11 f t f 2 f 23 "21 23" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 354 (  btfloat4cmp	   PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 354 (  btfloat4cmp	   PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 355 (  btfloat8cmp	   PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 355 (  btfloat8cmp	   PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
 DATA(insert OID = 356 (  btoidcmp		   PGUID 11 f t f 2 f 23 "26 26" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 357 (  btabstimecmp	   PGUID 11 f t f 2 f 23 "702 702" 100 0 0 100	foo bar ));
+DATA(insert OID = 357 (  btabstimecmp	   PGUID 11 f t f 2 f 23 "702 702" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
 DATA(insert OID = 358 (  btcharcmp		   PGUID 11 f t f 2 f 23 "18 18" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
@@ -781,20 +781,20 @@ DESCR("distance between");
 DATA(insert OID = 365 (  dist_sb		   PGUID 11 f t f 2 f 701 "601 603" 100 0 0 100  foo bar ));
 DESCR("distance between");
 DATA(insert OID = 366 (  close_ps		   PGUID 11 f t f 2 f 600 "600 601" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("closest point on line segment");
 DATA(insert OID = 367 (  close_pb		   PGUID 11 f t f 2 f 600 "600 603" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("closest point on box");
 DATA(insert OID = 368 (  close_sb		   PGUID 11 f t f 2 f 600 "601 603" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 369 (  on_ps			   PGUID 11 f t f 2 f 16 "600 601" 100 0 0 100	foo bar ));
+DESCR("closest point to line segment on box");
+DATA(insert OID = 369 (  on_ps			   PGUID 11 f t f 2 f 16 "600 601" 100 0 0 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 370 (  path_distance	   PGUID 11 f t f 2 f 701 "602 602" 100 0 1 0 foo bar ));
 DESCR("distance between");
 DATA(insert OID = 371 (  dist_ppath		   PGUID 11 f t f 2 f 701 "600 602" 100 0 1 0 foo bar ));
 DESCR("distance between");
-DATA(insert OID = 372 (  on_sb			   PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 372 (  on_sb			   PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
 DESCR("contained in");
-DATA(insert OID = 373 (  inter_sb		   PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100	foo bar ));
+DATA(insert OID = 373 (  inter_sb		   PGUID 11 f t f 2 f 16 "601 603" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1274 (  btchar16cmp	   PGUID 11 f t f 2 f 23 "19 19" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
@@ -828,9 +828,9 @@ DATA(insert OID = 449 (  hashint2		   PGUID 11 f t f 2 f 23 "21 21" 100 0 0 100
 DESCR("hash");
 DATA(insert OID = 450 (  hashint4		   PGUID 11 f t f 2 f 23 "23 23" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 451 (  hashfloat4		   PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100	foo bar ));
+DATA(insert OID = 451 (  hashfloat4		   PGUID 11 f t f 2 f 23 "700 700" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 452 (  hashfloat8		   PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100	foo bar ));
+DATA(insert OID = 452 (  hashfloat8		   PGUID 11 f t f 2 f 23 "701 701" 100 0 0 100  foo bar ));
 DESCR("hash");
 DATA(insert OID = 453 (  hashoid		   PGUID 11 f t f 2 f 23 "26 26" 100 0 0 100  foo bar ));
 DESCR("hash");
@@ -852,31 +852,31 @@ DATA(insert OID = 470 (  char4out		   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo
 DESCR("(internal)");
 DATA(insert OID = 471 (  char8out		   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 472 (  char2eq		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 472 (  char2eq		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 473 (  char4eq		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 473 (  char4eq		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 474 (  char8eq		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 474 (  char8eq		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 475 (  char2lt		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 475 (  char2lt		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 476 (  char4lt		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 476 (  char4lt		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 477 (  char8lt		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 477 (  char8lt		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 478 (  char2le		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 478 (  char2le		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 479 (  char4le		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 479 (  char4le		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 480 (  char8le		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 480 (  char8le		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 481 (  char2gt		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 481 (  char2gt		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 482 (  char4gt		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 482 (  char4gt		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 483 (  char8gt		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 483 (  char8gt		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 484 (  char2ge		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 484 (  char2ge		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 DATA(insert OID = 1275 (  char16eq		   PGUID 11 f t f 2 f 16 "19 19" 100 0 0 100  foo bar ));
 DESCR("equals");
@@ -920,27 +920,27 @@ DATA(insert OID = 682 (  mktinterval	   PGUID 11 f t f 2 f 704 "702 702" 100 0 0
 DESCR("convert to interval");
 DATA(insert OID = 683 (  oid8eq			   PGUID 11 f t f 2 f 16 "30 30" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 684 (  char4ge		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 684 (  char4ge		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 685 (  char8ge		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 685 (  char8ge		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 686 (  char2ne		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 686 (  char2ne		   PGUID 11 f t f 2 f 16 "409 409" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 687 (  char4ne		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 687 (  char4ne		   PGUID 11 f t f 2 f 16 "410 410" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 688 (  char8ne		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 688 (  char8ne		   PGUID 11 f t f 2 f 16 "411 411" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 689 (  btchar2cmp		   PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 689 (  btchar2cmp		   PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 690 (  btchar4cmp		   PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 690 (  btchar4cmp		   PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 691 (  btchar8cmp		   PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 691 (  btchar8cmp		   PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
 DESCR("btree less-equal-greater");
-DATA(insert OID = 692 (  hashchar2		   PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100	foo bar ));
+DATA(insert OID = 692 (  hashchar2		   PGUID 11 f t f 2 f 23 "409 409" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 693 (  hashchar4		   PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100	foo bar ));
+DATA(insert OID = 693 (  hashchar4		   PGUID 11 f t f 2 f 23 "410 410" 100 0 0 100  foo bar ));
 DESCR("hash");
-DATA(insert OID = 694 (  hashchar8		   PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100	foo bar ));
+DATA(insert OID = 694 (  hashchar8		   PGUID 11 f t f 2 f 23 "411 411" 100 0 0 100  foo bar ));
 DESCR("hash");
 DATA(insert OID = 695 (  char8regexeq	   PGUID 11 f t f 2 f 16 "411 25" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-sensitive");
@@ -994,13 +994,13 @@ DESCR("distance between");
 DATA(insert OID = 730 (  pqtest			   PGUID 11 f t f 1 f 23 "25" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 740 (  text_lt		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID = 740 (  text_lt		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 741 (  text_le		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID = 741 (  text_le		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 742 (  text_gt		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID = 742 (  text_gt		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 743 (  text_ge		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0	foo bar ));
+DATA(insert OID = 743 (  text_ge		   PGUID 11 f t f 2 f 16 "25 25" 100 0 0 0  foo bar ));
 DESCR("greater-than-or-equals");
 
 DATA(insert OID = 744 (  array_eq		   PGUID 11 f t f 2 f 16 "0 0" 100 0 0 100 foo bar));
@@ -1015,9 +1015,9 @@ DATA(insert OID = 748 (  array_set		   PGUID 11 f t f 8 f 23 "0 23 0 0 23 23 23
 DESCR("array");
 DATA(insert OID = 749 (  array_ref		   PGUID 11 f t f 7 f 23 "0 23 0 23 23 23 0" 100 0 0 100 foo bar));
 DESCR("array");
-DATA(insert OID = 750 (  array_in		   PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100	foo bar ));
+DATA(insert OID = 750 (  array_in		   PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
 DESCR("array");
-DATA(insert OID = 751 (  array_out		   PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100	foo bar ));
+DATA(insert OID = 751 (  array_out		   PGUID 11 f t f 2 f 23 "0 0" 100 0 0 100  foo bar ));
 DESCR("array");
 
 DATA(insert OID = 752 (  filename_in	   PGUID 11 f t f 2 f 605 "0" 100 0 0 100  foo bar ));
@@ -1029,9 +1029,9 @@ DATA(insert OID = 760 (  smgrin			   PGUID 11 f t f 1 f 210 "0" 100 0 0 100  foo
 DESCR("storage manager(internal)");
 DATA(insert OID = 761 (  smgrout		   PGUID 11 f t f 1 f 23  "0" 100 0 0 100  foo bar ));
 DESCR("storage manager(internal)");
-DATA(insert OID = 762 (  smgreq			   PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100	foo bar ));
+DATA(insert OID = 762 (  smgreq			   PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
 DESCR("storage manager");
-DATA(insert OID = 763 (  smgrne			   PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100	foo bar ));
+DATA(insert OID = 763 (  smgrne			   PGUID 11 f t f 2 f 16 "210 210" 100 0 0 100  foo bar ));
 DESCR("storage manager");
 
 DATA(insert OID = 764 (  lo_import		   PGUID 11 f t f 1 f 26 "25" 100 0 0 100  foo bar ));
@@ -1074,17 +1074,17 @@ DESCR("gist(internal)");
 DATA(insert OID = 782 (  gistbuild		   PGUID 11 f t f 9 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("gist(internal)");
 
-DATA(insert OID = 784 (  intervaleq		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 784 (  intervaleq		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 785 (  intervalne		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 785 (  intervalne		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 786 (  intervallt		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 786 (  intervallt		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 787 (  intervalgt		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 787 (  intervalgt		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 788 (  intervalle		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 788 (  intervalle		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 789 (  intervalge		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100	foo bar ));
+DATA(insert OID = 789 (  intervalge		   PGUID 11 f t f 2 f 16 "704 704" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 
 /* OIDS 800 - 899 */
@@ -1100,22 +1100,22 @@ DATA(insert OID = 820 (  oidint2in		   PGUID 11 f t f 1 f 810 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 821 (  oidint2out		   PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 822 (  oidint2lt		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 822 (  oidint2lt		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 823 (  oidint2le		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 823 (  oidint2le		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 824 (  oidint2eq		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 824 (  oidint2eq		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidInt2EqRegProcedure 824
 
-DATA(insert OID = 825 (  oidint2ge		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 825 (  oidint2ge		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 826 (  oidint2gt		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 826 (  oidint2gt		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 827 (  oidint2ne		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 827 (  oidint2ne		   PGUID 11 f t f 2 f 16 "810 810" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 828 (  oidint2cmp		   PGUID 11 f t f 2 f 21 "810 810" 100 0 0 100	foo bar));
+DATA(insert OID = 828 (  oidint2cmp		   PGUID 11 f t f 2 f 21 "810 810" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 829 (  mkoidint2		   PGUID 11 f t f 2 f 810 "26 21" 100 0 0 100  foo bar));
 DESCR("");
@@ -1214,22 +1214,22 @@ DATA(insert OID = 920 (  oidint4in		   PGUID 11 f t f 1 f 910 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 921 (  oidint4out		   PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 922 (  oidint4lt		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 922 (  oidint4lt		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 923 (  oidint4le		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 923 (  oidint4le		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 924 (  oidint4eq		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 924 (  oidint4eq		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidInt4EqRegProcedure 924
 
-DATA(insert OID = 925 (  oidint4ge		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 925 (  oidint4ge		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 926 (  oidint4gt		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 926 (  oidint4gt		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 927 (  oidint4ne		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 927 (  oidint4ne		   PGUID 11 f t f 2 f 16 "910 910" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 928 (  oidint4cmp		   PGUID 11 f t f 2 f 23 "910 910" 100 0 0 100	foo bar));
+DATA(insert OID = 928 (  oidint4cmp		   PGUID 11 f t f 2 f 23 "910 910" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 929 (  mkoidint4		   PGUID 11 f t f 2 f 910 "26 23" 100 0 0 100  foo bar));
 DESCR("");
@@ -1248,29 +1248,29 @@ DATA(insert OID = 940 (  oidnamein		   PGUID 11 f t f 1 f 911 "0" 100 0 0 100  f
 DESCR("(internal)");
 DATA(insert OID = 941 (  oidnameout		   PGUID 11 f t f 1 f 19 "0" 100 0 0 100  foo bar));
 DESCR("(internal)");
-DATA(insert OID = 942 (  oidnamelt		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 942 (  oidnamelt		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("less-than");
-DATA(insert OID = 943 (  oidnamele		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 943 (  oidnamele		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("less-than-or-equals");
-DATA(insert OID = 944 (  oidnameeq		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 944 (  oidnameeq		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("equals");
 
 #define OidNameEqRegProcedure 944
 
-DATA(insert OID = 945 (  oidnamege		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 945 (  oidnamege		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 946 (  oidnamegt		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 946 (  oidnamegt		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("greater-than");
-DATA(insert OID = 947 (  oidnamene		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 947 (  oidnamene		   PGUID 11 f t f 2 f 16 "911 911" 100 0 0 100  foo bar));
 DESCR("not equal");
-DATA(insert OID = 948 (  oidnamecmp		   PGUID 11 f t f 2 f 23 "911 911" 100 0 0 100	foo bar));
+DATA(insert OID = 948 (  oidnamecmp		   PGUID 11 f t f 2 f 23 "911 911" 100 0 0 100  foo bar));
 DESCR("less-equal-greater");
 DATA(insert OID = 949 (  mkoidname		   PGUID 11 f t f 2 f 911 "26 19" 100 0 0 100  foo bar));
 DESCR("");
 
-DATA(insert OID = 950 (  istrue			   PGUID 11 f t f 1 f 16 "16" 100 0 0 100	foo bar ));
+DATA(insert OID = 950 (  istrue			   PGUID 11 f t f 1 f 16 "16" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 951 (  isfalse		   PGUID 11 f t f 1 f 16 "16" 100 0 0 100	foo bar ));
+DATA(insert OID = 951 (  isfalse		   PGUID 11 f t f 1 f 16 "16" 100 0 0 100  foo bar ));
 DESCR("");
 
 DATA(insert OID = 952 (  lo_open		   PGUID 11 f t f 2 f 23 "26 23" 100 0 0 100  foo bar ));
@@ -1293,15 +1293,15 @@ DESCR("contained in");
 DATA(insert OID = 960 (  on_sl			   PGUID 11 f t f 2 f  16 "601 628" 100 0 10 100  foo bar ));
 DESCR("contained in");
 DATA(insert OID = 961 (  close_pl		   PGUID 11 f t f 2 f 600 "600 628" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point on line");
 DATA(insert OID = 962 (  close_sl		   PGUID 11 f t f 2 f 600 "601 628" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point to line segment on line");
 DATA(insert OID = 963 (  close_lb		   PGUID 11 f t f 2 f 600 "628 603" 100 0 10 100  foo bar ));
-DESCR("");
+DESCR("closest point to line on box");
 
-DATA(insert OID = 964 (  lo_unlink		   PGUID 11 f t f 1 f  23 "23" 100 0 0 100	foo bar ));
+DATA(insert OID = 964 (  lo_unlink		   PGUID 11 f t f 1 f  23 "23" 100 0 0 100  foo bar ));
 DESCR("large object unlink(delete)");
-DATA(insert OID = 972 (  regproctooid	   PGUID 11 f t f 1 f  26 "24" 100 0 0 100	foo bar ));
+DATA(insert OID = 972 (  regproctooid	   PGUID 11 f t f 1 f  26 "24" 100 0 0 100  foo bar ));
 DESCR("get oid for regproc");
 
 DATA(insert OID = 973 (  path_inter		   PGUID 11 f t f 2 f  16 "602 602" 100 0 10 100  foo bar ));
@@ -1318,41 +1318,41 @@ DATA(insert OID = 980 (  box_intersect	   PGUID 11 f t f 2 f 603 "603 603" 100 0
 DESCR("intersects");
 DATA(insert OID = 981 (  box_diagonal	   PGUID 11 f t f 1 f 601 "603" 100 0 0 100  foo bar ));
 DESCR("box diagonal");
-DATA(insert OID = 982 (  path_n_lt		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100	foo bar ));
+DATA(insert OID = 982 (  path_n_lt		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 983 (  path_n_gt		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100	foo bar ));
+DATA(insert OID = 983 (  path_n_gt		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 984 (  path_n_eq		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100	foo bar ));
+DATA(insert OID = 984 (  path_n_eq		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 985 (  path_n_le		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100	foo bar ));
+DATA(insert OID = 985 (  path_n_le		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 986 (  path_n_ge		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100	foo bar ));
+DATA(insert OID = 986 (  path_n_ge		   PGUID 11 f t f 2 f 16 "602 602" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
 DATA(insert OID = 987 (  path_length	   PGUID 11 f t f 1 f 701 "602" 100 0 1 0  foo bar ));
-DESCR("");
-DATA(insert OID = 988 (  point_ne		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
-DESCR("");
-DATA(insert OID = 989 (  point_vert		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
-DESCR("");
-DATA(insert OID = 990 (  point_horiz	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100	foo bar ));
-DESCR("");
+DESCR("sum of path segments");
+DATA(insert OID = 988 (  point_ne		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("not equal");
+DATA(insert OID = 989 (  point_vert		   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("is vertical");
+DATA(insert OID = 990 (  point_horiz	   PGUID 11 f t f 2 f 16 "600 600" 100 0 0 100  foo bar ));
+DESCR("is horizontal");
 DATA(insert OID = 991 (  point_distance    PGUID 11 f t f 2 f 701 "600 600" 100 0 0 100  foo bar ));
 DESCR("distance between");
 DATA(insert OID = 992 (  point_slope	   PGUID 11 f t f 2 f 701 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
+DESCR("slope between points");
 DATA(insert OID = 993 (  lseg_construct    PGUID 11 f t f 2 f 601 "600 600" 100 0 0 100  foo bar ));
-DESCR("");
-DATA(insert OID = 994 (  lseg_intersect    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100	foo bar ));
+DESCR("convert points to line segment");
+DATA(insert OID = 994 (  lseg_intersect    PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("intersects");
-DATA(insert OID = 995 (  lseg_parallel	   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100	foo bar ));
+DATA(insert OID = 995 (  lseg_parallel	   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("is parallel to");
-DATA(insert OID = 996 (  lseg_perp		   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100	foo bar ));
+DATA(insert OID = 996 (  lseg_perp		   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("is perpendicular to");
-DATA(insert OID = 997 (  lseg_vertical	   PGUID 11 f t f 1 f 16 "601" 100 0 0 100	foo bar ));
-DESCR("");
-DATA(insert OID = 998 (  lseg_horizontal   PGUID 11 f t f 1 f 16 "601" 100 0 0 100	foo bar ));
-DESCR("");
-DATA(insert OID = 999 (  lseg_eq		   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100	foo bar ));
+DATA(insert OID = 997 (  lseg_vertical	   PGUID 11 f t f 1 f 16 "601" 100 0 0 100  foo bar ));
+DESCR("is vertical");
+DATA(insert OID = 998 (  lseg_horizontal   PGUID 11 f t f 1 f 16 "601" 100 0 0 100  foo bar ));
+DESCR("is horizontal");
+DATA(insert OID = 999 (  lseg_eq		   PGUID 11 f t f 2 f 16 "601 601" 100 0 0 100  foo bar ));
 DESCR("equals");
 
 /* OIDS 1000 - 1999 */
@@ -1363,13 +1363,13 @@ DESCR("(internal)");
 DATA(insert OID = 1030 (  nonnullvalue	   PGUID 11 f t f 1 f 16 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 #define NonNullValueRegProcedure 1030
-DATA(insert OID = 1031 (  aclitemin		   PGUID 11 f t f 1 f 1033 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1031 (  aclitemin		   PGUID 11 f t f 1 f 1033 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1032 (  aclitemout	   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1035 (  aclinsert		   PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100	foo bar ));
+DATA(insert OID = 1035 (  aclinsert		   PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("addition");
-DATA(insert OID = 1036 (  aclremove		   PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100	foo bar ));
+DATA(insert OID = 1036 (  aclremove		   PGUID 11 f t f 2 f 1034 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("subtract");
 DATA(insert OID = 1037 (  aclcontains	   PGUID 11 f t f 2 f 16 "1034 1033" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-sensitive");
@@ -1377,11 +1377,11 @@ DATA(insert OID = 1038 (  seteval		   PGUID 11 f t f 1 f 23 "26" 100 0 0 100  fo
 DESCR("");
 #define SetEvalRegProcedure 1038
 
-DATA(insert OID = 1044 (  bpcharin		   PGUID 11 f t f 3 f 1042 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1044 (  bpcharin		   PGUID 11 f t f 3 f 1042 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1045 (  bpcharout		   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1046 (  varcharin		   PGUID 11 f t f 3 f 1043 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1046 (  varcharin		   PGUID 11 f t f 3 f 1043 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1047 (  varcharout	   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1418,7 +1418,7 @@ DESCR("hash");
 DATA(insert OID = 1081 (  hashvarchar	   PGUID 11 f t f 1 f 23 "1043" 100 0 0 100  foo bar ));
 DESCR("hash");
 
-DATA(insert OID = 1084 (  date_in		   PGUID 11 f t f 1 f 1082 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1084 (  date_in		   PGUID 11 f t f 1 f 1082 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1085 (  date_out		   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1451,9 +1451,9 @@ DATA(insert OID = 1106 (  time_ne		   PGUID 11 f t f 2 f 16 "1083 1083" 100 0 0
 DESCR("not equal");
 DATA(insert OID = 1107 (  time_cmp		   PGUID 11 f t f 2 f 23 "1083 1083" 100 0 0 100  foo bar ));
 DESCR("less-equal-greater");
-DATA(insert OID = 1138 (  date_larger	   PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100	foo bar ));
+DATA(insert OID = 1138 (  date_larger	   PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1139 (  date_smaller	   PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100	foo bar ));
+DATA(insert OID = 1139 (  date_smaller	   PGUID 11 f t f 2 f 1082 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1140 (  date_mi		   PGUID 11 f t f 2 f 23 "1082 1082" 100 0 0 100  foo bar ));
 DESCR("subtract");
@@ -1461,7 +1461,7 @@ DATA(insert OID = 1141 (  date_pli		   PGUID 11 f t f 2 f 1082 "1082 23" 100 0 0
 DESCR("addition");
 DATA(insert OID = 1142 (  date_mii		   PGUID 11 f t f 2 f 1082 "1082 23" 100 0 0 100  foo bar ));
 DESCR("subtract");
-DATA(insert OID = 1143 (  time_in		   PGUID 11 f t f 1 f 1083 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1143 (  time_in		   PGUID 11 f t f 1 f 1083 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1144 (  time_out		   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1477,28 +1477,28 @@ DESCR("multiply");
 DATA(insert OID = 1149 (  circle_div_pt    PGUID 11 f t f 2 f 718 "718 600" 100 0 0 100  foo bar ));
 DESCR("divide");
 
-DATA(insert OID = 1150 (  datetime_in	   PGUID 11 f t f 1 f 1184 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1150 (  datetime_in	   PGUID 11 f t f 1 f 1184 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1151 (  datetime_out	   PGUID 11 f t f 1 f	23 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1151 (  datetime_out	   PGUID 11 f t f 1 f	23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1152 (  datetime_eq	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1152 (  datetime_eq	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("equals");
-DATA(insert OID = 1153 (  datetime_ne	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1153 (  datetime_ne	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 1154 (  datetime_lt	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1154 (  datetime_lt	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 1155 (  datetime_le	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1155 (  datetime_le	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 1156 (  datetime_ge	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1156 (  datetime_ge	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 1157 (  datetime_gt	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100	foo bar ));
+DATA(insert OID = 1157 (  datetime_gt	   PGUID 11 f t f 2 f	16 "1184 1184" 100 0 0 100  foo bar ));
 DESCR("greater-than");
 DATA(insert OID = 1158 (  datetime_finite  PGUID 11 f t f 1 f	16 "1184" 100 0 0 100  foo bar ));
 DESCR("");
 DATA(insert OID = 1159 (  datetime_zone    PGUID 11 f t f 2 f	25 "25 1184" 100 0 0 100  foo bar ));
 DESCR("");
 
-DATA(insert OID = 1160 (  timespan_in	   PGUID 11 f t f 1 f 1186 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1160 (  timespan_in	   PGUID 11 f t f 1 f 1186 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1161 (  timespan_out	   PGUID 11 f t f 1 f 23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
@@ -1581,9 +1581,9 @@ DATA(insert OID = 1236 (  char16icregexeq  PGUID 11 f t f 2 f 16 "20 25" 100 0 0
 DESCR("matches regex., case-insensitive");
 DATA(insert OID = 1237 (  char16icregexne  PGUID 11 f t f 2 f 16 "20 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-insensitive");
-DATA(insert OID = 1238 (  texticregexeq    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1238 (  texticregexeq    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("matches regex., case-insensitive");
-DATA(insert OID = 1239 (  texticregexne    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0	foo bar ));
+DATA(insert OID = 1239 (  texticregexne    PGUID 11 f t f 2 f 16 "25 25" 100 0 1 0  foo bar ));
 DESCR("does not match regex., case-insensitive");
 DATA(insert OID = 1240 (  nameicregexeq    PGUID 11 f t f 2 f 16 "19 25" 100 0 0 100  foo bar ));
 DESCR("matches regex., case-insensitive");
@@ -1613,11 +1613,11 @@ DESCR("matches regex., case-insensitive");
 DATA(insert OID = 1295 (  char8icregexne   PGUID 11 f t f 2 f 16 "411 25" 100 0 0 100  foo bar ));
 DESCR("does not match regex., case-insensitive");
 
-DATA(insert OID = 1297 (  timestamp_in	   PGUID 11 f t f 1 f 1296 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1297 (  timestamp_in	   PGUID 11 f t f 1 f 1296 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
 DATA(insert OID = 1298 (  timestamp_out    PGUID 11 f t f 1 f   23 "0" 100 0 0 100  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1299 (  now			   PGUID 11 f t f 0 f 1296 "0" 100 0 0 100	foo bar ));
+DATA(insert OID = 1299 (  now			   PGUID 11 f t f 0 f 1296 "0" 100 0 0 100  foo bar ));
 DESCR("current transaction time");
 
 /* OIDS 1300 - 1399 */
@@ -1860,68 +1860,85 @@ DATA(insert OID = 1450 (  circle_in			PGUID 11 f t f 1 f 718 "0" 100 0 1 0  foo
 DESCR("(internal)");
 DATA(insert OID = 1451 (  circle_out		PGUID 11 f t f 1 f	23	"0" 100 0 1 0  foo bar ));
 DESCR("(internal)");
-DATA(insert OID = 1452 (  circle_same		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1452 (  circle_same		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("same as");
-DATA(insert OID = 1453 (  circle_contain	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1453 (  circle_contain	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("contains");
-DATA(insert OID = 1454 (  circle_left		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1454 (  circle_left		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 1455 (  circle_overleft	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1455 (  circle_overleft	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("overlaps, but does not extend to right of");
-DATA(insert OID = 1456 (  circle_overright	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1456 (  circle_overright	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("");
-DATA(insert OID = 1457 (  circle_right		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1457 (  circle_right		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is left of");
-DATA(insert OID = 1458 (  circle_contained	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1458 (  circle_contained	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("");
-DATA(insert OID = 1459 (  circle_overlap	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1459 (  circle_overlap	PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("overlaps");
-DATA(insert OID = 1460 (  circle_below		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1460 (  circle_below		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is below");
-DATA(insert OID = 1461 (  circle_above		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1461 (  circle_above		PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("is above");
-DATA(insert OID = 1462 (  circle_eq			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1462 (  circle_eq			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("equals");
-DATA(insert OID = 1463 (  circle_ne			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1463 (  circle_ne			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("not equal");
-DATA(insert OID = 1464 (  circle_lt			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1464 (  circle_lt			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("less-than");
-DATA(insert OID = 1465 (  circle_gt			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1465 (  circle_gt			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("greater-than");
-DATA(insert OID = 1466 (  circle_le			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1466 (  circle_le			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("less-than-or-equals");
-DATA(insert OID = 1467 (  circle_ge			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1467 (  circle_ge			PGUID 11 f t f 2 f	16 "718 718" 100 0 1 0  foo bar ));
 DESCR("greater-than-or-equals");
-DATA(insert OID = 1468 (  circle_area		PGUID 11 f t f 1 f 701 "718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1468 (  circle_area		PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("area");
-DATA(insert OID = 1469 (  circle_diameter	PGUID 11 f t f 1 f 701 "718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1469 (  circle_diameter	PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("diameter");
-DATA(insert OID = 1470 (  circle_radius		PGUID 11 f t f 1 f 701 "718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1470 (  circle_radius		PGUID 11 f t f 1 f 701 "718" 100 0 1 0  foo bar ));
 DESCR("radius");
-DATA(insert OID = 1471 (  circle_distance	PGUID 11 f t f 2 f 701 "718 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1471 (  circle_distance	PGUID 11 f t f 2 f 701 "718 718" 100 0 1 0  foo bar ));
 DESCR("distance between");
-DATA(insert OID = 1472 (  circle_center		PGUID 11 f t f 1 f 600 "718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1472 (  circle_center		PGUID 11 f t f 1 f 600 "718" 100 0 1 0  foo bar ));
 DESCR("center of");
-DATA(insert OID = 1473 (  circle			PGUID 11 f t f 2 f 718 "600 701" 100 0 1 0	foo bar ));
+DATA(insert OID = 1473 (  circle			PGUID 11 f t f 2 f 718 "600 701" 100 0 1 0  foo bar ));
 DESCR("convert");
-DATA(insert OID = 1474 (  poly_circle		PGUID 11 f t f 1 f 718 "604" 100 0 1 0	foo bar ));
+DATA(insert OID = 1474 (  poly_circle		PGUID 11 f t f 1 f 718 "604" 100 0 1 0  foo bar ));
 DESCR("convert");
 DATA(insert OID = 1475 (  circle_poly		PGUID 11 f t f 2 f 604 "23 718" 100 0 1 0  foo bar ));
 DESCR("convert");
-DATA(insert OID = 1476 (  dist_pc			PGUID 11 f t f 2 f 604 "600 718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1476 (  dist_pc			PGUID 11 f t f 2 f 604 "600 718" 100 0 1 0  foo bar ));
 DESCR("distance between");
-DATA(insert OID = 1477 (  circle_contain_pt   PGUID 11 f t f 2 f  16 "718 600" 100 0 0 100	foo bar ));
+DATA(insert OID = 1477 (  circle_contain_pt   PGUID 11 f t f 2 f  16 "718 600" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1478 (  pt_contained_circle PGUID 11 f t f 2 f  16 "600 718" 100 0 0 100	foo bar ));
+DATA(insert OID = 1478 (  pt_contained_circle PGUID 11 f t f 2 f  16 "600 718" 100 0 0 100  foo bar ));
 DESCR("");
-DATA(insert OID = 1479 (  box_circle		PGUID 11 f t f 1 f 718 "603" 100 0 1 0	foo bar ));
+DATA(insert OID = 1479 (  box_circle		PGUID 11 f t f 1 f 718 "603" 100 0 1 0  foo bar ));
 DESCR("convert");
-DATA(insert OID = 1480 (  circle_box		PGUID 11 f t f 1 f 603 "718" 100 0 1 0	foo bar ));
+DATA(insert OID = 1480 (  circle_box		PGUID 11 f t f 1 f 603 "718" 100 0 1 0  foo bar ));
 DESCR("convert");
 
 DATA(insert OID = 1481 (  text_substr		PGUID 11 f t f 3 f 25 "25 23 23" 100 0 0 100  foo bar ));
 DESCR("return portion of string");
 
+DATA(insert OID = 1482 (  lseg_ne			PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("not equal");
+DATA(insert OID = 1483 (  lseg_lt			PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("less-than");
+DATA(insert OID = 1484 (  lseg_le			PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("less-than-or-equals");
+DATA(insert OID = 1485 (  lseg_gt			PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("greater-than");
+DATA(insert OID = 1486 (  lseg_ge			PGUID 11 f t f 2 f  16 "601 601" 100 0 0 100  foo bar ));
+DESCR("greater-than-or-equals");
+DATA(insert OID = 1487 (  lseg_length		PGUID 11 f t f 1 f 701 "601" 100 0 1 0  foo bar ));
+DESCR("distance between endpoints");
+DATA(insert OID = 1488 (  close_ls			PGUID 11 f t f 2 f 600 "628 601" 100 0 10 100  foo bar ));
+DESCR("closest point to line on line segment");
+DATA(insert OID = 1489 (  close_lseg		PGUID 11 f t f 2 f 600 "601 601" 100 0 10 100  foo bar ));
+DESCR("closest point to line segment on line segment");
+
 DATA(insert OID = 1530 (  point				PGUID 14 f t f 2 f 600 "601 601" 100 0 0 100  "select lseg_interpt($1, $2)" - ));
 DESCR("convert");
 DATA(insert OID = 1531 (  point				PGUID 14 f t f 1 f 600 "718" 100 0 0 100  "select circle_center($1)" - ));
@@ -1953,7 +1970,7 @@ DESCR("");
 DATA(insert OID = 1550 (  path				PGUID 14 f t f 1 f 602 "604" 100 0 0 100  "select poly_path($1)" - ));
 DESCR("");
 DATA(insert OID = 1551 (  length			PGUID 14 f t f 1 f 701 "602" 100 0 1 0	"select path_length($1)" - ));
-DESCR("");
+DESCR("sum of lengths of path segments");
 DATA(insert OID = 1552 (  points			PGUID 14 f t f 1 f	23 "602" 100 0 0 100  "select path_npoints($1)" - ));
 DESCR("");
 DATA(insert OID = 1553 (  pclose			PGUID 14 f t f 1 f 602 "602" 100 0 0 100  "select path_close($1)" - ));
@@ -1992,6 +2009,8 @@ DATA(insert OID = 1574 (  points			PGUID 14 f t f 1 f	23 "604" 100 0 0 100  "sel
 DESCR("");
 DATA(insert OID = 1575 (  center			PGUID 14 f t f 1 f 600 "604" 100 0 0 100  "select poly_center($1)" - ));
 DESCR("");
+DATA(insert OID = 1576 (  length			PGUID 14 f t f 1 f 701 "601" 100 0 1 0	"select lseg_length($1)" - ));
+DESCR("distance between endpoints");
 
 DATA(insert OID = 1579 (  circle			PGUID 14 f t f 1 f 718 "603" 100 0 0 100  "select box_circle($1)" - ));
 DESCR("convert");
diff --git a/src/include/utils/geo_decls.h b/src/include/utils/geo_decls.h
index 803500b16862b979d4b0a6e90ff4fc08356cfb0c..14163f121782c23de6d59c414f4936c4b38735a5 100644
--- a/src/include/utils/geo_decls.h
+++ b/src/include/utils/geo_decls.h
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: geo_decls.h,v 1.17 1998/01/24 22:50:43 momjian Exp $
+ * $Id: geo_decls.h,v 1.18 1998/02/03 16:01:06 thomas Exp $
  *
  * NOTE
  *	  These routines do *not* use the float types from adt/.
@@ -170,6 +170,12 @@ extern bool lseg_perp(LSEG *l1, LSEG *l2);
 extern bool lseg_vertical(LSEG *lseg);
 extern bool lseg_horizontal(LSEG *lseg);
 extern bool lseg_eq(LSEG *l1, LSEG *l2);
+extern bool lseg_ne(LSEG *l1, LSEG *l2);
+extern bool lseg_lt(LSEG *l1, LSEG *l2);
+extern bool lseg_le(LSEG *l1, LSEG *l2);
+extern bool lseg_gt(LSEG *l1, LSEG *l2);
+extern bool lseg_ge(LSEG *l1, LSEG *l2);
+extern double *lseg_length(LSEG *lseg);
 extern double *lseg_distance(LSEG *l1, LSEG *l2);
 extern Point *lseg_center(LSEG *lseg);
 extern Point *lseg_interpt(LSEG *l1, LSEG *l2);
@@ -180,11 +186,13 @@ extern double *dist_pb(Point *pt, BOX *box);
 extern double *dist_sl(LSEG *lseg, LINE *line);
 extern double *dist_sb(LSEG *lseg, BOX *box);
 extern double *dist_lb(LINE *line, BOX *box);
+extern Point *close_lseg(LSEG *l1, LSEG *l2);
 extern Point *close_pl(Point *pt, LINE *line);
 extern Point *close_ps(Point *pt, LSEG *lseg);
 extern Point *close_pb(Point *pt, BOX *box);
 extern Point *close_sl(LSEG *lseg, LINE *line);
 extern Point *close_sb(LSEG *lseg, BOX *box);
+extern Point *close_ls(LINE *line, LSEG *lseg);
 extern Point *close_lb(LINE *line, BOX *box);
 extern bool on_pl(Point *pt, LINE *line);
 extern bool on_ps(Point *pt, LSEG *lseg);