You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by mx...@apache.org on 2010/04/19 12:19:32 UTC

svn commit: r935512 [3/4] - in /tcl/rivet/trunk/doc: ./ html/ xml/

Modified: tcl/rivet/trunk/doc/html/rivet.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/rivet.html?rev=935512&r1=935511&r2=935512&view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/rivet.html (original)
+++ tcl/rivet/trunk/doc/html/rivet.html Mon Apr 19 10:19:31 2010
@@ -1,9 +1,9 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Apache Rivet</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" title="Apache Rivet"><div class="titlepage"><div><div><h2 class="title"><a name="id2714515"></a>Apache Rivet</h2></div><div><div class="author"><h3 class="author"><span class="firstname">The Rivet Team</span></h3><div class="affiliation"><span class="orgname">The Apache Software Foundation<br></span><div class="address"><p><br>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Apache Rivet</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" title="Apache Rivet"><div class="titlepage"><div><div><h2 class="title"><a name="id2747216"></a>Apache Rivet</h2></div><div><div class="author"><h3 class="author"><span class="firstname">The Rivet Team</span></h3><div class="affiliation"><span class="orgname">The Apache Software Foundation<br></span><div class="address"><p><br>
 	  <code class="email">&lt;<a class="email" href="mailto:rivet-dev@tcl.apache.org">rivet-dev@tcl.apache.org</a>&gt;</code><br>
-	</p></div></div></div></div><div><p class="copyright">Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#introduction">Introduction to Apache Rivet</a></span></dt><dt><span class="section"><a href="#installation">Apache Rivet Installation</a></span></dt><dt><span class="section"><a href="#directives">Rivet Apache Directives</a></span></dt><dt><span class="section"><a href="#commands">Rivet Tcl Commands and Variables</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#var">var</a></span><span class="refpurpose"> &#8212; get the value of a form variable.</span></dt><dt><span class="refentrytitle"><a href="#upload">upload</a></span><span class="refpurpose"> &#8212; handle a file uploaded by a client.</span></dt><dt><span class="refentrytitle"><a href="#load_response">load_response</a></span><span class="refpurpose"> &
 #8212; load form variables into an array.</span></dt><dt><span class="refentrytitle"><a href="#load_headers">load_headers</a></span><span class="refpurpose"> &#8212; get client request's headers.</span></dt><dt><span class="refentrytitle"><a href="#load_cookies">load_cookies</a></span><span class="refpurpose"> &#8212; get any cookie variables sent by the client.</span></dt><dt><span class="refentrytitle"><a href="#load_env">load_env</a></span><span class="refpurpose"> &#8212; get the request's environment variables.</span></dt><dt><span class="refentrytitle"><a href="#env">env</a></span><span class="refpurpose"> &#8212; Loads a single
+	</p></div></div></div></div><div><p class="copyright">Copyright © 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apache Software Foundation</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#introduction">Introduction to Apache Rivet</a></span></dt><dt><span class="section"><a href="#installation">Apache Rivet Installation</a></span></dt><dt><span class="section"><a href="#directives">Rivet Apache Directives</a></span></dt><dt><span class="section"><a href="#commands">Rivet Tcl Commands and Variables</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#var">var</a></span><span class="refpurpose"> &#8212; get the value of a form variable.</span></dt><dt><span class="refentrytitle"><a href="#upload">upload</a></span><span class="refpurpose"> &#8212; handle a file uploaded by a client.</span></dt><dt><span class="refentrytitle"><a href="#load_response">load_response</a></span><span class="refpurpo
 se"> &#8212; load form variables into an array.</span></dt><dt><span class="refentrytitle"><a href="#load_headers">load_headers</a></span><span class="refpurpose"> &#8212; get client request's headers.</span></dt><dt><span class="refentrytitle"><a href="#load_cookies">load_cookies</a></span><span class="refpurpose"> &#8212; get any cookie variables sent by the client.</span></dt><dt><span class="refentrytitle"><a href="#load_env">load_env</a></span><span class="refpurpose"> &#8212; get the request's environment variables.</span></dt><dt><span class="refentrytitle"><a href="#env">env</a></span><span class="refpurpose"> &#8212; Loads a single
 	"environmental variable" into a Tcl variable.</span></dt><dt><span class="refentrytitle"><a href="#include">include</a></span><span class="refpurpose"> &#8212; includes a file into the output stream without modification.</span></dt><dt><span class="refentrytitle"><a href="#parse">parse</a></span><span class="refpurpose"> &#8212; parses a Rivet template file.</span></dt><dt><span class="refentrytitle"><a href="#headers">headers</a></span><span class="refpurpose"> &#8212; set and parse HTTP headers.</span></dt><dt><span class="refentrytitle"><a href="#makeurl">makeurl</a></span><span class="refpurpose"> &#8212; construct url's based on hostname, port.</span></dt><dt><span class="refentrytitle"><a href="#cookie">cookie</a></span><span class="refpurpose"> &#8212; get and set cookies.</span></dt><dt><span class="refentrytitle"><a href="#clock_to_rfc">clock_to_rfc850_gmt</a></span><span class="refpurpose"> &#8212; create a rfc850 time from [clock seconds].</span></dt><dt><span cl
 ass="refentrytitle"><a href="#html">html</a></span><span class="refpurpose"> &#8212; construct html tagged text.</span></dt><dt><span class="refentrytitle"><a href="#incr0">incr0</a></span><span class="refpurpose"> &#8212; increment a variable or set it to 1 if nonexistant.</span></dt><dt><span class="refentrytitle"><a href="#parray">parray</a></span><span class="refpurpose"> &#8212; Tcl's <span style="font-family:monospace"><span class="command"><strong>parray</strong></span></span> with html formatting.</span></dt><dt><span class="refentrytitle"><a href="#abort_page">abort_page</a></span><span class="refpurpose"> &#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's <span style="font-family:monospace"><span class="command"><strong>die</strong></span></span> command.</span></dt><dt><span class="refentrytitle"><a href="#no_body">no_body</a></span><span class="refpurpose"> &#8212; Prevents Rivet from sending any content.</span></dt><dt><span class="refentrytitle"><a href="#escape_string">escape_string</a></span><span class="refpurpose"> &#8212; convert a string into escaped characters.</span></dt><dt><span class="refentrytitle"><a href="#escape_sgml_chars">escape_sgml_chars</a></span><span class="refpurpose"> &#8212; escape special SGML characters in a string.</span></dt><dt><span class="refentrytitle"><a href="#escape_shell_command">escape_shell_command</a></span><span class="refpurpose"> &#8212; escape shell metacharacters in a string.</span></dt><dt><span class="refentrytitle"><a href="#unescape_string">unescape_string</a></span><span class="refpurpose"> &#8212; unescape escaped characters in a string.</span></dt><dt
 ><span class="refentrytitle"><a href="#apache_log_error">apache_log_error</a></span><span class="refpurpose"> &#8212; log messages to the Apache error log</span></dt><dt><span class="refentrytitle"><a href="#apache_table">apache_table</a></span><span class="refpurpose"> &#8212; access and manipulate Apache tables in the request structure.</span></dt></dl></dd><dt><span class="section"><a href="#examples">Examples and Usage</a></span></dt><dt><span class="section"><a href="#tcl_packages">Rivet Tcl Packages</a></span></dt><dt><span class="section"><a href="#dio">DIO - Database Interface Objects</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#dio_package">DIO</a></span><span class="refpurpose"> &#8212; Database Interface Objects</span></dt></dl></dd><dt><span class="section"><a href="#diodisplay">DIODisplay - Database Interface Objects Display Class</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#diodisplay_package">DIODisplay</a></span><span c
 lass="refpurpose"> &#8212; Database Interface Objects Display Class</span></dt></dl></dd><dt><span class="section"><a href="#session_package">Session Package</a></span></dt><dd><dl><dt><span class="section"><a href="#id2737819">Introduction</a></span></dt><dt><span class="section"><a href="#requirements">Requirements</a></span></dt><dt><span class="section"><a href="#id2737834">Preparing To Use It</a></span></dt><dt><span class="section"><a href="#id2737883">Example Usage</a></span></dt><dt><span class="section"><a href="#id2737949">Using Sessions From Your Code</a></span></dt><dt><span class="section"><a href="#id2738157">Session Configuration Options</a></span></dt><dt><span class="section"><a href="#id2738412">Session Methods</a></span></dt><dt><span class="section"><a href="#id2738651">Getting Additional Randomness From The Entropy File</a></span></dt></dl></dd><dt><span class="section"><a href="#help">Resources - How to Get Help</a></span></dt><dd><dl><dt><span class="s
 ection"><a href="#id2739697">Mailing Lists</a></span></dt><dt><span class="section"><a href="#id2739120">Newsgroup</a></span></dt><dt><span class="section"><a href="#websites">Web Sites</a></span></dt><dt><span class="section"><a href="#id2739774">Bug Tracking System</a></span></dt><dt><span class="section"><a href="#id2739792">IRC</a></span></dt><dt><span class="section"><a href="#id2739804">Editing Rivet Template Files</a></span></dt></dl></dd><dt><span class="section"><a href="#internals">Rivet Internals</a></span></dt><dd><dl><dt><span class="section"><a href="#id2739361">Initialization</a></span></dt><dt><span class="section"><a href="#id2740133">RivetChan</a></span></dt><dt><span class="section"><a href="#id2740160">The <span style="font-family:monospace"><span class="command"><strong>global</strong></span></span> Command</a></span></dt><dt><span class="section"><a href="#id2740212">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="#
 id2740267">Debugging Rivet and Apache</a></span></dt></dl></dd><dt><span class="section"><a href="#upgrading">Upgrading from mod_dtcl or NeoWebScript</a></span></dt><dd><dl><dt><span class="section"><a href="#id2739656">mod_dtcl</a></span></dt><dt><span class="section"><a href="#id2739472">NeoWebScript</a></span></dt></dl></dd></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>1. <a href="#hello%20world">Hello World</a></dt><dt>2. <a href="#id2724750">Generate a Table</a></dt><dt>3. <a href="#variable_access">Variable Access</a></dt><dt>4. <a href="#file_upload">File Upload</a></dt><dt>5. <a href="#file_download">File Download</a></dt><dt>6. <a href="#ajax_xml_messaging">XML Messages and Ajax</a></dt></dl></div><p style="width:90%">
-    Document revision: $Revision: 790674 $, last modified 2010-04-12 11:20:04+02:00$ by $Author: mxmanghi $.
+	  purpose to PHP's <span style="font-family:monospace"><span class="command"><strong>die</strong></span></span> command.</span></dt><dt><span class="refentrytitle"><a href="#no_body">no_body</a></span><span class="refpurpose"> &#8212; Prevents Rivet from sending any content.</span></dt><dt><span class="refentrytitle"><a href="#escape_string">escape_string</a></span><span class="refpurpose"> &#8212; convert a string into escaped characters.</span></dt><dt><span class="refentrytitle"><a href="#escape_sgml_chars">escape_sgml_chars</a></span><span class="refpurpose"> &#8212; escape special SGML characters in a string.</span></dt><dt><span class="refentrytitle"><a href="#escape_shell_command">escape_shell_command</a></span><span class="refpurpose"> &#8212; escape shell metacharacters in a string.</span></dt><dt><span class="refentrytitle"><a href="#unescape_string">unescape_string</a></span><span class="refpurpose"> &#8212; unescape escaped characters in a string.</span></dt><dt
 ><span class="refentrytitle"><a href="#apache_log_error">apache_log_error</a></span><span class="refpurpose"> &#8212; log messages to the Apache error log</span></dt><dt><span class="refentrytitle"><a href="#apache_table">apache_table</a></span><span class="refpurpose"> &#8212; access and manipulate Apache tables in the request structure.</span></dt></dl></dd><dt><span class="section"><a href="#examples">Examples and Usage</a></span></dt><dt><span class="section"><a href="#tcl_packages">Rivet Tcl Packages</a></span></dt><dt><span class="section"><a href="#dio">DIO - Database Interface Objects</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#dio_package">DIO</a></span><span class="refpurpose"> &#8212; Database Interface Objects</span></dt></dl></dd><dt><span class="section"><a href="#diodisplay">DIODisplay - Database Interface Objects Display Class</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="#diodisplay_package">DIODisplay</a></span><span c
 lass="refpurpose"> &#8212; Database Interface Objects Display Class</span></dt></dl></dd><dt><span class="section"><a href="#session_package">Session Package</a></span></dt><dd><dl><dt><span class="section"><a href="#id2770655">Introduction</a></span></dt><dt><span class="section"><a href="#requirements">Requirements</a></span></dt><dt><span class="section"><a href="#id2770670">Preparing To Use It</a></span></dt><dt><span class="section"><a href="#id2770719">Example Usage</a></span></dt><dt><span class="section"><a href="#id2770785">Using Sessions From Your Code</a></span></dt><dt><span class="section"><a href="#id2770993">Session Configuration Options</a></span></dt><dt><span class="section"><a href="#id2771248">Session Methods</a></span></dt><dt><span class="section"><a href="#id2771487">Getting Additional Randomness From The Entropy File</a></span></dt></dl></dd><dt><span class="section"><a href="#help">Resources - How to Get Help</a></span></dt><dd><dl><dt><span class="s
 ection"><a href="#id2772533">Mailing Lists</a></span></dt><dt><span class="section"><a href="#id2771956">Newsgroup</a></span></dt><dt><span class="section"><a href="#websites">Web Sites</a></span></dt><dt><span class="section"><a href="#id2772610">Bug Tracking System</a></span></dt><dt><span class="section"><a href="#id2772628">IRC</a></span></dt><dt><span class="section"><a href="#id2772640">Editing Rivet Template Files</a></span></dt></dl></dd><dt><span class="section"><a href="#internals">Rivet Internals</a></span></dt><dd><dl><dt><span class="section"><a href="#id2772197">Initialization</a></span></dt><dt><span class="section"><a href="#id2772970">RivetChan</a></span></dt><dt><span class="section"><a href="#id2772997">The <span style="font-family:monospace"><span class="command"><strong>global</strong></span></span> Command</a></span></dt><dt><span class="section"><a href="#id2773048">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="#
 id2773103">Debugging Rivet and Apache</a></span></dt></dl></dd><dt><span class="section"><a href="#upgrading">Upgrading from mod_dtcl or NeoWebScript</a></span></dt><dd><dl><dt><span class="section"><a href="#id2772492">mod_dtcl</a></span></dt><dt><span class="section"><a href="#id2772308">NeoWebScript</a></span></dt></dl></dd></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>1. <a href="#hello%20world">Hello World</a></dt><dt>2. <a href="#id2757575">Generate a Table</a></dt><dt>3. <a href="#variable_access">Variable Access</a></dt><dt>4. <a href="#file_upload">File Upload</a></dt><dt>5. <a href="#file_download">File Download</a></dt><dt>6. <a href="#ajax_xml_messaging">XML Messages and Ajax</a></dt></dl></div><p style="width:90%">
+    Document revision: $Revision: 790674 $, last modified 2010-04-19 12:14:00+02:00$ by $Author: mxmanghi $.
   </p><div class="section" title="Introduction to Apache Rivet"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction to Apache Rivet</h2></div></div></div><p style="width:90%">
       Apache Rivet is a system for creating dynamic web content via a
       programming language integrated with Apache Web Server.  It is
@@ -26,36 +26,29 @@
       don't hesitate to let us know.  If you want to contribute
       directly, better yet!
     </p></div><div class="section" title="Apache Rivet Installation"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="installation"></a>Apache Rivet Installation</h2></div></div></div><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Check Dependencies"><p class="title"><b>Check Dependencies</b></p><p style="width:90%">
-	  To install Rivet, you will need Tcl 8.4 or greater and
-	  Apache 1.3.xx.  It is known to run on Linux, FreeBSD,
-	  OpenBSD, and Solaris and HPUX.  Windows NT is also possible
-	  - please see the directions in the distribution.  Note that
-	  Rivet does not currently work with Apache 2.
+	  To install Rivet, you will need Tcl 8.4 or greater. Rivet can be compiled to work 
+	  with either Apache 1.3.xx or Apache 2.2.xx server.
+	  It is known to run on Linux, FreeBSD, OpenBSD, Solaris and HPUX. Windows NT is also possible
+	  - please see the directions in the distribution.  
 	</p></li><li class="step" title="Get Rivet"><p class="title"><b>Get Rivet</b></p><p style="width:90%">
 	  Download the sources at <a class="ulink" href="http://tcl.apache.org/rivet/download.html" target="_top">http://tcl.apache.org/rivet/download.html</a>.  Currently
-	  the only way to obtain Rivet.  In the future, we hope to
-	  have a FreeBSD port, Debian package, RPM's, and windows
+	  the only way to obtain Rivet.  In the future, we hope to have a FreeBSD port, Debian package, RPM's, and windows
 	  binaries.
 	</p></li><li class="step" title="Install Tcl"><p class="title"><b>Install Tcl</b></p><p style="width:90%">
 	  If you don't have Tcl already, you need it!  If you already
 	  have it, you should just be able to use your system Tcl as
-	  long as it is recent.  You can tell Rivet where Tcl is via
-	  the -with-tclconfig option to
-	  <span style="font-family:monospace"><span class="command"><strong>configure.tcl</strong></span></span> (see below).</p></li><li class="step" title="Get and Install Apache Sources"><p class="title"><b>Get and Install Apache Sources</b></p><p style="width:90%">
-          Rivet needs some Apache include (.h) files in order to
-	  build.  The easiest way to get them is to download the
-	  source code of the Apache web server, although some systems
-	  (Debian GNU/Linux for example) make it possible to install
-	  only the headers and other development files.  If you intend
-	  to build Rivet statically (compiled into the Apache web
-	  server instead of loaded dynamically), you definitely need
-	  the sources.  We recommend that you build Rivet as a
-	  loadable shared library, for maximum flexibility, meaning
-	  that you also build Apache to be able to load modules.
-	  Other than that, the default Apache install is fine.  We
-	  will tell Rivet where it is located via the
-	  -with-apxs option to
-	  <span style="font-family:monospace"><span class="command"><strong>configure.tcl</strong></span></span> (see below).
+	  long as it is recent.  You can tell Rivet build scripts where Tcl is via
+	  the --with-tcl option to <span style="font-family:monospace"><span class="command"><strong>configure</strong></span></span> (see below).
+	</p></li><li class="step" title="Get and Install Apache Sources"><p class="title"><b>Get and Install Apache Sources</b></p><p style="width:90%">
+          Rivet needs some Apache include (.h) files in order to build.  The easiest way 
+	  to get them is to download the source code of the Apache web server, although some systems
+	  (Debian GNU/Linux for example) make it possible to install only the headers and other 
+	  development files.  If you intend to build Rivet statically (compiled into the Apache web
+	  server instead of loaded dynamically), you definitely need the sources.  
+	    We recommend that you build Rivet as a loadable shared library, for maximum flexibility,
+	    meaning that you also build Apache to be able to load modules. Other than that, 
+	    the default Apache install is fine.  We will tell Rivet where it is located via the 
+	    --with-apxs option to <span style="font-family:monospace"><span class="command"><strong>configure</strong></span></span> (see below).
 	</p><p style="width:90%">
           The source code for the Apache web server may be found by
           following the links here: <a class="ulink" href="http://httpd.apache.org/" target="_top">http://httpd.apache.org/</a>.
@@ -71,19 +64,28 @@ tar -xvf tcl-rivet-X.X.X.tar.gz</pre><p 
 	      On Linux or Unix systems, Rivet uses the standard
 	      ./configure ; make ; make install technique.
 	    </p><p style="width:90%">
-	      There are several options to configure that might be useful
-	      or necessary:
+	      There are several rivet specific options to configure that might be useful (or needed):
 	      </p><div class="variablelist"><dl><dt><span class="term">--with-tcl</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
 		      This points to the directory where the
 		      <code class="filename">tclConfig.sh</code> file is located.
 		    </div></div></dd><dt><span class="term">--with-tclsh</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">This points to the location of the
 		      <code class="filename">tclsh</code> executable.</div></div></dd><dt><span class="term">--with-apxs</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The location of the <code class="filename">apxs</code>
 		      program that provides information about the
-		      configuration and compilation of Apache modules.</div></div></dd></dl></div><p style="width:90%">
+		      configuration and compilation options of Apache modules.</div></div></dd><dt><span class="term">--with-apache-version</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
+			This option's value must be either 1 or 2, meaning you want to build Rivet for
+			Apache 1.x or Apache 2.x servers.
+		    </div></div></dd><dt><span class="term">--with-apache-include[=DIR]</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
+			    Locates the Apache include files on your computer, if they're not in standard directory. 
+		    </div></div></dd><dt><span class="term">--enable-version-display=[yes|no]</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
+			This option enables Rivet to display its version in the logfiles when Apache is started. 
+			The default is to keep Rivet version hidden.
+		    </div></div></dd><dt><span class="term">--with-rivet-target-dir=DIR</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
+			    This option tells the install script where Rivet's Tcl packages have to be copied. 
+			</div></div></dd></dl></div><p style="width:90%">
 	    </p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">cd src/
 ./configure --with-tcl=/usr/lib/tcl8.4/ --with-tclsh=/usr/bin/tclsh8.4 \
 	    --with-apxs=/usr/bin/apxs
-</pre></li><li class="step" title="Run make"><p class="title"><b>Run make</b></p><p style="width:90%">
+	</pre></li><li class="step" title="Run make"><p class="title"><b>Run make</b></p><p style="width:90%">
 	      At this point, you are ready to run make, which should
 	      run to completion without any errors (a warning or two
 	      is ok, generally).
@@ -115,8 +117,8 @@ AddType application/x-rivet-tcl .tcl</pr
 	  but if you want to change the default charset for the whole site or directory hierarchy  
 	  a new charset can be embedded in a AddType line in a way similar to the html pages encoding.
 	</p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">AddType 'application/x-httpd-rivet;charset=utf-8' rvt</pre><p style="width:90%">
-	   Pages which this configuration applies to send back to the client
-	   a <span style="font-family:monospace"><span class="command"><strong>Content-Type:'text/html;charset=utf-8'</strong></span></span> header.
+	   All the pages generated by Rivet on this site will be sent with a 
+	    <span style="font-family:monospace"><span class="command"><strong>Content-Type:'text/html;charset=utf-8'</strong></span></span> header.
 	</p><p style="width:90%">You may also wish to use Rivet files as index files for
 	directories.  In that case, you would do the following:</p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">DirectoryIndex index.html index.htm index.shtml index.cgi index.tcl index.rvt</pre><p style="width:90%">
 	  For other directives that Rivet provides for Apache
@@ -265,7 +267,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	    <span style="font-family:monospace"><span class="command"><strong>RivetServerConf</strong></span></span>, except that they are
 	    only valid for the directory where they are specified, and
 	    its subdirectories.
-	  </div></div></dd></dl></div></div><div class="section" title="Rivet Tcl Commands and Variables"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="commands"></a>Rivet Tcl Commands and Variables</h2></div></div></div><div class="refentry" title="var"><a name="var"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>var, var_qs, var_post &#8212; get the value of a form variable.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">n
 umber</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var_qs</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">number</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var_post</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monos
 pace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">number</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2718641"></a><h2>Description</h2><p style="width:90%">
+	  </div></div></dd></dl></div></div><div class="section" title="Rivet Tcl Commands and Variables"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="commands"></a>Rivet Tcl Commands and Variables</h2></div></div></div><div class="refentry" title="var"><a name="var"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>var, var_qs, var_post &#8212; get the value of a form variable.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">n
 umber</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var_qs</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">number</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">var_post</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monos
 pace; font-weight: bold;">list</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">number</span> | <span style="font-family:monospace; font-weight: bold;">all</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2751466"></a><h2>Description</h2><p style="width:90%">
 	  The <span style="font-family:monospace"><span class="command"><strong>var</strong></span></span> command retrieves information
 	  about GET or POST variables sent to the script via client
 	  request.  It treats both GET and POST variables the same,
@@ -308,7 +310,7 @@ AddType application/x-rivet-tcl .tcl</pr
 		Return a list of variable names and values.
 	      </div></div></dd></dl></div><p style="width:90%">
 	  See <a class="xref" href="#variable_access" title="Example 3. Variable Access">Example 3, &#8220;Variable Access&#8221;</a>.
-	</p></div></div><div class="refentry" title="upload"><div class="refentry.separator"><hr></div><a name="upload"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>upload &#8212; handle a file uploaded by a client.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">upload</span>  (<span style="font-family:monospace; font-weight: bold;">channel</span> | <span style="font-family:monospace; font-weight: bold;">save</span> | <span style="font-family:monospace; font-weight: bold;">data</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">size</span> | <span style="font-family:monospace; font-weight: bold;">type</span> | <span style="font-family:monospace; font
 -weight: bold;">filename</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2718991"></a><h2>Description</h2><p style="width:90%">The upload command is for file upload manipulation.
+	</p></div></div><div class="refentry" title="upload"><div class="refentry.separator"><hr></div><a name="upload"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>upload &#8212; handle a file uploaded by a client.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">upload</span>  (<span style="font-family:monospace; font-weight: bold;">channel</span> | <span style="font-family:monospace; font-weight: bold;">save</span> | <span style="font-family:monospace; font-weight: bold;">data</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">size</span> | <span style="font-family:monospace; font-weight: bold;">type</span> | <span style="font-family:monospace; font
 -weight: bold;">filename</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2751816"></a><h2>Description</h2><p style="width:90%">The upload command is for file upload manipulation.
 	  See the relevant Apache Directives to further configure the
 	  behavior of this Rivet feature.
 	</p><div class="variablelist"><dl><dt><span class="term">
@@ -362,7 +364,7 @@ AddType application/x-rivet-tcl .tcl</pr
 		uploaded.
 	      </div></div></dd></dl></div><p style="width:90%">
 	  See <a class="xref" href="#upload" title="upload">upload</a>.
-	</p></div></div><div class="refentry" title="load_response"><div class="refentry.separator"><hr></div><a name="load_response"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_response &#8212; load form variables into an array.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_response</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arrayName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719429"></a><h2>Description</h2>
+	</p></div></div><div class="refentry" title="load_response"><div class="refentry.separator"><hr></div><a name="load_response"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_response &#8212; load form variables into an array.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_response</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arrayName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752253"></a><h2>Description</h2>
 	Load any form variables passed to this page into an
 	array. If <span style="font-family:monospace"><span class="command"><strong>load_response</strong></span></span> is called without 
 	arguments the array response is created in 
@@ -379,15 +381,15 @@ AddType application/x-rivet-tcl .tcl</pr
 	array results in adding more values to the array at every call. 
 	When needed it is left to the caller to empty the array between 
 	two subsequent calls.  
-      </div></div><div class="refentry" title="load_headers"><div class="refentry.separator"><hr></div><a name="load_headers"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_headers &#8212; get client request's headers.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_headers</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719506"></a><h2>Description</h2><p style="width:90%">
+      </div></div><div class="refentry" title="load_headers"><div class="refentry.separator"><hr></div><a name="load_headers"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_headers &#8212; get client request's headers.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_headers</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752331"></a><h2>Description</h2><p style="width:90%">
 	  Load the headers that come from a client request into the
 	  provided array name, or use headers if no
 	  name is provided.
-	</p></div></div><div class="refentry" title="load_cookies"><div class="refentry.separator"><hr></div><a name="load_cookies"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_cookies &#8212; get any cookie variables sent by the client.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_cookies</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719559"></a><h2>Description</h2></div><p style="width:90%">
+	</p></div></div><div class="refentry" title="load_cookies"><div class="refentry.separator"><hr></div><a name="load_cookies"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_cookies &#8212; get any cookie variables sent by the client.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_cookies</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752384"></a><h2>Description</h2></div><p style="width:90%">
 	Load the array of cookie variables into the specified
 	array name.  Uses array cookies by
 	default.
-      </p></div><div class="refentry" title="load_env"><div class="refentry.separator"><hr></div><a name="load_env"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_env &#8212; get the request's environment variables.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_env</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719611"></a><h2>Description</h2><p style="width:90%">
+      </p></div><div class="refentry" title="load_env"><div class="refentry.separator"><hr></div><a name="load_env"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>load_env &#8212; get the request's environment variables.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">load_env</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>array_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752435"></a><h2>Description</h2><p style="width:90%">
 	  Load the array of environment variables into the specified
 	  array name.  Uses array ::request::env by
 	  default.
@@ -397,19 +399,19 @@ AddType application/x-rivet-tcl .tcl</pr
 	  for most uses - it's ok to access it as
 	  env.
 	</p></div></div><div class="refentry" title="env"><div class="refentry.separator"><hr></div><a name="env"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>env &#8212; Loads a single
-	"environmental variable" into a Tcl variable.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">env</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>varName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719675"></a><h2>Description</h2><p style="width:90%">
+	"environmental variable" into a Tcl variable.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">env</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>varName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752500"></a><h2>Description</h2><p style="width:90%">
 	  If it is only necessary to load one environmental variable,
 	  this command may be used to avoid the overhead of loading
 	  and storing the entire array.
-	</p></div></div><div class="refentry" title="include"><div class="refentry.separator"><hr></div><a name="include"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>include &#8212; includes a file into the output stream without modification.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">include</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719725"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="include"><div class="refentry.separator"><hr></div><a name="include"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>include &#8212; includes a file into the output stream without modification.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">include</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename_name</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752550"></a><h2>Description</h2><p style="width:90%">
 	  Include a file without parsing it for processing tags &lt;?
 	  and ?&gt;.  This is the best way to include an HTML file or
 	  any other static content.
-	</p></div></div><div class="refentry" title="parse"><div class="refentry.separator"><hr></div><a name="parse"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>parse &#8212; parses a Rivet template file.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">parse</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2719779"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="parse"><div class="refentry.separator"><hr></div><a name="parse"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>parse &#8212; parses a Rivet template file.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">parse</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752604"></a><h2>Description</h2><p style="width:90%">
 	  Like the Tcl <span style="font-family:monospace"><span class="command"><strong>source</strong></span></span> command, but also
 	  parses for Rivet &lt;?  and ?&gt; processing tags.  Using
 	  this command, you can use one .rvt file from another.
-	</p></div></div><div class="refentry" title="headers"><div class="refentry.separator"><hr></div><a name="headers"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>headers &#8212; set and parse HTTP headers.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">headers</span>  (<span style="font-family:monospace; font-weight: bold;">set</span> | <span style="font-family:monospace; font-weight: bold;">redirect</span> | <span style="font-family:monospace; font-weight: bold;">add</span> | <span style="font-family:monospace; font-weight: bold;">type</span> | <span style="font-family:monospace; font-weight: bold;">numeric</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2719871"></a><h2>Description</h2><p style="wi
 dth:90%">
+	</p></div></div><div class="refentry" title="headers"><div class="refentry.separator"><hr></div><a name="headers"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>headers &#8212; set and parse HTTP headers.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">headers</span>  (<span style="font-family:monospace; font-weight: bold;">set</span> | <span style="font-family:monospace; font-weight: bold;">redirect</span> | <span style="font-family:monospace; font-weight: bold;">add</span> | <span style="font-family:monospace; font-weight: bold;">type</span> | <span style="font-family:monospace; font-weight: bold;">numeric</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2752696"></a><h2>Description</h2><p style="wi
 dth:90%">
 	  The <span style="font-family:monospace"><span class="command"><strong>headers</strong></span></span> command is for setting and
 	  parsing HTTP headers.
 	</p><div class="variablelist"><dl><dt><span class="term"><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">headers</span>   <span style="font-family:monospace; font-weight: bold;">set</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>headername</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>value</code></em></span>?</div></div>
@@ -433,48 +435,48 @@ AddType application/x-rivet-tcl .tcl</pr
 	      </div></div></dd><dt><span class="term">
 	      <div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">headers</span>   <span style="font-family:monospace; font-weight: bold;">numeric</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>response code</code></em></span>?</div></div>
 	    </span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">Set a numeric response code, such as 200, 404 or 500.
-	      </div></div></dd></dl></div></div></div><div class="refentry" title="makeurl"><div class="refentry.separator"><hr></div><a name="makeurl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>makeurl &#8212; construct url's based on hostname, port.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">makeurl</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720152"></a><h2>Description</h2><p style="width:90%">
+	      </div></div></dd></dl></div></div></div><div class="refentry" title="makeurl"><div class="refentry.separator"><hr></div><a name="makeurl"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>makeurl &#8212; construct url's based on hostname, port.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">makeurl</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>filename</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2752976"></a><h2>Description</h2><p style="width:90%">
 	  Create a self referencing URL from a filename.  For example:
 	  </p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">makeurl /tclp.gif</pre><p style="width:90%">
 	  returns
 	  <code class="computeroutput">http://[hostname]:[port]/tclp.gif</code>.
 	  where hostname and port are the hostname and port of the
 	  server in question.
-	</p></div></div><div class="refentry" title="cookie"><div class="refentry.separator"><hr></div><a name="cookie"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>cookie &#8212; get and set cookies.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">cookie</span>  ?<span style="font-family:monospace; font-weight: bold;">set</span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>cookieName</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>?<span class="optional">cookiValue</span>?</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-days <em class="replaceable"><code>expireInDays</code></em></span>? ?<span style="font
 -family:monospace; font-weight: bold;">-hours <em class="replaceable"><code>expireInHours</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-minutes <em class="replaceable"><code>expireInMinutes</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-expires <em class="replaceable"><code>Wdy, DD-Mon-YYYY HH:MM:SS GMT</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-path <em class="replaceable"><code>uriPathCookieAppliesTo</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-secure <em class="replaceable"><code>1/0</code></em></span>?</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">cookie</span>  ?<span style="font-family:monospace; font-weight: bold;">get</span>? ?<span style="font-family:monospace; font-weight: b
 old;"><em class="replaceable"><code>cookieName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720311"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="cookie"><div class="refentry.separator"><hr></div><a name="cookie"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>cookie &#8212; get and set cookies.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">cookie</span>  ?<span style="font-family:monospace; font-weight: bold;">set</span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>cookieName</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>?<span class="optional">cookiValue</span>?</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-days <em class="replaceable"><code>expireInDays</code></em></span>? ?<span style="font
 -family:monospace; font-weight: bold;">-hours <em class="replaceable"><code>expireInHours</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-minutes <em class="replaceable"><code>expireInMinutes</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-expires <em class="replaceable"><code>Wdy, DD-Mon-YYYY HH:MM:SS GMT</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-path <em class="replaceable"><code>uriPathCookieAppliesTo</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;">-secure <em class="replaceable"><code>1/0</code></em></span>?</div></div><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">cookie</span>  ?<span style="font-family:monospace; font-weight: bold;">get</span>? ?<span style="font-family:monospace; font-weight: b
 old;"><em class="replaceable"><code>cookieName</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753136"></a><h2>Description</h2><p style="width:90%">
 	  <span style="font-family:monospace"><span class="command"><strong>cookie</strong></span></span> gets or sets a cookie.  When you
 	  get a cookie, the command returns the value of the cookie,
 	  or an empty string if no cookie exists.
-	</p></div></div><div class="refentry" title="clock_to_rfc850_gmt"><div class="refentry.separator"><hr></div><a name="clock_to_rfc"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>clock_to_rfc850_gmt &#8212; create a rfc850 time from [clock seconds].</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">clock_to_rfc850_gmt</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>seconds</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720366"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="clock_to_rfc850_gmt"><div class="refentry.separator"><hr></div><a name="clock_to_rfc"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>clock_to_rfc850_gmt &#8212; create a rfc850 time from [clock seconds].</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">clock_to_rfc850_gmt</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>seconds</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753190"></a><h2>Description</h2><p style="width:90%">
 	  Convert an integer-seconds-since-1970 click value to
 	  RFC850 format, with the additional requirement that it be
 	  GMT only.
-	</p></div></div><div class="refentry" title="html"><div class="refentry.separator"><hr></div><a name="html"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>html &#8212; construct html tagged text.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">html</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>string</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arg</code></em></span>...?</div></div></div><div class="refsect1" title="Description"><a name="id2720423"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="html"><div class="refentry.separator"><hr></div><a name="html"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>html &#8212; construct html tagged text.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">html</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>string</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arg</code></em></span>...?</div></div></div><div class="refsect1" title="Description"><a name="id2753247"></a><h2>Description</h2><p style="width:90%">
 	  Print text with the added ability to pass HTML tags
 	  following the string.  Example:
 	  </p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">html "Test" b i</pre><p style="width:90%">
 	  produces: <code class="computeroutput">&lt;b&gt;&lt;i&gt;Test&lt;/i&gt;&lt;/b&gt;</code>
-	</p></div></div><div class="refentry" title="incr0"><div class="refentry.separator"><hr></div><a name="incr0"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>incr0 &#8212; increment a variable or set it to 1 if nonexistant.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">incr0</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>varname</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>num</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720491"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="incr0"><div class="refentry.separator"><hr></div><a name="incr0"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>incr0 &#8212; increment a variable or set it to 1 if nonexistant.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">incr0</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>varname</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>num</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753316"></a><h2>Description</h2><p style="width:90%">
 	  Increment a variable
 	  <em class="replaceable"><code>varname</code></em> by
 	  <em class="replaceable"><code>num</code></em>.  If the
 	  variable doesn't exist, create it instead of returning an
 	  error.
-	</p></div></div><div class="refentry" title="parray"><div class="refentry.separator"><hr></div><a name="parray"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>parray &#8212; Tcl's <span style="font-family:monospace"><span class="command"><strong>parray</strong></span></span> with html formatting.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">parray</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arrayName</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>?<span class="optional">pattern</span>?</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720562"></a><h2>Description</h2><p style="w
 idth:90%">
+	</p></div></div><div class="refentry" title="parray"><div class="refentry.separator"><hr></div><a name="parray"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>parray &#8212; Tcl's <span style="font-family:monospace"><span class="command"><strong>parray</strong></span></span> with html formatting.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">parray</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>arrayName</code></em></span>? ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>?<span class="optional">pattern</span>?</code></em></span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753387"></a><h2>Description</h2><p style="w
 idth:90%">
 	  An html version of the standard Tcl
 	  <span style="font-family:monospace"><span class="command"><strong>parray</strong></span></span> command.  Displays the entire
 	  contents of an array in a sorted, nicely-formatted way.
 	  Mostly used for debugging purposes.
 	</p></div></div><div class="refentry" title="abort_page"><div class="refentry.separator"><hr></div><a name="abort_page"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>abort_page &#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's <span style="font-family:monospace"><span class="command"><strong>die</strong></span></span> command.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">abort_page</span> </div></div></div><div class="refsect1" title="Description"><a name="id2720615"></a><h2>Description</h2><p style="width:90%">This command flushes the
+	  purpose to PHP's <span style="font-family:monospace"><span class="command"><strong>die</strong></span></span> command.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">abort_page</span> </div></div></div><div class="refsect1" title="Description"><a name="id2753440"></a><h2>Description</h2><p style="width:90%">This command flushes the
 	output buffer and stops the Tcl script from sending any more
 	data to the client.  A normal Tcl script might use the
 	<span style="font-family:monospace"><span class="command"><strong>exit</strong></span></span> command, but that cannot be used in
 	Rivet without actually exiting the apache child
-	process!</p></div></div><div class="refentry" title="no_body"><div class="refentry.separator"><hr></div><a name="no_body"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>no_body &#8212; Prevents Rivet from sending any content.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">no_body</span> </div></div></div><div class="refsect1" title="Description"><a name="id2720663"></a><h2>Description</h2><p style="width:90%">
+	process!</p></div></div><div class="refentry" title="no_body"><div class="refentry.separator"><hr></div><a name="no_body"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>no_body &#8212; Prevents Rivet from sending any content.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">no_body</span> </div></div></div><div class="refsect1" title="Description"><a name="id2753488"></a><h2>Description</h2><p style="width:90%">
 	  This command is useful for situations where it is necessary
 	  to only return HTTP headers and no actual content.  For
 	  instance, when returning a 304 redirect.
-	</p></div></div><div class="refentry" title="escape_string"><div class="refentry.separator"><hr></div><a name="escape_string"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_string &#8212; convert a string into escaped characters.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_string</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720712"></a><h2>Description</h2><p style="width:90%">
+	</p></div></div><div class="refentry" title="escape_string"><div class="refentry.separator"><hr></div><a name="escape_string"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_string &#8212; convert a string into escaped characters.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_string</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753537"></a><h2>Description</h2><p style="width:90%">
 	    Scans through each character in the specified string looking
 	    for special characters, escaping them as needed, mapping
 	    special characters to a quoted hexadecimal equivalent,
@@ -484,7 +486,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	    part of a URL.
 	</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"> 
 	    You must require the Rivet package in order to gain access to this command
-	</td></tr></table></div></div></div><div class="refentry" title="escape_sgml_chars"><div class="refentry.separator"><hr></div><a name="escape_sgml_chars"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_sgml_chars &#8212; escape special SGML characters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_sgml_chars</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720771"></a><h2>Description</h2><p style="width:90%">
+	</td></tr></table></div></div></div><div class="refentry" title="escape_sgml_chars"><div class="refentry.separator"><hr></div><a name="escape_sgml_chars"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_sgml_chars &#8212; escape special SGML characters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_sgml_chars</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753596"></a><h2>Description</h2><p style="width:90%">
 	  Scans through each character in the specified string looking
 	  for any special (with respect to SGML, and hence HTML) characters
 	  from the specified string, and returns the result.  
@@ -492,7 +494,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	  bracket is escaped to the corrected ampersand gt symbol.
 	</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"> 
 	    You must require the Rivet package in order to gain access to this command
-	</td></tr></table></div></div></div><div class="refentry" title="escape_shell_command"><div class="refentry.separator"><hr></div><a name="escape_shell_command"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_shell_command &#8212; escape shell metacharacters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_shell_command</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720827"></a><h2>Description</h2><p style="width:90%">
+	</td></tr></table></div></div></div><div class="refentry" title="escape_shell_command"><div class="refentry.separator"><hr></div><a name="escape_shell_command"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>escape_shell_command &#8212; escape shell metacharacters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">escape_shell_command</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753651"></a><h2>Description</h2><p style="width:90%">
 	  Scans through each character in the specified string looking
 	  for any shell metacharacters, such as asterisk, less than and
 	  greater than, parens, square brackets, curly brackets, angle 
@@ -503,7 +505,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	  prepending it with a backslash, returning the result.
 	</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"> 
 	    You must require the Rivet package in order to gain access to this command
-	</td></tr></table></div></div></div><div class="refentry" title="unescape_string"><div class="refentry.separator"><hr></div><a name="unescape_string"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>unescape_string &#8212; unescape escaped characters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">unescape_string</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720888"></a><h2>Description</h2><p style="width:90%">
+	</td></tr></table></div></div></div><div class="refentry" title="unescape_string"><div class="refentry.separator"><hr></div><a name="unescape_string"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>unescape_string &#8212; unescape escaped characters in a string.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">unescape_string</span>  ?<span style="font-family:monospace; font-weight: bold;">string</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753712"></a><h2>Description</h2><p style="width:90%">
 	  Scans through each character in the specified string looking
 	  for escaped character sequences (characters containing a
 	  percent sign and two hexadecimal characters, unescaping them 
@@ -514,7 +516,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	    be part of a URL.
 	</p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td align="left" valign="top"> 
 	    You must require the Rivet package in order to gain access to this command
-	</td></tr></table></div></div></div><div class="refentry" title="apache_log_error"><div class="refentry.separator"><hr></div><a name="apache_log_error"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>apache_log_error &#8212; log messages to the Apache error log</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">apache_log_error</span>  ?<span style="font-family:monospace; font-weight: bold;">priority</span>? ?<span style="font-family:monospace; font-weight: bold;">message</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2720956"></a><h2>Description</h2><p style="width:90%">The apache_log_error command logs a message to the 
+	</td></tr></table></div></div></div><div class="refentry" title="apache_log_error"><div class="refentry.separator"><hr></div><a name="apache_log_error"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>apache_log_error &#8212; log messages to the Apache error log</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">apache_log_error</span>  ?<span style="font-family:monospace; font-weight: bold;">priority</span>? ?<span style="font-family:monospace; font-weight: bold;">message</span>?</div></div></div><div class="refsect1" title="Description"><a name="id2753780"></a><h2>Description</h2><p style="width:90%">The apache_log_error command logs a message to the 
 	  Apache error log, whose name and location have been
 	  set by the ErrorLog directive.
 	</p><p style="width:90%">
@@ -527,7 +529,7 @@ AddType application/x-rivet-tcl .tcl</pr
 	    crit,
 	    alert, or
 	    emerg.
-	</p></div></div><div class="refentry" title="apache_table"><div class="refentry.separator"><hr></div><a name="apache_table"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>apache_table &#8212; access and manipulate Apache tables in the request structure.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">apache_table</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">set</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">unset</span> | <span style="font-family:monospace; font-weight: bold;">names</span> | <span style="font-family:monospace; font-weight: bold;">array_g
 et</span> | <span style="font-family:monospace; font-weight: bold;">clear</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2721088"></a><h2>Description</h2><p style="width:90%">The apache_table command is for accessing and manipulating
+	</p></div></div><div class="refentry" title="apache_table"><div class="refentry.separator"><hr></div><a name="apache_table"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>apache_table &#8212; access and manipulate Apache tables in the request structure.</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">apache_table</span>  (<span style="font-family:monospace; font-weight: bold;">get</span> | <span style="font-family:monospace; font-weight: bold;">set</span> | <span style="font-family:monospace; font-weight: bold;">exists</span> | <span style="font-family:monospace; font-weight: bold;">unset</span> | <span style="font-family:monospace; font-weight: bold;">names</span> | <span style="font-family:monospace; font-weight: bold;">array_g
 et</span> | <span style="font-family:monospace; font-weight: bold;">clear</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2753912"></a><h2>Description</h2><p style="width:90%">The apache_table command is for accessing and manipulating
 	  Apache tables in the request structure.
 	</p><p style="width:90%">
 	The table name must be one of
@@ -608,7 +610,7 @@ puts "Hello World"
 	If you then access it with your browser, you should see a
 	blank page with the text "Hello World" (without the quotes) on
 	it.
-      </p></div></div><br class="example-break"><div class="example"><a name="id2724750"></a><p class="title"><b>Example 2. Generate a Table</b></p><div class="example-contents"><p style="width:90%">
+      </p></div></div><br class="example-break"><div class="example"><a name="id2757575"></a><p class="title"><b>Example 2. Generate a Table</b></p><div class="example-contents"><p style="width:90%">
 	    In another simple example, we dynamically generate a table:
 	  </p><pre style="background:#ccc; margin: 2ex; margin-right: 10%;       padding: 1ex; border: dashed black 1px ; white-space: pre;      font-family: monospace; font-size: 90%;" class="programlisting">&lt;? puts "&lt;table&gt;\n"
 for {set i 1} { $i &lt;= 8 } {incr i} {
@@ -1038,7 +1040,7 @@ if {[var exists load]} {
     </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">commserver is a package providing a server that can be
 	used for IPC.  Still experimental.  Requires the comm package
 	from tcllib.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">dio is a database abstraction layer.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">dtcl is a compatibility package for mod_dtcl
-	applications.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">form - for creating forms.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">rivet - some additional, useful routines.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">tclrivet</div></li></ul></div></div><div class="section" title="DIO - Database Interface Objects"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="dio"></a>DIO - Database Interface Objects</h2></div></div></div><div class="refentry" title="DIO"><a name="dio_package"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>DIO &#8212; Database Interface Objects</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-f
 amily:monospace">::DIO::handle</span>   <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>interface</code></em></span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>objectName</code></em></span>? (<span style="font-family:monospace; font-weight: bold;">-option</span> | <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>option</code></em></span> | <span style="font-family:monospace; font-weight: bold;">-option</span> | <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>option</code></em></span> | <span style="font-family:monospace; font-weight: bold;">...</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2726498"></a><h2>Description</h2><p style="width:90%">
+	applications.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">form - for creating forms.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">rivet - some additional, useful routines.</div></li><li class="listitem"><div style="margin-bottom:1.5ex ; padding .5ex">tclrivet</div></li></ul></div></div><div class="section" title="DIO - Database Interface Objects"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="dio"></a>DIO - Database Interface Objects</h2></div></div></div><div class="refentry" title="DIO"><a name="dio_package"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>DIO &#8212; Database Interface Objects</p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "><span style="font-weight:bold ; font-f
 amily:monospace">::DIO::handle</span>   <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>interface</code></em></span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>objectName</code></em></span>? (<span style="font-family:monospace; font-weight: bold;">-option</span> | <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>option</code></em></span> | <span style="font-family:monospace; font-weight: bold;">-option</span> | <span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>option</code></em></span> | <span style="font-family:monospace; font-weight: bold;">...</span>)</div></div></div><div class="refsect1" title="Description"><a name="id2759323"></a><h2>Description</h2><p style="width:90%">
 	  <span style="font-family:monospace"><span class="command"><strong>DIO</strong></span></span> is designed to be a generic,
 	  object-oriented interface to SQL databases.  Its main goal
 	  is to be as generic as possible, but since not all SQL
@@ -1055,7 +1057,7 @@ if {[var exists load]} {
 	  specified, DIO creates an object of that name.  If there is
 	  no <em class="replaceable"><code>objectName</code></em>
 	  given, DIO will automatically generate a unique object ID
-	</p></div><div class="refsect1" title="Options"><a name="id2726548"></a><h2>Options</h2><div class="variablelist"><dl><dt></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "> <span style="font-family:monospace; font-weight: bold;">-host</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>hostname</code></em></span>?</div></div><div style="margin-bottom:1.5ex ; padding .5ex">
+	</p></div><div class="refsect1" title="Options"><a name="id2759372"></a><h2>Options</h2><div class="variablelist"><dl><dt></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "> <span style="font-family:monospace; font-weight: bold;">-host</span>  ?<span style="font-family:monospace; font-weight: bold;"><em class="replaceable"><code>hostname</code></em></span>?</div></div><div style="margin-bottom:1.5ex ; padding .5ex">
 		The hostname of the computer to connect to.  If none
 		is given, DIO assumes the local host.

[... 213 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-cvs-help@tcl.apache.org