<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>rivet-cvs@tcl.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/"/>
<id>http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/</id>
<updated>2009-12-09T10:30:06Z</updated>
<entry>
<title>svn commit: r888462 - /tcl/rivet/trunk/rivet/packages/form/form.tcl</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200912.mbox/%3c20091208161946.E58882388978@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208161946-E58882388978@eris-apache-org%3e</id>
<updated>2009-12-08T16:19:46Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Tue Dec  8 16:19:46 2009
New Revision: 888462

URL: http://svn.apache.org/viewvc?rev=888462&amp;view=rev
Log:
Fix additional errors in prior commit.  All new methods now generate properly.

Modified:
    tcl/rivet/trunk/rivet/packages/form/form.tcl

Modified: tcl/rivet/trunk/rivet/packages/form/form.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/rivet/packages/form/form.tcl?rev=888462&amp;r1=888461&amp;r2=888462&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/rivet/packages/form/form.tcl (original)
+++ tcl/rivet/trunk/rivet/packages/form/form.tcl Tue Dec  8 16:19:46 2009
@@ -360,35 +360,35 @@
     # search -- emit an HTML 5 "search" form field
     #
     method search {name args} {
-        eval search range $name $args
+        eval field search $name $args
     }
 
     #
     # tel -- emit an HTML 5 "tel" form field
     #
     method tel {name args} {
-        eval tel range $name $args
+        eval field tel $name $args
     }
 
     #
     # time -- emit an HTML 5 "time" form field
     #
     method time {name args} {
-        eval time range $name $args
+        eval field time $name $args
     }
 
     #
     # url -- emit an HTML 5 "url" form field
     #
     method url {name args} {
-        eval url range $name $args
+        eval field url $name $args
     }
 
     #
     # week -- emit an HTML 5 "week" form field
     #
     method week {name args} {
-        eval week range $name $args
+        eval field week $name $args
     }
 
     #



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888459 - /tcl/rivet/trunk/rivet/packages/form/form.tcl</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200912.mbox/%3c20091208161441.D4F0223889B3@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208161441-D4F0223889B3@eris-apache-org%3e</id>
<updated>2009-12-08T16:14:41Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Tue Dec  8 16:14:41 2009
New Revision: 888459

URL: http://svn.apache.org/viewvc?rev=888459&amp;view=rev
Log:
"image" method was accidentally in there twice.

Modified:
    tcl/rivet/trunk/rivet/packages/form/form.tcl

Modified: tcl/rivet/trunk/rivet/packages/form/form.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/rivet/packages/form/form.tcl?rev=888459&amp;r1=888458&amp;r2=888459&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/rivet/packages/form/form.tcl (original)
+++ tcl/rivet/trunk/rivet/packages/form/form.tcl Tue Dec  8 16:14:41 2009
@@ -336,13 +336,6 @@
     }
 
     #
-    # image -- emit an HTML 5 "image" form field
-    #
-    method image {name args} {
-        eval field image $name $args
-    }
-
-    #
     # month -- emit an HTML 5 "month" form field
     #
     method month {name args} {



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888454 - in /tcl/rivet/trunk: ChangeLog form.txt rivet/packages/form/form.tcl</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200912.mbox/%3c20091208160523.AB3B92388978@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208160523-AB3B92388978@eris-apache-org%3e</id>
<updated>2009-12-08T16:05:23Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Tue Dec  8 16:05:23 2009
New Revision: 888454

URL: http://svn.apache.org/viewvc?rev=888454&amp;view=rev
Log:
* rivet/packages/form/form.tcl, form.txt: Add new form methods for HTML 5
  form elements "color", "date", "datetime", "datetime_local", "email",
  "file", "image", "month", "number", "range", "search", "tel", "time",
  "url", "week".

Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/form.txt
    tcl/rivet/trunk/rivet/packages/form/form.tcl

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=888454&amp;r1=888453&amp;r2=888454&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Tue Dec  8 16:05:23 2009
@@ -1,3 +1,9 @@
+2009-12-08 Karl Lehenbauer &lt;karl@apache.org&gt;
+    * rivet/packages/form/form.tcl, form.txt: Add new form methods for HTML 5
+      form elements "color", "date", "datetime", "datetime_local", "email",
+      "file", "image", "month", "number", "range", "search", "tel", "time",
+      "url", "week"
+
 2009-11-03 Massimo Manghi &lt;mxmanghi@apache.org&gt;
     * src/apache-2/rivetCore.c: in function Rivet_Upload the list of subcommands
     had 2 entries for 'tempname" leading Tcl_GetIndexfromObject to mismatch the entry for

Modified: tcl/rivet/trunk/form.txt
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/form.txt?rev=888454&amp;r1=888453&amp;r2=888454&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/form.txt (original)
+++ tcl/rivet/trunk/form.txt Tue Dec  8 16:05:23 2009
@@ -28,6 +28,38 @@
 
 	textarea
 
+And the new HTML 5 types that may not be in every browser (but are in the
+iPhone):
+
+	color
+
+	date
+
+	datetime
+
+	datetime_local
+
+	email
+
+	file
+
+	image
+
+	month
+
+	number
+
+	range
+
+	search
+
+	tel
+
+	time
+
+	url
+
+	week
 
 
 

Modified: tcl/rivet/trunk/rivet/packages/form/form.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/rivet/packages/form/form.tcl?rev=888454&amp;r1=888453&amp;r2=888454&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/rivet/packages/form/form.tcl (original)
+++ tcl/rivet/trunk/rivet/packages/form/form.tcl Tue Dec  8 16:05:23 2009
@@ -294,6 +294,111 @@
     }
 
     #
+    # color -- emit an HTML 5 "color" form field
+    #
+    method color {name args} {
+        eval field color $name $args
+    }
+
+    #
+    # date -- emit an HTML 5 "date" form field
+    #
+    method date {name args} {
+        eval field date $name $args
+    }
+
+    #
+    # datetime -- emit an HTML 5 "datetime" form field
+    #
+    method datetime {name args} {
+        eval field datetime $name $args
+    }
+
+    #
+    # datetime_local -- emit an HTML 5 "datetime-local" form field
+    #
+    method datetime_local {name args} {
+        eval field datetime-local $name $args
+    }
+
+    #
+    # email -- emit an HTML 5 "email" form field
+    #
+    method email {name args} {
+        eval field email $name $args
+    }
+
+    #
+    # file -- emit an HTML 5 "file" form field
+    #
+    method file {name args} {
+        eval field email $name $args
+    }
+
+    #
+    # image -- emit an HTML 5 "image" form field
+    #
+    method image {name args} {
+        eval field image $name $args
+    }
+
+    #
+    # month -- emit an HTML 5 "month" form field
+    #
+    method month {name args} {
+        eval field month $name $args
+    }
+
+    #
+    # number -- emit an HTML 5 "number" form field
+    #
+    method number {name args} {
+        eval field number $name $args
+    }
+
+    #
+    # range -- emit an HTML 5 "range" form field
+    #
+    method range {name args} {
+        eval field range $name $args
+    }
+
+    #
+    # search -- emit an HTML 5 "search" form field
+    #
+    method search {name args} {
+        eval search range $name $args
+    }
+
+    #
+    # tel -- emit an HTML 5 "tel" form field
+    #
+    method tel {name args} {
+        eval tel range $name $args
+    }
+
+    #
+    # time -- emit an HTML 5 "time" form field
+    #
+    method time {name args} {
+        eval time range $name $args
+    }
+
+    #
+    # url -- emit an HTML 5 "url" form field
+    #
+    method url {name args} {
+        eval url range $name $args
+    }
+
+    #
+    # week -- emit an HTML 5 "week" form field
+    #
+    method week {name args} {
+        eval week range $name $args
+    }
+
+    #
     # radiobuttons -- 
     #
     method radiobuttons {name args} {



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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: mod_rivet breaks mod_cgi on apache2?</title>
<author><name>Massimo Manghi &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c4B0AD985.8090809@unipr.it%3e"/>
<id>urn:uuid:%3c4B0AD985-8090809@unipr-it%3e</id>
<updated>2009-11-23T18:50:45Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

I went for a quick run of 'gdb bin/httpd' to see what happened in 
Rivet_SendContent and it seems to be working ok returning DECLINED upon 
a request for a cgi script. For what I know this is what Rivet is 
supposed to do. The request seems to be lost forever and apache even 
doesn't log it down. Only the error log has entries about timeout 
errors. Another thing that might be worth noticing is that quitting the 
debugging session gdb warns about a child process that has to be killed 
(never got that message debugging rivet/tcl requests). Therefore Apache 
could have got to the stage of forking the process for the cgi script, 
but for some reason the process is unable to produce any content (or 
headers).

I wonder if other functions (hooks) of Rivet could be confusing apache. 
In recent years other modules were the culprits of similar problems. 
Some googling shows that mod_sql_log (IIRC) was blocking the content 
generation of cgi-scripts and simply removing it restored the expected 
behavior.

I don't have much time these days, i have to put it off for a while.

  -- Massimo

David Welton wrote:
&gt;
&gt; Have you tried "eliminating" bits and pieces of mod_rivet (commenting
&gt; them out or something) to see if you can figure out what exactly is
&gt; causing the problem?
&gt;
&gt;   


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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: mod_rivet breaks mod_cgi on apache2?</title>
<author><name>David Welton &lt;davidw@dedasys.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c9877cd600911210820jd2e6ee8t275f9a50e0494f3b@mail.gmail.com%3e"/>
<id>urn:uuid:%3c9877cd600911210820jd2e6ee8t275f9a50e0494f3b@mail-gmail-com%3e</id>
<updated>2009-11-21T16:20:02Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
&gt; I found out that when mod_rivet is loaded, cgi scripts (namely mailman's cgi
&gt; script) stop working altogether letting a browser wait forever for output.
&gt; Removing mod_rivet restores usual cgi scripts functionality.  I checked also
&gt; that it isn't specific to mailman's scripts (which are wrapped within binary
&gt; code): even a typical "hello world" perl script would produce the same
&gt; behavior.

&gt; I've briefly checked in Rivet_SendContent how mod_rivet actually gives up a
&gt; request to the framework and could not find any evident flaw in that.
&gt;  Before I dive into a debugging session I ask whether anyone has tips this
&gt; issue. It would be very much appreciated.

Have you tried "eliminating" bits and pieces of mod_rivet (commenting
them out or something) to see if you can figure out what exactly is
causing the problem?

-- 
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
Sent from Innsbruck, Tyrol, Austria

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



</pre>
</div>
</content>
</entry>
<entry>
<title>mod_rivet breaks mod_cgi on apache2?</title>
<author><name>Massimo Manghi &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c4B06825F.1010303@unipr.it%3e"/>
<id>urn:uuid:%3c4B06825F-1010303@unipr-it%3e</id>
<updated>2009-11-20T11:49:51Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Hi fellow Rivetters

I found out that when mod_rivet is loaded, cgi scripts (namely mailman's 
cgi script) stop working altogether letting a browser wait forever for 
output. Removing mod_rivet restores usual cgi scripts functionality.  I 
checked also that it isn't specific to mailman's scripts (which are 
wrapped within binary code): even a typical "hello world" perl script 
would produce the same behavior.

I've briefly checked in Rivet_SendContent how mod_rivet actually gives 
up a request to the framework and could not find any evident flaw in 
that.  Before I dive into a debugging session I ask whether anyone has 
tips this issue. It would be very much appreciated.

 -- Massimo

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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r832493 - /tcl/rivet/trunk/ChangeLog</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c20091103181259.9B6C32388A24@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091103181259-9B6C32388A24@eris-apache-org%3e</id>
<updated>2009-11-03T18:12:59Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mxmanghi
Date: Tue Nov  3 18:12:59 2009
New Revision: 832493

URL: http://svn.apache.org/viewvc?rev=832493&amp;view=rev
Log:
 * src/apache-2/rivetCore.c: in function Rivet_Upload the list of subcommands had 2 entries
for 'tempname" leading Tcl_GetIndexfromObject to mismatch the entry for the 'names' subcommand
with its numerical counterpart. This caused the child process to segfault when processing
a 'upload names' command.

Modified:
    tcl/rivet/trunk/ChangeLog

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=832493&amp;r1=832492&amp;r2=832493&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Tue Nov  3 18:12:59 2009
@@ -1,3 +1,9 @@
+2009-11-03 Massimo Manghi &lt;mxmanghi@apache.org&gt;
+    * src/apache-2/rivetCore.c: in function Rivet_Upload the list of subcommands
+    had 2 entries for 'tempname" leading Tcl_GetIndexfromObject to mismatch the entry for
+    the 'names' subcommand with its numerical counterpart. 
+    This caused the child process to segfault when processing a 'upload names' command.
+
 2009-11-02 Massimo Manghi &lt;mxmanghi@apache.org&gt;
     * tests/apachetest/apachetest.tcl: apachetest::getallincludes failed to
     properly handle glob style file patterns. 



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r832490 - /tcl/rivet/trunk/src/apache-2/rivetCore.c</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c20091103181228.B5B2F23888BB@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091103181228-B5B2F23888BB@eris-apache-org%3e</id>
<updated>2009-11-03T18:12:28Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mxmanghi
Date: Tue Nov  3 18:12:28 2009
New Revision: 832490

URL: http://svn.apache.org/viewvc?rev=832490&amp;view=rev
Log:
 * src/apache-2/rivetCore.c: in function Rivet_Upload the list of subcommands had 2 entries
for 'tempname" leading Tcl_GetIndexfromObject to mismatch the entry for the 'names' subcommand
with its numerical counterpart. This caused the child process to segfault when processing
a 'upload names' command.

Modified:
    tcl/rivet/trunk/src/apache-2/rivetCore.c

Modified: tcl/rivet/trunk/src/apache-2/rivetCore.c
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/apache-2/rivetCore.c?rev=832490&amp;r1=832489&amp;r2=832490&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/src/apache-2/rivetCore.c (original)
+++ tcl/rivet/trunk/src/apache-2/rivetCore.c Tue Nov  3 18:12:28 2009
@@ -836,7 +836,6 @@
 	"filename",
 	"tempname",
 	"names",
-	"tempname",
 	NULL
     };
 
@@ -848,8 +847,8 @@
 	SIZE,
 	TYPE,
 	FILENAME,
-	NAMES,
-	TEMPNAME
+	TEMPNAME,
+	NAMES
     };
 
     rivet_interp_globals *globals = Tcl_GetAssocData(interp, "rivet", NULL);
@@ -863,7 +862,8 @@
 
     /* If it's any of these, we need to find a specific name. */
 
-    /* Excluded cases are EXISTS and NAMES. */
+    /* Excluded case is NAMES. */
+
     if ((enum subcommand)subcommandindex == CHANNEL 	||
 	(enum subcommand)subcommandindex == SAVE 	||
 	(enum subcommand)subcommandindex == DATA 	||



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



</pre>
</div>
</content>
</entry>
<entry>
<title>wrong subcommand list in Rivet_Upload</title>
<author><name>&quot;Massimo Manghi&quot; &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c20091103180344.M19229@unipr.it%3e"/>
<id>urn:uuid:%3c20091103180344-M19229@unipr-it%3e</id>
<updated>2009-11-03T18:03:44Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I found out that in function Rivet_Upload the list of subcommands had 2
entries for 'tempname". In case a 'upload names' command had to be processed
Tcl_GetIndexfromObject mismatches the entry for the 'names' subcommand with
its numerical counterpart. This causes the child process to segfault because
Rivet_Upload tries to get one more argument whereas there is none.

The bug surfaced when I reviewed more closely the output of the failing tests.

i'm going to commit right away. 

-- Massimo

Index: src/apache-2/rivetCore.c
===================================================================
--- src/apache-2/rivetCore.c	(revision 832481)
+++ src/apache-2/rivetCore.c	(working copy)
@@ -836,7 +836,6 @@
 	"filename",
 	"tempname",
 	"names",
-	"tempname",
 	NULL
     };
 
@@ -848,8 +847,8 @@
 	SIZE,
 	TYPE,
 	FILENAME,
-	NAMES,
-	TEMPNAME
+	TEMPNAME,
+	NAMES
     };
 
     rivet_interp_globals *globals = Tcl_GetAssocData(interp, "rivet", NULL);
@@ -863,7 +862,8 @@
 
     /* If it's any of these, we need to find a specific name. */
 
-    /* Excluded cases are EXISTS and NAMES. */
+    /* Excluded case is NAMES. */
+
     if ((enum subcommand)subcommandindex == CHANNEL 	||
 	(enum subcommand)subcommandindex == SAVE 	||
 	(enum subcommand)subcommandindex == DATA 	||


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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r831984 - /tcl/rivet/trunk/ChangeLog</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c20091102175220.06E6523888CF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091102175220-06E6523888CF@eris-apache-org%3e</id>
<updated>2009-11-02T17:52:19Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mxmanghi
Date: Mon Nov  2 17:52:19 2009
New Revision: 831984

URL: http://svn.apache.org/viewvc?rev=831984&amp;view=rev
Log:
correction made to the last entry's timestamp

Modified:
    tcl/rivet/trunk/ChangeLog

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=831984&amp;r1=831983&amp;r2=831984&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Mon Nov  2 17:52:19 2009
@@ -1,4 +1,4 @@
-2009-09-02 Massimo Manghi &lt;mxmanghi@apache.org&gt;
+2009-11-02 Massimo Manghi &lt;mxmanghi@apache.org&gt;
     * tests/apachetest/apachetest.tcl: apachetest::getallincludes failed to
     properly handle glob style file patterns. 
 



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r831922 - in /tcl/rivet/trunk: ChangeLog tests/apachetest/apachetest.tcl tests/runtests.tcl</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c20091102153452.AF47B2388898@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091102153452-AF47B2388898@eris-apache-org%3e</id>
<updated>2009-11-02T15:34:52Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mxmanghi
Date: Mon Nov  2 15:34:52 2009
New Revision: 831922

URL: http://svn.apache.org/viewvc?rev=831922&amp;view=rev
Log:
* tests/apachetest/apachetest.tcl: apachetest::getallincludes failed to properly handle glob
style file patterns. 


Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/tests/apachetest/apachetest.tcl
    tcl/rivet/trunk/tests/runtests.tcl

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=831922&amp;r1=831921&amp;r2=831922&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Mon Nov  2 15:34:52 2009
@@ -1,3 +1,7 @@
+2009-09-02 Massimo Manghi &lt;mxmanghi@apache.org&gt;
+    * tests/apachetest/apachetest.tcl: apachetest::getallincludes failed to
+    properly handle glob style file patterns. 
+
 2009-09-17 Karl Lehenbauer &lt;karl@apache.org&gt;
     * rivet/packages/form/form.tcl, form.txt: Add a new form method, "button",
       that's just like "submit" except pressing enter doesn't cause it to be 

Modified: tcl/rivet/trunk/tests/apachetest/apachetest.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tests/apachetest/apachetest.tcl?rev=831922&amp;r1=831921&amp;r2=831922&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tests/apachetest/apachetest.tcl (original)
+++ tcl/rivet/trunk/tests/apachetest/apachetest.tcl Mon Nov  2 15:34:52 2009
@@ -247,17 +247,38 @@
 	    foreach line [split $data \n] {
 		# Look for Include lines.
 		if { [regexp -line {^[^\#]*Include +(.*)} $line match file] } {
+		    puts "including files from $file"
 		    set file [string trim $file]
-		    # Since directories may be included, glob them for all
-		    # files contained therein.
-		    if { [file isdirectory $file] } {
-			foreach fl [glob -nocomplain [file join $file *]] {
+
+		    # Include directives accept as argument a file, a directory
+		    # or a glob-style file matching pattern. Patterns usually match
+		    # many files, but are not directories, so we have to handle 
+		    # all these 3 cases
+
+		    # we use the glob command to tell whether we are dealing with
+		    # a pure file expression or a matching pattern
+
+		    set matched_files [glob -nocomplain $file]
+		    set matched_files_n [llength $matched_files]
+		    if {$matched_files_n &gt; 1} {
+			foreach fl $matched_files {
+			    puts "including $fl"
 			    if [file  exists $fl] {
 				    append newdata [getallincludes $fl]
 			    }
 			}
-		    } else {
-			append newdata [getallincludes $file]
+		    } elseif {$matched_files_n == 1} {
+			set file $matched_files
+			if { [file isdirectory $file] } {
+			    foreach fl [glob -nocomplain [file join $file *]] {
+				puts "including $fl"
+				if [file  exists $fl] {
+					append newdata [getallincludes $fl]
+				}
+			    }
+			} else {
+			    append newdata [getallincludes $file]
+			}
 		    }
 		}
 	    }
@@ -284,19 +305,24 @@
 
 
 proc apachetest::getloadmodules { conffile needtoget } {
+    puts "checking $conffile "
     set confdata [getallincludes $conffile]
     set loadline [list]
     regexp -line {^[^#]*(ServerRoot[\s]?[\"]?)([^\"]+)()([\"]?)} $confdata \
     match sub1 server_root_path sub2 
     foreach mod $needtoget {
     	# Look for LoadModule lines.
+	puts -nonewline "check conf line for $mod module..."
+	flush stdout
         if { ! [regexp -line "^\[^\#\]*(LoadModule\\s+$mod\\s+.+)\$"\
                 $confdata match line] } {
-            error "No LoadModule line for $mod!"
+            error "No LoadModule line for $mod\!"
         } else {
-			set raw_path [join [lrange [split $line { }] 2 end]]
-			#trimming leading whitespaces
-			set path [string trimleft $raw_path]
+	    puts ok
+
+	    set raw_path [join [lrange [split $line { }] 2 end]]
+	    #trimming leading whitespaces
+	    set path [string trimleft $raw_path]
             if ![string equal [file pathtype $line] "absolute"] {
                 set absolute_path [file join $server_root_path $path]
                 lappend loadline "[join [lrange [split $line " "]  0 1]] $absolute_path"

Modified: tcl/rivet/trunk/tests/runtests.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tests/runtests.tcl?rev=831922&amp;r1=831921&amp;r2=831922&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tests/runtests.tcl (original)
+++ tcl/rivet/trunk/tests/runtests.tcl Mon Nov  2 15:34:52 2009
@@ -21,6 +21,7 @@
 
 set auto_path [linsert $auto_path 0 [file join [file dirname [info script]] apachetest]]
 
+puts stderr "runtests.tcl is running with auto_path: $auto_path"
 
 proc runtests_usage {} {
     puts stderr "Usage: $::argv0 /path/to/apache/httpd ?startserver?"
@@ -40,9 +41,11 @@
 if { [llength $argv] &lt; 1 } {
     runtests_usage
 } else {
-	set httpd_version [get_httpd_version  [lindex $argv 0]]
+    set httpd_version [get_httpd_version  [lindex $argv 0]]
 }
 
+puts stderr "Tests will be run against apache${httpd_version}"
+
 package require apachetest
 
 if { [encoding system] eq "utf-8" } {
@@ -65,11 +68,11 @@
 if {$httpd_version == 1} {
 	apachetest::need_modules {
 		{mod_log_config		config_log_module}
-		{mod_mime			mime_module}
+		{mod_mime		mime_module}
 		{mod_negotiation	negotiation_module}
-		{mod_dir			dir_module}
-		{mod_auth			auth_module}
-		{mod_access			access_module}
+		{mod_dir		dir_module}
+		{mod_auth		auth_module}
+		{mod_access		access_module}
 	}
 } else {
 	apachetest::need_modules {



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



</pre>
</div>
</content>
</entry>
<entry>
<title>test suite: fixed apachetest.tcl</title>
<author><name>Massimo Manghi &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200911.mbox/%3c4AEEB8EC.70006@unipr.it%3e"/>
<id>urn:uuid:%3c4AEEB8EC-70006@unipr-it%3e</id>
<updated>2009-11-02T10:48:12Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I fixed a function in apachetest.tcl that failed to interpret correctly 
some 'Include' directives and generated a crippled configuration file. 
The changes I made fixed the test suite on my apache installation, I 
have no knowledge of other problems that could have been observed before 
2007 when I began to be involved in the project.

Several tests fail and I haven't looked yet into the specific problem 
addressed by each of them. Before starting a review of the failing test 
I wish to commit the fixed file, in case someone wants to try himself to 
run it.

regards

 -- Massimo


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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: how to use apache_log_error?</title>
<author><name>David Welton &lt;davidw@dedasys.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200910.mbox/%3c9877cd600910290341u25406578lc7b5b3c9f85fcf8f@mail.gmail.com%3e"/>
<id>urn:uuid:%3c9877cd600910290341u25406578lc7b5b3c9f85fcf8f@mail-gmail-com%3e</id>
<updated>2009-10-29T10:41:16Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
&gt; I noticed Karl added apache_log_error, how would I use that in an ErrorScript
&gt; in order to pass the entire interpreter error string to the apache log
&gt; (basically pass what rivet normally spits to the screen)? (Basically, can
&gt; I substitute some internal variable to the message argument of
&gt; apache_log_error?)
&gt;
&gt; (There appears to be a dearth of documentation surrounding Rivet...)

Looks like it's used like so:

apache_log_error loglevel message

So in order to catch an error message and spit it out elsewhere, you
can use the same variables that are in the default error handler:

    proc handle_error {} {
	global errorInfo
	global errorOutbuf

	puts &lt;PRE&gt;
	puts "&lt;HR&gt;$errorInfo&lt;HR&gt;"
	puts "&lt;P&gt;&lt;B&gt;OUTPUT BUFFER:&lt;/B&gt;&lt;/P&gt;"
	puts $errorOutbuf
	puts &lt;/PRE&gt;
    }

Does that work?

-- 
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
Sent from Padua, Veneto, Italy

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



</pre>
</div>
</content>
</entry>
<entry>
<title>how to use apache_log_error?</title>
<author><name>&quot;Peter C. Lai&quot; &lt;peter@simons-rock.edu&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200910.mbox/%3c20091027132302.GC56063@cesium.hyperfine.info%3e"/>
<id>urn:uuid:%3c20091027132302-GC56063@cesium-hyperfine-info%3e</id>
<updated>2009-10-27T13:23:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I noticed Karl added apache_log_error, how would I use that in an ErrorScript
in order to pass the entire interpreter error string to the apache log 
(basically pass what rivet normally spits to the screen)? (Basically, can
I substitute some internal variable to the message argument of 
apache_log_error?) 

(There appears to be a dearth of documentation surrounding Rivet...)

- newb at rivet
-- 
===========================================================
Peter C. Lai                 | Bard College at Simon's Rock
Systems Administrator        | 84 Alford Rd.
Information Technology Svcs. | Gt. Barrington, MA 01230 USA
peter AT simons-rock.edu     | (413) 528-7428
===========================================================


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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r816256 - in /tcl/rivet/trunk: ChangeLog form.txt rivet/packages/form/form.tcl</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200909.mbox/%3c20090917161331.617C1238889D@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090917161331-617C1238889D@eris-apache-org%3e</id>
<updated>2009-09-17T16:13:31Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Thu Sep 17 16:13:30 2009
New Revision: 816256

URL: http://svn.apache.org/viewvc?rev=816256&amp;view=rev
Log:
* rivet/packages/form/form.tcl, form.txt: Add a new form method, "button",
  that's just like "submit" except pressing enter doesn't cause it to be 
  invoked.  Add quick doc, form.txt, on the forms package.

  Terminate &lt;option&gt; with &lt;/option&gt; in form selectors.

Added:
    tcl/rivet/trunk/form.txt
Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/rivet/packages/form/form.tcl

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=816256&amp;r1=816255&amp;r2=816256&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Thu Sep 17 16:13:30 2009
@@ -1,3 +1,10 @@
+2009-09-17 Karl Lehenbauer &lt;karl@apache.org&gt;
+    * rivet/packages/form/form.tcl, form.txt: Add a new form method, "button",
+      that's just like "submit" except pressing enter doesn't cause it to be 
+      invoked.  Add quick doc, form.txt, on the forms package.
+
+      Terminate &lt;option&gt; with &lt;/option&gt; in form selectors.
+
 2009-09-15 Karl Lehenbauer &lt;karl@apache.org&gt;
     * rivet/packages/form/form.tcl: If the array containing default values
       for the form is passed in when the form is created

Added: tcl/rivet/trunk/form.txt
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/form.txt?rev=816256&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/form.txt (added)
+++ tcl/rivet/trunk/form.txt Thu Sep 17 16:13:30 2009
@@ -0,0 +1,163 @@
+Super quick doc on the Rivet form package.
+
+Forms directly emit HTML so if you want to format them in a table or
+something, you've got to be emitting your table around your form calls.
+See the example.
+
+The supported field types are:
+
+	checkbox
+
+	text
+
+	password
+
+	hidden
+
+	submit
+
+	button
+
+	reset
+
+	image
+
+	radiobuttons
+
+	select
+
+	textarea
+
+
+
+
+form myform -defaults tag -method post -action view_photo.rvt
+
+    This defines a form called "myform", says that default values can be
+    taken from an array named "tag", specifies that the submit method
+    will be "post" and that the view_photo.rvt URL will be invoked
+    upon submission.
+
+myform start
+
+    This starts emitting the form.  It will generate the "&lt;form&gt;" HTML.
+
+myform text tail -size 8 -maxlength 20
+
+    This defines a single line text entry box.
+
+myform textarea description -cols 60 -rows 8
+
+    This defines a multiline text box.
+
+
+myform select part_of_day -labels [list "" Day Dawn Dusk Night] -values [list "" day dawn
dusk night]  -style "width: 160px;"
+
+    This defines a dropbox.  The labels of each entry will be blank,
+    Day, Dawn, Dusk, Night, and the values sent in the field named
+    "part_of_day" will correspondingly be blank, day, dawn, dusk and
+    night.
+
+    If values is not set, the labels will be used.
+
+
+myform radiobuttons station -labels [list "" KUHF KLOL KRBE KLBJ] -values [list "" kuhg klol
krbe klbj]
+
+    If values is not set, the labels will be used.
+
+myform hidden upload_id -value $uploadID
+
+    This specifies a hidden field named upload_id and assigns a value to
+    it as the contents of the variable uploadID.
+
+
+myform submit Tag
+
+    This creates the submit button for the form and calls it Tag.
+
+myform button Tag
+
+    This creates a clickable button for the form and calls it Tag.  Unlike
+    a submit element, button elements are not invoked if the user presses
+    "Enter".
+
+myform cancel
+
+    This create the cancel button for the form.
+
+myform end
+
+    This ends the form and is mandatory.  It generates the HTML to
+    complete the form.
+
+
+myform destroy
+
+    This gets rid of the form object.
+
+FILE UPLOADING
+
+There isn't a form type in forms at this time for uploading a file, however
+you can do it by emitting something like:
+
+    &lt;input type="file" name="media" size="40"&gt;
+
+
+
+EXAMPLE
+
+package require form
+
+form myform -defaults response -method get -name feedsearch
+
+    myform start
+
+puts "&lt;table&gt;"
+puts "&lt;tr&gt;"
+
+puts "&lt;td&gt;"
+    myform select codebase -values [list stable beta] -labels [list Stable Beta]
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+    myform select type -values [list xmlparsed parsed] -labels [list XML T1]
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;ident&lt;/td&gt;&lt;td&gt;"
+myform text ident -size 8
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+myform select startMonth -values "1 2 3 4 5 6 7 8 9 10 11 12"
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+myform select startDay -values "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+20 21 22 23 24 25 26 27 28 29 30 31"
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+myform select startYear -values "2005 2006 2007 2008"
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;days&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+myform select days -values "1 2 3"
+puts "&lt;/td&gt;"
+
+puts "&lt;td&gt;"
+myform submit submit -value Search
+puts "&lt;/td&gt;"
+
+puts "&lt;/tr&gt;"
+puts "&lt;/table&gt;"
+
+emit_toggle_all_function
+emit_toggle_buttons
+
+
+    myform end
+
+    myform destroy
+

Modified: tcl/rivet/trunk/rivet/packages/form/form.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/rivet/packages/form/form.tcl?rev=816256&amp;r1=816255&amp;r2=816256&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/rivet/packages/form/form.tcl (original)
+++ tcl/rivet/trunk/rivet/packages/form/form.tcl Thu Sep 17 16:13:30 2009
@@ -259,6 +259,13 @@
     }
 
     #
+    # button -- emit an HTML "button" field
+    #
+    method button {name args} {
+	eval field button $name $args
+    }
+
+    #
     # reset -- emit an HTML "reset" button
     #
     method reset {name args} {
@@ -358,7 +365,7 @@
 	    } else {
 		set string "&lt;option value=\"$value\"&gt;"
 	    }
-	    html $string$label
+	    html "$string$label&lt;/option&gt;"
 	}
 	html "&lt;/select&gt;"
     }



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r815469 - in /tcl/rivet/trunk: ChangeLog rivet/packages/form/form.tcl</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200909.mbox/%3c20090915202815.E25CA23888D2@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090915202815-E25CA23888D2@eris-apache-org%3e</id>
<updated>2009-09-15T20:28:15Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Tue Sep 15 20:28:15 2009
New Revision: 815469

URL: http://svn.apache.org/viewvc?rev=815469&amp;view=rev
Log:
* rivet/packages/form/form.tcl: If the name of an array containing default 
  values for the form is passed in when the form is created 
  (for instance: form myform -defaults response -method post),
  make sure form class's public variable "defaults" is set to that array name.

Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/rivet/packages/form/form.tcl

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=815469&amp;r1=815468&amp;r2=815469&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Tue Sep 15 20:28:15 2009
@@ -1,3 +1,10 @@
+2009-09-15 Karl Lehenbauer &lt;karl@apache.org&gt;
+    * rivet/packages/form/form.tcl: If the array containing default values
+      for the form is passed in when the form is created
+      (for instance: form myform -defaults response -method post),
+      make sure form classes public variable "defaults" is set to
+      that array name.
+
 2009-09-03 Karl Lehenbauer &lt;karl@apache.org&gt;
     * src/apache-2/rivetCore.c: Add new command, apache_log_error, which
       allows consistent logging to the Apache error log file.

Modified: tcl/rivet/trunk/rivet/packages/form/form.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/rivet/packages/form/form.tcl?rev=815469&amp;r1=815468&amp;r2=815469&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/rivet/packages/form/form.tcl (original)
+++ tcl/rivet/trunk/rivet/packages/form/form.tcl Tue Sep 15 20:28:15 2009
@@ -34,6 +34,10 @@
 	import_data form $this arguments $args
 
 	if {[info exists arguments(defaults)]} {
+	    # make the public variable contain the name of the array
+	    # we are sucking default values out of
+	    set defaults $arguments(defaults)
+
 	    upvar 1 $arguments(defaults) defaults
 	    array set DefaultValues [array get defaults]
 	    unset arguments(defaults)



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r811125 - in /tcl/rivet/trunk: ChangeLog doc/xml/commands.xml src/apache-2/rivetCore.c</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200909.mbox/%3c20090903211201.5CB9F2388876@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090903211201-5CB9F2388876@eris-apache-org%3e</id>
<updated>2009-09-03T21:12:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Thu Sep  3 21:12:00 2009
New Revision: 811125

URL: http://svn.apache.org/viewvc?rev=811125&amp;view=rev
Log:
Add apache_log_error command.  Document it and apache_table in xml/commands.xml.

Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/doc/xml/commands.xml
    tcl/rivet/trunk/src/apache-2/rivetCore.c

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=811125&amp;r1=811124&amp;r2=811125&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Thu Sep  3 21:12:00 2009
@@ -1,3 +1,6 @@
+2009-09-03 Karl Lehenbauer &lt;karl@apache.org&gt;
+    * src/apache-2/rivetCore.c: Add new command, apache_log_error, which
+      allows consistent logging to the Apache error log file.
 
 2009-06-24 Karl Lehenbauer &lt;karl@apache.org&gt;
     * acinclude.m4: Include m4/ax_prefix_config_h.m4 to define the

Modified: tcl/rivet/trunk/doc/xml/commands.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/commands.xml?rev=811125&amp;r1=811124&amp;r2=811125&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/commands.xml (original)
+++ tcl/rivet/trunk/doc/xml/commands.xml Thu Sep  3 21:12:00 2009
@@ -947,5 +947,213 @@
       &lt;/refsect1&gt;
     &lt;/refentry&gt;
 
-&lt;/section&gt;
+    &lt;refentry id="apache_log_error"&gt;
+      &lt;refnamediv&gt;
+	&lt;refname&gt;apache_log_error&lt;/refname&gt;
+	&lt;refpurpose&gt;log messages to the Apache error log&lt;/refpurpose&gt;
+      &lt;/refnamediv&gt;
+
+      &lt;refsynopsisdiv&gt;
+	&lt;cmdsynopsis&gt;
+	  &lt;command&gt;apache_log_error&lt;/command&gt;
+	    &lt;arg&gt;priority&lt;/arg&gt;
+	    &lt;arg&gt;message&lt;/arg&gt;
+	&lt;/cmdsynopsis&gt;
+      &lt;/refsynopsisdiv&gt;
+
+      &lt;refsect1&gt;
+	&lt;title&gt;Description&lt;/title&gt;
+	&lt;para&gt;The apache_log_error command logs a message to the 
+	  Apache error log, whose name and location have been
+	  set by the &lt;option&gt;ErrorLog&lt;/option&gt; directive.
+	&lt;/para&gt;
+	&lt;para&gt;
+	Priority must be one of
+	    &lt;option&gt;debug&lt;/option&gt;,
+	    &lt;option&gt;info&lt;/option&gt;,
+	    &lt;option&gt;notice&lt;/option&gt;,
+	    &lt;option&gt;warning&lt;/option&gt;,
+	    &lt;option&gt;err&lt;/option&gt;,
+	    &lt;option&gt;crit&lt;/option&gt;,
+	    &lt;option&gt;alert&lt;/option&gt;, or
+	    &lt;option&gt;emerg&lt;/option&gt;.
+	&lt;/para&gt;
+      &lt;/refsect1&gt;
+    &lt;/refentry&gt;
+
+    &lt;refentry id="apache_table"&gt;
+      &lt;refnamediv&gt;
+	&lt;refname&gt;apache_table&lt;/refname&gt;
+	&lt;refpurpose&gt;access and manipulate Apache tables in the request structure.&lt;/refpurpose&gt;
+      &lt;/refnamediv&gt;
 
+      &lt;refsynopsisdiv&gt;
+	&lt;cmdsynopsis&gt;
+	  &lt;command&gt;apache_table&lt;/command&gt;
+	  &lt;group choice="req"&gt;
+	    &lt;arg&gt;get&lt;/arg&gt;
+	    &lt;arg&gt;set&lt;/arg&gt;
+	    &lt;arg&gt;exists&lt;/arg&gt;
+	    &lt;arg&gt;unset&lt;/arg&gt;
+	    &lt;arg&gt;names&lt;/arg&gt;
+	    &lt;arg&gt;array_get&lt;/arg&gt;
+	    &lt;arg&gt;clear&lt;/arg&gt;
+	  &lt;/group&gt;
+	&lt;/cmdsynopsis&gt;
+      &lt;/refsynopsisdiv&gt;
+
+      &lt;refsect1&gt;
+	&lt;title&gt;Description&lt;/title&gt;
+	&lt;para&gt;The apache_table command is for accessing and manipulating
+	  Apache tables in the request structure.
+	&lt;/para&gt;
+	&lt;para&gt;
+	The table name must be one of
+	    &lt;option&gt;notes&lt;/option&gt;,
+	    &lt;option&gt;headers_in&lt;/option&gt;,
+	    &lt;option&gt;headers_out&lt;/option&gt;,
+	    &lt;option&gt;err_headers_out&lt;/option&gt;, or
+	    &lt;option&gt;subprocess_env&lt;/option&gt;.
+	&lt;/para&gt;
+
+	&lt;variablelist&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;get&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+		When given the name of an Apache table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;
+		and the name of a key
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;,
+		returns the value of the key in the table, or an empty
+		string.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;set&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;value&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;set&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;list&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+		Stores the
+		&lt;option&gt;&lt;replaceable&gt;value&lt;/replaceable&gt;&lt;/option&gt; in
+		the table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;
+		under the key
+		&lt;option&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/option&gt;.
+	      &lt;/para&gt;
+	      &lt;para&gt;
+	        For the list form,
+		&lt;option&gt;&lt;replaceable&gt;list&lt;/replaceable&gt;&lt;/option&gt; contains
+		a list of zero or more pairs of key-value pairs to be
+		set into the table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;exists&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+		Returns 1 if the specified key,
+		&lt;option&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/option&gt;,
+		exists in table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;,
+		else 0.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;unset&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+	        Removes the key-value pair referenced by
+		&lt;option&gt;&lt;replaceable&gt;key&lt;/replaceable&gt;&lt;/option&gt;
+		from the table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;names&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+		Returns a list of all of the keys present in the table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;array_get&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+	        Returns a list of key-value pairs from the table
+		&lt;option&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/option&gt;.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	  &lt;varlistentry&gt;
+	    &lt;term&gt;
+	      &lt;cmdsynopsis&gt;
+		&lt;command&gt;apache_table&lt;/command&gt;
+		&lt;arg choice="plain"&gt;clear&lt;/arg&gt;
+		&lt;arg&gt;&lt;replaceable&gt;tablename&lt;/replaceable&gt;&lt;/arg&gt;
+	      &lt;/cmdsynopsis&gt;
+	    &lt;/term&gt;
+	    &lt;listitem&gt;
+	      &lt;para&gt;
+		Clears the contents of the specified table.
+	      &lt;/para&gt;
+	    &lt;/listitem&gt;
+	  &lt;/varlistentry&gt;
+	&lt;/variablelist&gt;
+      &lt;/refsect1&gt;
+    &lt;/refentry&gt;
+
+&lt;/section&gt;

Modified: tcl/rivet/trunk/src/apache-2/rivetCore.c
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/src/apache-2/rivetCore.c?rev=811125&amp;r1=811124&amp;r2=811125&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/src/apache-2/rivetCore.c (original)
+++ tcl/rivet/trunk/src/apache-2/rivetCore.c Thu Sep  3 21:12:00 2009
@@ -567,9 +567,15 @@
  *
  *	apache_table get tablename key
  *      apache_table set tablename key value
+ *      apache_table set tablename list
  *      apache_table exists tablename key
  *      apache_table unset tablename key
- *      apache_table list tablename
+ *      apache_table names tablename
+ *      apache_table array_get tablename
+ *      apache_table clear tablename
+ *
+ *      Table names can be "notes", "headers_in", "headers_out",
+ *      "err_headers_out", and "subprocess_env".
  *
  * Results:
  *	A standard Tcl result.
@@ -1121,6 +1127,116 @@
     return TCL_OK;
 }
 
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * Rivet_LogError --
+ *
+ * 	Log an error from Rivet
+ *
+ *	log_error priority message
+ *
+ *        priority can be one of "emerg", "alert", "crit", "err",
+ *            "warning", "notice", "info", "debug"
+ *
+ * Results:
+ *      A message is logged to the Apache error log.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+TCL_CMD_HEADER( Rivet_LogErrorCmd )
+{
+    char *loglevel = NULL;
+    char *message = NULL;
+
+    server_rec *serverRec;
+
+    int loglevelindex;
+    int  apLogLevel = 0;
+
+    static CONST84 char *logLevel[] = {
+	"emerg",
+	"alert",
+	"crit",
+	"err",
+	"warning",
+	"notice",
+	"info",
+	"debug",
+	NULL
+    };
+
+    enum loglevel {
+	EMERG,
+	ALERT,
+	CRIT,
+	ERR,
+	WARNING,
+	NOTICE,
+	INFO,
+	DEBUG
+    };
+
+    rivet_interp_globals *globals = Tcl_GetAssocData(interp, "rivet", NULL);
+
+    if( objc != 3 ) {
+	Tcl_WrongNumArgs( interp, 1, objv, "loglevel message" );
+	return TCL_ERROR;
+    }
+
+    loglevel = Tcl_GetString(objv[1]);
+    message = Tcl_GetString (objv[2]);
+    if (Tcl_GetIndexFromObj(interp, objv[1], logLevel,
+			"emerg|alert|crit|err|warning|notice|info|debug",
+			0, &amp;loglevelindex) == TCL_ERROR) {
+	return TCL_ERROR;
+    }
+
+    switch ((enum loglevel)loglevelindex)
+    {
+      case EMERG:
+        apLogLevel = APLOG_EMERG;
+	break;
+
+      case ALERT:
+        apLogLevel = APLOG_ALERT;
+        break;
+
+      case CRIT:
+        apLogLevel = APLOG_CRIT;
+        break;
+
+      case ERR:
+        apLogLevel = APLOG_ERR;
+        break;
+
+      case WARNING:
+        apLogLevel = APLOG_WARNING;
+        break;
+
+      case NOTICE:
+        apLogLevel = APLOG_NOTICE;
+        break;
+
+      case INFO:
+        apLogLevel = APLOG_INFO;
+        break;
+
+      case DEBUG:
+        apLogLevel = APLOG_DEBUG;
+        break;
+    }
+
+    /* if we are serving a page, we know our server, 
+     * else send null for server
+     */
+    serverRec = (globals-&gt;r == NULL) ? NULL : globals-&gt;r-&gt;server;
+
+    ap_log_error (APLOG_MARK, apLogLevel, 0, serverRec, "%s", message);
+    return TCL_OK;
+}
+
 #define TESTPANIC 0
 
 #ifdef TESTPANIC
@@ -1186,72 +1302,91 @@
 			 Rivet_MakeURL,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "headers",
 			 Rivet_Headers,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "load_env",
 			 Rivet_LoadEnv,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "load_headers",
 			 Rivet_LoadHeaders,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "var",
 			 Rivet_Var,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "apache_table",
 			 Rivet_ApacheTable,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "var_qs",
 			 Rivet_Var,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "var_post",
 			 Rivet_Var,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "raw_post",
 			 Rivet_RawPost,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "upload",
 			 Rivet_Upload,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "include",
 			 Rivet_Include,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "parse",
 			 Rivet_Parse,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "no_body",
 			 Rivet_NoBody,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
+
     Tcl_CreateObjCommand(interp,
 			 "env",
 			 Rivet_EnvCmd,
 			 NULL,
 			 (Tcl_CmdDeleteProc *)NULL);
 
+    Tcl_CreateObjCommand(interp,
+			 "apache_log_error",
+			 Rivet_LogErrorCmd,
+			 NULL,
+			 (Tcl_CmdDeleteProc *)NULL);
+
 #ifdef TESTPANIC
     Tcl_CreateCommand(interp, "testpanic", TestpanicCmd, (ClientData) 0,
             (Tcl_CmdDeleteProc *) NULL);



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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Reconsider command name for error logger</title>
<author><name>Damon Courtney &lt;damon@tclhome.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200909.mbox/%3c0BF05A09-CD36-427F-A343-9B09DFA9E583@tclhome.com%3e"/>
<id>urn:uuid:%3c0BF05A09-CD36-427F-A343-9B09DFA9E583@tclhome-com%3e</id>
<updated>2009-09-03T14:19:26Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

On Sep 3, 2009, at 8:54 AM, Karl Lehenbauer wrote:

&gt; Since the table command is "apache_table", how about if the proposed  
&gt; error logging command is "apache_log_error"?

I don't have any problem with adding more of the Apache API to Rivet,  
and I like keeping the function names the same if we can.  Because all  
of the Apache stuff is generally "namespaced" with the apache_ prefix,  
we shouldn't really have to worry about name collisions, and it'll be  
really easy for anyone familiar with Apache to pick up the API.

Go for it.

D

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



</pre>
</div>
</content>
</entry>
<entry>
<title>Reconsider command name for error logger</title>
<author><name>Karl Lehenbauer &lt;karllehenbauer@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200909.mbox/%3c0270976D-5C81-4177-AE1A-F1427689F645@gmail.com%3e"/>
<id>urn:uuid:%3c0270976D-5C81-4177-AE1A-F1427689F645@gmail-com%3e</id>
<updated>2009-09-03T13:54:27Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Since the table command is "apache_table", how about if the proposed  
error logging command is "apache_log_error"?



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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: bugzilla reports</title>
<author><name>David Welton &lt;davidw@dedasys.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200908.mbox/%3c9877cd600908090913jc7556fak240fa795cea8a9f7@mail.gmail.com%3e"/>
<id>urn:uuid:%3c9877cd600908090913jc7556fak240fa795cea8a9f7@mail-gmail-com%3e</id>
<updated>2009-08-09T16:13:16Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
&gt; I found in bugzilla database a report issued by
&gt; David back in 2005. David lamented the Tcl build system
&gt; was broken. Since we have switched to autotools i presume
&gt; the report can be deleted.

Sure.

&gt; I think also the we could use bugzilla to file a report
&gt; (or more) as a memo for the missing features and open issues
&gt; to be addressed before releasing. (fixing the test suite
&gt; is the first that i can recall)

Sure, that works for me.  What others come to mind?

-- 
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/
Sent from Padua, Veneto, Italy

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



</pre>
</div>
</content>
</entry>
<entry>
<title>bugzilla reports</title>
<author><name>&quot;Massimo Manghi&quot; &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200908.mbox/%3c20090804063352.M95587@unipr.it%3e"/>
<id>urn:uuid:%3c20090804063352-M95587@unipr-it%3e</id>
<updated>2009-08-04T06:39:08Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

I found in bugzilla database a report issued by
David back in 2005. David lamented the Tcl build system
was broken. Since we have switched to autotools i presume
the report can be deleted. 

I think also the we could use bugzilla to file a report
(or more) as a memo for the missing features and open issues
to be addressed before releasing. (fixing the test suite
is the first that i can recall)

-- Massimo



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r790674 [5/5] - in /tcl/rivet/trunk/doc: ./ html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200907.mbox/%3c20090702165505.849D92388902@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090702165505-849D92388902@eris-apache-org%3e</id>
<updated>2009-07-02T16:55:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/doc/html/session_package.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/session_package.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/session_package.html (original)
+++ tcl/rivet/trunk/doc/html/session_package.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Session Package&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="diodisplay_package.html" title="DIODisplay"&gt;&lt;link rel="next" href="help.html" title="Resources - How to Get Help"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Session Package&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="diodisplay_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="help.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;
 /table&gt;&lt;/div&gt;&lt;div class="section" title="Session Package"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="session_package"&gt;&lt;/a&gt;Session Package&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Introduction"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id512930"&gt;&lt;/a&gt;Introduction&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Session Package&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="diodisplay_package.html" title="DIODisplay"&gt;&lt;link rel="next" href="help.html" title="Resources - How to Get Help"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Session Package&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="diodisplay_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="help.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="session_package"&gt;&lt;/a&gt;Session Package&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744365"&gt;&lt;/a&gt;Introduction&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	This is session management code.  It provides an interface
 	to allow you to generate and track a browser's visit as a
 	"session", giving you a unique session ID and an interface
@@ -20,12 +20,12 @@
 	broswer and once in the response from it.
       &lt;/p&gt;&lt;p style="width:90%"&gt;
 	Robust login systems, etc, can be built on top of this code.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Requirements"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="requirements"&gt;&lt;/a&gt;Requirements&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="requirements"&gt;&lt;/a&gt;Requirements&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	  Currently has only been tested with Postgresql, MySql and Oracle.
 	  All DB interfacing is done through DIO, though, so it
 	  should be relatively easy to add support for other
 	  databases.
-	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Preparing To Use It"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513285"&gt;&lt;/a&gt;Preparing To Use It&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;Create the tables in your SQL server.  With Postgres,
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744389"&gt;&lt;/a&gt;Preparing To Use It&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;Create the tables in your SQL server.  With Postgres,
 	  do a &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;psql www&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; or whatever DB you
 	  connect as, then a backslash-i on
 	  &lt;code class="filename"&gt;session-create.sql&lt;/code&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;(If you need to delete the tables, use &lt;code class="filename"&gt;session-drop.sql&lt;/code&gt;)&lt;/p&gt;&lt;p style="width:90%"&gt;The session code by default requires a DIO handle
@@ -33,7 +33,7 @@
 	  overridden).  We get it by doing a&lt;/p&gt;&lt;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"&gt;
 	      RivetServerConf ChildInitScript "package require DIO"
 	      RivetServerConf ChildInitScript "::DIO::handle Postgresql DIO -user www"
-	    &lt;/pre&gt;&lt;/div&gt;&lt;div class="section" title="Example Usage"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513331"&gt;&lt;/a&gt;Example Usage&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;In your httpd.conf, add:&lt;/p&gt;&lt;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"&gt;RivetServerConf ChildInitScript "package require Session; Session SESSION"&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	    &lt;/pre&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744438"&gt;&lt;/a&gt;Example Usage&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;In your httpd.conf, add:&lt;/p&gt;&lt;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"&gt;RivetServerConf ChildInitScript "package require Session; Session SESSION"&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  This tells Rivet you want to create a session object named
 	  SESSION in every child process Apache creates.&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  You can configure the session at this point using numerous
@@ -54,7 +54,7 @@
 	  additional requests are received during the session, all
 	  under the control of the key-value pairs controlling the
 	  session object.
-	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Using Sessions From Your Code"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513387"&gt;&lt;/a&gt;Using Sessions From Your Code&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The main methods your code will use are:&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION&lt;/span&gt; &lt;span style="font-weight:bold ; font-family:monospace"&gt;id&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744505"&gt;&lt;/a&gt;Using Sessions From Your Code&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The main methods your code will use are:&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION&lt;/span&gt; &lt;span style="font-weight:bold ; font-family:monospace"&gt;id&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		After doing a &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;SESSION activate&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
 		this will return a 32-byte ASCII-encoded random
 		hexadecimal string.  Every time this browser comes
@@ -81,7 +81,7 @@
 		none was set.  (Status is set to the DIO error that
 		occurred, it can be fetched using the status
 		method.)
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Session Configuration Options"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513584"&gt;&lt;/a&gt;Session Configuration Options&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The following key-value pairs can be specified when a
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744712"&gt;&lt;/a&gt;Session Configuration Options&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The following key-value pairs can be specified when a
 	  session object (like SESSION above) is created:&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionLifetime&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;how many seconds the session will live for.
 		7200 == 2 hours
 	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionRefreshInterval&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
@@ -135,7 +135,7 @@
 		file handle that debugging messages will be written
 		to (default
 		&lt;code class="varname"&gt;stdout&lt;/code&gt;)
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Session Methods"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513818"&gt;&lt;/a&gt;Session Methods&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2744967"&gt;&lt;/a&gt;Session Methods&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	  The following methods can be invoked to find out
 	  information about the current session, store and fetch
 	  server data identified with this session, etc:
@@ -174,7 +174,7 @@
 		If they don't have one or it isn't valid (timed out,
 		etc), create a session and drop a cookie on
 		them.
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Getting Additional Randomness From The Entropy File"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514044"&gt;&lt;/a&gt;Getting Additional Randomness From The Entropy File&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;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"&gt;RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2745205"&gt;&lt;/a&gt;Getting Additional Randomness From The Entropy File&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;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"&gt;RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
   -entropyLength 10 -debugMode 1"&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  This options say we want to get randomness from an entropy
 	  file (random data pseudo-device) of /dev/urandom, to get ten

Modified: tcl/rivet/trunk/doc/html/tcl_packages.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/tcl_packages.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/tcl_packages.html (original)
+++ tcl/rivet/trunk/doc/html/tcl_packages.html Thu Jul  2 16:55:02 2009
@@ -1,7 +1,7 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Tcl Packages&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="examples.html" title="Examples and Usage"&gt;&lt;link rel="next" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Tcl Packages&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/ta
 ble&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Packages"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="tcl_packages"&gt;&lt;/a&gt;Rivet Tcl Packages&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Tcl Packages&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="examples.html" title="Examples and Usage"&gt;&lt;link rel="next" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Tcl Packages&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/t
 able&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="tcl_packages"&gt;&lt;/a&gt;Rivet Tcl Packages&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       In addition to the core Apache module, Rivet provides a number
       of Tcl packages that include potentially useful code.
-    &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;commserver is a package providing a server that can be
+    &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;commserver is a package providing a server that can be
 	used for IPC.  Still experimental.  Requires the comm package
-	from tcllib.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dio is a database abstraction layer.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dtcl is a compatibility package for mod_dtcl
-	applications.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;form - for creating forms.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;rivet - some additional, useful routines.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;tclrivet&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Examples and UsageÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIO - Database Interface Objects&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/d
 iv&gt;&lt;/body&gt;&lt;/html&gt;
+	from tcllib.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dio is a database abstraction layer.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dtcl is a compatibility package for mod_dtcl
+	applications.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;form - for creating forms.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;rivet - some additional, useful routines.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;tclrivet&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Examples and UsageÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIO - Database Interface Objects&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/unescape_string.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/unescape_string.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/unescape_string.html (original)
+++ tcl/rivet/trunk/doc/html/unescape_string.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;unescape_string&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_shell_command.html" title="escape_shell_command"&gt;&lt;link rel="next" href="examples.html" title="Examples and Usage"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;unescape_string&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_shell_command.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="ex
 amples.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="unescape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498492"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;unescape_string&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_shell_command.html" title="escape_shell_command"&gt;&lt;link rel="next" href="examples.html" title="Examples and Usage"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;unescape_string&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_shell_command.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="e
 xamples.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728854"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Scans through each character in the specified string looking
 	  for escaped character sequences (characters containing a
 	  percent sign and two hexadecimal characters, unescaping them 
@@ -7,6 +7,6 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	    This is useful for unquoting strings that have been quoted to
 	    be part of a URL.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
 	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="escape_shell_command.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="examples.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;escape_shell_commandÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â Examples and Usage&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/upgrading.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/upgrading.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/upgrading.html (original)
+++ tcl/rivet/trunk/doc/html/upgrading.html Thu Jul  2 16:55:02 2009
@@ -1,12 +1,12 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="internals.html" title="Rivet Internals"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Upgrading from mod_dtcl or NeoWebScript"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;
 div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="upgrading"&gt;&lt;/a&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="internals.html" title="Rivet Internals"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clea
 r: both"&gt;&lt;a name="upgrading"&gt;&lt;/a&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       Rivet is a break from the past, in that we, the authors, have
       attempted to take what we like best about our past efforts, and
       leave out or change things we no longer care for.  Backwards
       compatibility was not a primary goal when creating Rivet, but we
       do provide this information which may be of use to those wishing
       to upgrade from mod_dtcl or NWS installations.
-    &lt;/p&gt;&lt;div class="section" title="mod_dtcl"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515646"&gt;&lt;/a&gt;mod_dtcl&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+    &lt;/p&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746687"&gt;&lt;/a&gt;mod_dtcl&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Rivet was originally based on the dtcl code, but it has
 	changed (improved!) quite a bit.  The concepts remain the
 	same, but many of the commands have changed.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="NeoWebScript"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515657"&gt;&lt;/a&gt;NeoWebScript&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;TODO&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet InternalsÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746674"&gt;&lt;/a&gt;NeoWebScript&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;TODO&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet InternalsÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/upload.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/upload.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/upload.html (original)
+++ tcl/rivet/trunk/doc/html/upload.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;upload&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="var.html" title="var"&gt;&lt;link rel="next" href="load_response.html" title="load_response"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;upload&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="var.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_response.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr
 &gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="upload"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-w
 eight: bold;"&gt;filename&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id496664"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;upload&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="var.html" title="var"&gt;&lt;link rel="next" href="load_response.html" title="load_response"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;upload&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="var.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_response.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/t
 r&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;filenam
 e&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2726957"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
 	  See the relevant Apache Directives to further configure the
 	  behavior of this Rivet feature.
 	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;

Modified: tcl/rivet/trunk/doc/html/var.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/var.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/var.html (original)
+++ tcl/rivet/trunk/doc/html/var.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;var&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="next" href="upload.html" title="upload"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;var&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="commands.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="upload.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;
 /a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="var"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-
 spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-
 weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id496326"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;var&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="next" href="upload.html" title="upload"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;var&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="commands.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="upload.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;
 &lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;spa
 n style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all
 &lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2726606"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command retrieves information
 	  about GET or POST variables sent to the script via client
 	  request.  It treats both GET and POST variables the same,

Modified: tcl/rivet/trunk/doc/rivet.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/rivet.xml?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/rivet.xml (original)
+++ tcl/rivet/trunk/doc/rivet.xml Thu Jul  2 16:55:02 2009
@@ -68,9 +68,9 @@
     &lt;/author&gt;
   &lt;/articleinfo&gt;
   &lt;!--para&gt;
-    This document is also available in the following languages: &lt;ulink
-    url="index.it.html"&gt;Italian&lt;/ulink&gt;, &lt;ulink
-    url="index.ru.html"&gt;Russian&lt;/ulink&gt;
+    This document is also available in the following languages: 
+    &lt;ulink url="index.it.html"&gt;Italian&lt;/ulink&gt;, 
+    &lt;ulink url="index.ru.html"&gt;Russian&lt;/ulink&gt;
   &lt;/para--&gt;
 
   &lt;para&gt;

Modified: tcl/rivet/trunk/doc/rivet.xsl
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/rivet.xsl?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/rivet.xsl (original)
+++ tcl/rivet/trunk/doc/rivet.xsl Thu Jul  2 16:55:02 2009
@@ -27,7 +27,7 @@
   &lt;xsl:param name="navig.graphics" select="1"/&gt;
   &lt;xsl:param name="navig.graphics.extension" select="'.png'"/&gt;
   &lt;xsl:param name="admon.graphics" select="1"/&gt;
-  &lt;xsl:param name="generate.section.toc.level" select="1"/&gt;
+  &lt;xsl:param name="generate.section.toc.level" select="2"/&gt;
   &lt;xsl:param name="refentry.separator" select="1"/&gt;
   &lt;xsl:param name="generate.toc"&gt;article toc,title,example&lt;/xsl:param&gt;
 

Modified: tcl/rivet/trunk/doc/xml/directives.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/directives.xml?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/directives.xml (original)
+++ tcl/rivet/trunk/doc/xml/directives.xml Thu Jul  2 16:55:02 2009
@@ -287,9 +287,7 @@
 		  If a HEAD requests is issued by the client Rivet detects
 		  this case and sends back to the client a standard header 
 		  response. If the real header has to be examined (e.g. 
-		  for debugging) you can turn on this options which 
-		  causes Rivet to parse and run the script the requests refers 
-		  to. In this case the real header is returned to the client.
+		  for debugging) you can turn this options on. 
 		&lt;/para&gt;
 		&lt;para&gt;This option is, by nature, only available at the global level&lt;/para&gt;
 	      &lt;/listitem&gt;
@@ -315,8 +313,8 @@
 	    These options are the same as for
 	    &lt;command&gt;RivetServerConf&lt;/command&gt;, except that they are
 	    only valid for the directory where they are specified, and
-	    its subdirectories.  It may be specified in
-	    &lt;command&gt;Directory&lt;/command&gt; sections.
+	    its subdirectories.  It may be specified in &lt;command&gt;Directory&lt;/command&gt; 
+	    sections.
 	  &lt;/para&gt;
 	&lt;/listitem&gt;
       &lt;/varlistentry&gt;

Modified: tcl/rivet/trunk/doc/xml/examples.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/examples.xml?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/examples.xml (original)
+++ tcl/rivet/trunk/doc/xml/examples.xml Thu Jul  2 16:55:02 2009
@@ -215,77 +215,54 @@
 	XML messages that have to be understood by JavaScript code used 
 	in Ajax applications. 
       &lt;/para&gt;
-      &lt;para&gt;
-	Ajax is a web programming technique that heavily relies on the 
-	abilty of JavaScript (and other scriping languages like VBScript) to 
-	manipulate dynamically the HTML structure of a page. In modern browsers 
-	JavaScript code is enabled to send GET or POST requests to the webserver.
-	These requests can request the server to run scripts (for example Rivet
-	Tcl scripts) that build responses and to be sent back to the browser.
-	JavaScript code reads asynchronously these responses, elaborates
-	their content and accordingly modifies the page on display. 
-	Ajax helps to build web applications that are more responsive and 
-	flexible, if you can cope with the complexities, subtleties and 
-	incompatibilities even among the most common browsers available. 
-	Instead of going through the cycle of request-generation-transfer
-	of a page, Ajax allows the programmer to request and transmit only
-	the essential data thus matching the general requirement of separation
-	between data and user interface (and saving the server from sending over
-	the same html code and graphics when only a fraction of a page has
-	to be refreshed)
-      &lt;/para&gt;
-      &lt;para&gt;
-	In Ajax	applications the communication between client and server 
-	is controlled by an instance of a specialized object: the non-IE world
-	(Firefox,Safari,Opera...) uses the XMLHttpRequest class to create it, 
-	whereas IE uses the ActiveXObject class.
-      	&lt;note&gt;
-	    With the release of IE7 Microsoft introduced native support for 
-	    &lt;ulink url="http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx"&gt;
-	    XMLHttpRequest&lt;/ulink&gt; class objects
-      	&lt;/note&gt;	
-	By creating an instance of this class a POST or GET request can be sent 
-	to the server, whose response is stored in a 
-	property ('returnedText') of the communication object. 
-	It's become widely customary to encode in XML messages the response
-	from the server to the browser. A number of XML specification are 
-	being used for this, among which XML-RPC and SOAP are worth to be 
-	quoted. Anyway, you can invent your own message definitions
-	(either based on XML or anything else), but one has to be aware of 
-	the fact that if the http headers are properly set and the message 
-	returned to the client is a well formed XML fragment, also the property 
-	&lt;ulink url="http://www.w3schools.com/ajax/ajax_responsexml.asp"&gt;
-	XMLResponse&lt;/ulink&gt; is set with a reference to an object 
-	that represent the
-	&lt;ulink url="http://www.w3schools.com/dom/default.asp"&gt;
-	DOM&lt;/ulink&gt; of the XML response. 
-	By means of the XML W3C DOM tree methods and properties
-	you can write scripts that read and manipulate the data embedded in 
-	the XML message.
-      &lt;/para&gt;
-      &lt;para&gt;
-        In this example a Rivet script initializes an array with the
-	essential data regarding a few of the major composers of the 
-	european music. This array plays the role of a database
-	which, in a real case, has is a real DBM which stores large 
-	tables with thousands records and more complex and 
-	extended information. 
-	The script is designed to send back to the client two 
-	types of responses: a catalog of the composers or a single 
-	record of a composer.
-      &lt;/para&gt;
-      &lt;programlisting&gt;&amp;rivet_web_service.tcl;&lt;/programlisting&gt;
-      &lt;para&gt;
-	For sake of brevity the JavaScript and HTML will not listed here. 
-	They can be downloaded (along with the Tcl script) stored in the 
-	&lt;ulink url="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz"&gt;
-	rivet-ajax.tar.gz&lt;/ulink&gt; archive. By simply 
-	opening this tar archive in a directory accessible by your
-	apache server and pointing your browser to the rivetService.html
-	page you should see a page with a drop-down list. Every time
-	a different name is picked from the list a new query is sent and 
-	logged in the apache access.log file, even though the html 
-	is never reloaded.
-      &lt;/para&gt;
+	&lt;para&gt;
+	    Ajax is a web programming technique that heavily relies on the abilty of a web browser to run in backround
+	    JavaScript functions. JavaScript functions can be run as callbacks of events generated by a user interaction 
+	    but they can also react to other I/O events, for example network events. 
+	    Modern browsers endow JavaScript with the ability to build http GET/POST requests to be sent to a remote
+	    webserver. Generally these requests refer to scripts (e.g. Tcl scripts run by Rivet) which inherit as 
+	    variables the arguments encoded in the request. 
+	    The output produced by these scripts is sent back to the browser where callbacks functions extract 
+	    information and hand it down to functions that directly manipulate a page's DOM.
+	    Therefore through Ajax becomes possible to build web applications that are more responsive and flexible: 
+	    instead of going through the cycle of request-generation-transfer-display 
+	    of a whole page, Ajax scripts request from a webserver only the essential data to be displayed.
+	    Ajax emphasizes the requirement of separation between data and user interface, saves 
+	    the server from sending over the same html code and graphics if only a fraction of a page has to be 
+	    updated, allows the programmer to design flexible solutions for complex forms and makes possible
+	    to find new innovative approaches to simple problems (e.g. Google tips that show up as you type in
+	    a query). A downside of this approach is the large number of complexities, subtleties and incompatibilities 
+	    that still exist in the way different versions of popular browsers handle the DOM elements of a page.
+	&lt;/para&gt;
+	&lt;para&gt;
+	    JavaScript can handle the communication between client and server through an instance of a 
+	    specialized object. For quite a long time 2 approaches existed, the non-IE world (Firefox,Safari,Opera...) 
+	    used the XMLHttpRequest class to create this object, whereas IE (before IE7) used the ActiveXObject class.
+	    With the release of IE7 Microsoft introduced native support for XMLHttpRequest class objects thus enabling
+	    programmers with a unique method for the development of dynamic pages. 
+	&lt;/para&gt;
+	&lt;para&gt;
+	    By creating an instance of this class a POST or GET request can be sent to the server and the response is 
+	    stored in a property ('returnedText') of the communication object. It's become widely customary to encode 
+	    these responses in XML messages. You can invent your own message structure (either based on XML or anything 
+	    else), but one has to be aware that if the http headers are properly set and the message returned to the 
+	    client is a well formed XML fragment, also the property XMLResponse is assigned with a reference to an object 
+	    that represents the DOM of the XML response. By means of the XML W3C DOM interface the programmer can easily
+	    manipulate the data embedded in the XML message.
+	&lt;/para&gt;
+	&lt;para&gt;
+	    In this example a Rivet script initializes an array with the essential data regarding a few of the major 
+	    composers of the european music. This array plays the role of a database. The script sends back to the 
+	    client two types of responses: a catalog of the composers or a single record of a composer.
+	&lt;/para&gt;
+	&lt;programlisting&gt;&amp;rivet_web_service.tcl;&lt;/programlisting&gt;
+	&lt;para&gt;
+	    For sake of brevity the JavaScript and HTML will not listed here. They can be downloaded (along with the Tcl 
+	    script) stored in the &lt;ulink url="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz"&gt;rivet-ajax.tar.gz&lt;/ulink&gt; archive. 
+	    By simply opening this tar archive in a directory accessible 
+	    by your apache server and pointing your browser to the rivetService.html page you should see a page with a 
+	    drop-down list. Every time a different name is picked from the list a new query is sent and logged in the 
+	    apache access.log file, even though the html is never reloaded.
+	&lt;/para&gt;
     &lt;/example&gt;
 &lt;/section&gt;



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r790674 [3/5] - in /tcl/rivet/trunk/doc: ./ html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200907.mbox/%3c20090702165505.7001023888E6@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090702165505-7001023888E6@eris-apache-org%3e</id>
<updated>2009-07-02T16:55:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/doc/html/makeurl.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/makeurl.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/makeurl.html (original)
+++ tcl/rivet/trunk/doc/html/makeurl.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;makeurl&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="headers.html" title="headers"&gt;&lt;link rel="next" href="cookie.html" title="cookie"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;makeurl&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="headers.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="cookie.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tabl
 e&gt;&lt;/div&gt;&lt;div class="refentry" title="makeurl"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl
&amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span
style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497785"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;makeurl&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="headers.html" title="headers"&gt;&lt;link rel="next" href="cookie.html" title="cookie"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;makeurl&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="headers.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="cookie.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tab
 le&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl
&amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span style="font-family:monospace;
font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" lang="en"&gt;&lt;a name="id2728117"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
 	  Create a self referencing URL from a filename.  For example:
 	  &lt;/p&gt;&lt;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"&gt;makeurl /tclp.gif&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  returns

Modified: tcl/rivet/trunk/doc/html/no_body.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/no_body.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/no_body.html (original)
+++ tcl/rivet/trunk/doc/html/no_body.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;no_body&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="abort_page.html" title="abort_page"&gt;&lt;link rel="next" href="escape_string.html"
title="escape_string"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation
header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;no_body&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="abort_page.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escape_string.html"&gt;&lt;img
src="images/next.png" a
 lt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry"
title="no_body"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div
class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body
&amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id498282"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;no_body&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="abort_page.html" title="abort_page"&gt;&lt;link rel="next" href="escape_string.html"
title="escape_string"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation
header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;no_body&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="abort_page.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escape_string.html"&gt;&lt;img
src="images/next.png" 
 alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry"
lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div
class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body
&amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" lang="en"&gt;&lt;a name="id2728629"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
 	  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.

Modified: tcl/rivet/trunk/doc/html/parray.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/parray.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/parray.html (original)
+++ tcl/rivet/trunk/doc/html/parray.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parray&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="incr0.html" title="incr0"&gt;&lt;link rel="next" href="abort_page.html" title="abort_page"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parray&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="incr0.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="abort_page.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/
 table&gt;&lt;/div&gt;&lt;div class="refentry" title="parray"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray
&amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight:
bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?
?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span
class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id498186"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:9
 0%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parray&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="incr0.html" title="incr0"&gt;&lt;link rel="next" href="abort_page.html" title="abort_page"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parray&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="incr0.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="abort_page.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;
 /table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray
&amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight:
bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?
?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span
class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" lang="en"&gt;&lt;a name="id2728528"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
 	  An html version of the standard Tcl
 	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
command.  Displays the entire
 	  contents of an array in a sorted, nicely-formatted way.

Modified: tcl/rivet/trunk/doc/html/parse.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/parse.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/parse.html (original)
+++ tcl/rivet/trunk/doc/html/parse.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parse&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="include.html" title="include"&gt;&lt;link rel="next" href="headers.html" title="headers"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parse&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="include.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="headers.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table
 &gt;&lt;/div&gt;&lt;div class="refentry" title="parse"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse
&amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span
style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497422"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parse&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="include.html" title="include"&gt;&lt;link rel="next" href="headers.html" title="headers"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parse&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="include.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="headers.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tabl
 e&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse
&amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight:
bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" lang="en"&gt;&lt;a name="id2727745"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
 	  Like the Tcl &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
command, but also
 	  parses for Rivet &amp;lt;?  and ?&amp;gt; processing tags.  Using
 	  this command, you can use one .rvt file from another.



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r790674 [2/5] - in /tcl/rivet/trunk/doc: ./ html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200907.mbox/%3c20090702165505.65CF023888DA@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090702165505-65CF023888DA@eris-apache-org%3e</id>
<updated>2009-07-02T16:55:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/doc/html/examples.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/examples.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/examples.html (original)
+++ tcl/rivet/trunk/doc/html/examples.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Examples and Usage&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="unescape_string.html" title="unescape_string"&gt;&lt;link rel="next" href="tcl_packages.html" title="Rivet Tcl Packages"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Examples and Usage&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="unescape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="tcl_packages.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a
 &gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Examples and Usage"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="examples"&gt;&lt;/a&gt;Examples and Usage&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Examples and Usage&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="unescape_string.html" title="unescape_string"&gt;&lt;link rel="next" href="tcl_packages.html" title="Rivet Tcl Packages"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Examples and Usage&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="unescape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="tcl_packages.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/
 a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="examples"&gt;&lt;/a&gt;Examples and Usage&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       Some examples of Rivet usage follow.  Some prior Tcl knowledge
       is assumed.  If you don't know much Tcl, don't worry, it's easy,
       and there are some good resources available on the web that will
@@ -16,7 +16,7 @@
 	If you then access it with your browser, you should see a
 	blank page with the text "Hello World" (without the quotes) on
 	it.
-      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="id500984"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 2.Â Generate a Table&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="id2732097"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 2.Â Generate a Table&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
 	    In another simple example, we dynamically generate a table:
 	  &lt;/p&gt;&lt;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"&gt;&amp;lt;? puts "&amp;lt;table&amp;gt;\n"
 for {set i 1} { $i &amp;lt;= 8 } {incr i} {
@@ -312,62 +312,42 @@
 	XML messages that have to be understood by JavaScript code used 
 	in Ajax applications. 
       &lt;/p&gt;&lt;p style="width:90%"&gt;
-	Ajax is a web programming technique that heavily relies on the 
-	abilty of JavaScript (and other scriping languages like VBScript) to 
-	manipulate dynamically the HTML structure of a page. In modern browsers 
-	JavaScript code is enabled to send GET or POST requests to the webserver.
-	These requests can request the server to run scripts (for example Rivet
-	Tcl scripts) that build responses and to be sent back to the browser.
-	JavaScript code reads asynchronously these responses, elaborates
-	their content and accordingly modifies the page on display. 
-	Ajax helps to build web applications that are more responsive and 
-	flexible, if you can cope with the complexities, subtleties and 
-	incompatibilities even among the most common browsers available. 
-	Instead of going through the cycle of request-generation-transfer
-	of a page, Ajax allows the programmer to request and transmit only
-	the essential data thus matching the general requirement of separation
-	between data and user interface (and saving the server from sending over
-	the same html code and graphics when only a fraction of a page has
-	to be refreshed)
-      &lt;/p&gt;&lt;p style="width:90%"&gt;
-	In Ajax	applications the communication between client and server 
-	is controlled by an instance of a specialized object: the non-IE world
-	(Firefox,Safari,Opera...) uses the XMLHttpRequest class to create it, 
-	whereas IE uses the ActiveXObject class.
-      	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
-	    With the release of IE7 Microsoft introduced native support for 
-	    &lt;a class="ulink" href="http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx" target="_top"&gt;
-	    XMLHttpRequest&lt;/a&gt; class objects
-      	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;	
-	By creating an instance of this class a POST or GET request can be sent 
-	to the server, whose response is stored in a 
-	property ('returnedText') of the communication object. 
-	It's become widely customary to encode in XML messages the response
-	from the server to the browser. A number of XML specification are 
-	being used for this, among which XML-RPC and SOAP are worth to be 
-	quoted. Anyway, you can invent your own message definitions
-	(either based on XML or anything else), but one has to be aware of 
-	the fact that if the http headers are properly set and the message 
-	returned to the client is a well formed XML fragment, also the property 
-	&lt;a class="ulink" href="http://www.w3schools.com/ajax/ajax_responsexml.asp" target="_top"&gt;
-	XMLResponse&lt;/a&gt; is set with a reference to an object 
-	that represent the
-	&lt;a class="ulink" href="http://www.w3schools.com/dom/default.asp" target="_top"&gt;
-	DOM&lt;/a&gt; of the XML response. 
-	By means of the XML W3C DOM tree methods and properties
-	you can write scripts that read and manipulate the data embedded in 
-	the XML message.
-      &lt;/p&gt;&lt;p style="width:90%"&gt;
-        In this example a Rivet script initializes an array with the
-	essential data regarding a few of the major composers of the 
-	european music. This array plays the role of a database
-	which, in a real case, has is a real DBM which stores large 
-	tables with thousands records and more complex and 
-	extended information. 
-	The script is designed to send back to the client two 
-	types of responses: a catalog of the composers or a single 
-	record of a composer.
-      &lt;/p&gt;&lt;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"&gt;# The database array contains xml fragments representing the
+	    Ajax is a web programming technique that heavily relies on the abilty of a web browser to run in backround
+	    JavaScript functions. JavaScript functions can be run as callbacks of events generated by a user interaction 
+	    but they can also react to other I/O events, for example network events. 
+	    Modern browsers endow JavaScript with the ability to build http GET/POST requests to be sent to a remote
+	    webserver. Generally these requests refer to scripts (e.g. Tcl scripts run by Rivet) which inherit as 
+	    variables the arguments encoded in the request. 
+	    The output produced by these scripts is sent back to the browser where callbacks functions extract 
+	    information and hand it down to functions that directly manipulate a page's DOM.
+	    Therefore through Ajax becomes possible to build web applications that are more responsive and flexible: 
+	    instead of going through the cycle of request-generation-transfer-display 
+	    of a whole page, Ajax scripts request from a webserver only the essential data to be displayed.
+	    Ajax emphasizes the requirement of separation between data and user interface, saves 
+	    the server from sending over the same html code and graphics if only a fraction of a page has to be 
+	    updated, allows the programmer to design flexible solutions for complex forms and makes possible
+	    to find new innovative approaches to simple problems (e.g. Google tips that show up as you type in
+	    a query). A downside of this approach is the large number of complexities, subtleties and incompatibilities 
+	    that still exist in the way different versions of popular browsers handle the DOM elements of a page.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    JavaScript can handle the communication between client and server through an instance of a 
+	    specialized object. For quite a long time 2 approaches existed, the non-IE world (Firefox,Safari,Opera...) 
+	    used the XMLHttpRequest class to create this object, whereas IE (before IE7) used the ActiveXObject class.
+	    With the release of IE7 Microsoft introduced native support for XMLHttpRequest class objects thus enabling
+	    programmers with a unique method for the development of dynamic pages. 
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    By creating an instance of this class a POST or GET request can be sent to the server and the response is 
+	    stored in a property ('returnedText') of the communication object. It's become widely customary to encode 
+	    these responses in XML messages. You can invent your own message structure (either based on XML or anything 
+	    else), but one has to be aware that if the http headers are properly set and the message returned to the 
+	    client is a well formed XML fragment, also the property XMLResponse is assigned with a reference to an object 
+	    that represents the DOM of the XML response. By means of the XML W3C DOM interface the programmer can easily
+	    manipulate the data embedded in the XML message.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    In this example a Rivet script initializes an array with the essential data regarding a few of the major 
+	    composers of the european music. This array plays the role of a database. The script sends back to the 
+	    client two types of responses: a catalog of the composers or a single record of a composer.
+	&lt;/p&gt;&lt;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"&gt;# The database array contains xml fragments representing the
 # results of queries to a database. Many databases are now able
 # to produce the results of a query in XML. 
 #
@@ -454,14 +434,10 @@
 }
 
 &lt;/pre&gt;&lt;p style="width:90%"&gt;
-	For sake of brevity the JavaScript and HTML will not listed here. 
-	They can be downloaded (along with the Tcl script) stored in the 
-	&lt;a class="ulink" href="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz" target="_top"&gt;
-	rivet-ajax.tar.gz&lt;/a&gt; archive. By simply 
-	opening this tar archive in a directory accessible by your
-	apache server and pointing your browser to the rivetService.html
-	page you should see a page with a drop-down list. Every time
-	a different name is picked from the list a new query is sent and 
-	logged in the apache access.log file, even though the html 
-	is never reloaded.
-      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="unescape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="tcl_packages.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;unescape_stringÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â Rivet Tcl Packages&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+	    For sake of brevity the JavaScript and HTML will not listed here. They can be downloaded (along with the Tcl 
+	    script) stored in the &lt;a class="ulink" href="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz" target="_top"&gt;rivet-ajax.tar.gz&lt;/a&gt; archive. 
+	    By simply opening this tar archive in a directory accessible 
+	    by your apache server and pointing your browser to the rivetService.html page you should see a page with a 
+	    drop-down list. Every time a different name is picked from the list a new query is sent and logged in the 
+	    apache access.log file, even though the html is never reloaded.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="unescape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="tcl_packages.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;unescape_stringÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â Rivet Tcl Packages&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/headers.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/headers.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/headers.html (original)
+++ tcl/rivet/trunk/doc/html/headers.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;headers&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="parse.html" title="parse"&gt;&lt;link rel="next" href="makeurl.html" title="makeurl"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;headers&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="parse.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="makeurl.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;
 /div&gt;&lt;div class="refentry" title="headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;headers &amp;#8212; set and parse HTTP headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497511"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;headers&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="parse.html" title="parse"&gt;&lt;link rel="next" href="makeurl.html" title="makeurl"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;headers&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="parse.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="makeurl.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 &lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;headers &amp;#8212; set and parse HTTP headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727837"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;headers&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command is for setting and
 	  parsing HTTP headers.
 	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;headername&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;

Modified: tcl/rivet/trunk/doc/html/help.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/help.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/help.html (original)
+++ tcl/rivet/trunk/doc/html/help.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Resources - How to Get Help&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="session_package.html" title="Session Package"&gt;&lt;link rel="next" href="internals.html" title="Rivet Internals"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Resources - How to Get Help&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="session_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="internals.html"&gt;&lt;img src="images/next.png" alt="
 Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Resources - How to Get Help"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="help"&gt;&lt;/a&gt;Resources - How to Get Help&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Mailing Lists"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514657"&gt;&lt;/a&gt;Mailing Lists&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Resources - How to Get Help&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="session_package.html" title="Session Package"&gt;&lt;link rel="next" href="internals.html" title="Rivet Internals"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Resources - How to Get Help&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="session_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="internals.html"&gt;&lt;img src="images/next.png" alt=
 "Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="help"&gt;&lt;/a&gt;Resources - How to Get Help&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746242"&gt;&lt;/a&gt;Mailing Lists&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	The Rivet mailing list is the first place you should turn for
 	help. If you haven't found the solution to your problem in the documentation  
 	or you have a question, idea, or comment about the Rivet code itself send email to
@@ -6,36 +6,36 @@
 	&lt;code class="email"&gt;&amp;lt;&lt;a class="email" href="mailto:rivet-dev-subscribe@tcl.apache.org"&gt;rivet-dev-subscribe@tcl.apache.org&lt;/a&gt;&amp;gt;&lt;/code&gt;.
       &lt;/p&gt;&lt;p style="width:90%"&gt;
 	The mailing list archives are available at &lt;a class="ulink" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/" target="_top"&gt;http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/&lt;/a&gt;
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Newsgroup"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514998"&gt;&lt;/a&gt;Newsgroup&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2745635"&gt;&lt;/a&gt;Newsgroup&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	The &lt;a class="ulink" href="news:comp.lang.tcl" target="_top"&gt;news:comp.lang.tcl&lt;/a&gt; newsgroup is a good
 	place to ask about Tcl questions in general.  Rivet developers
 	also follow the newsgroup, but it's best to ask Rivet-specific
 	questions on the Rivet list.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Web Sites"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="websites"&gt;&lt;/a&gt;Web Sites&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="websites"&gt;&lt;/a&gt;Web Sites&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	There are several web sites that cover Apache and Tcl
 	extensively.
-      &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+      &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    &lt;a class="ulink" href="http://tcl.apache.org" target="_top"&gt;http://tcl.apache.org&lt;/a&gt; is the home for the
 	    Apache Tcl project.  Go there for the latest versions of
 	    our software (if you aren't reading these pages off of the
 	    site!).
-	  &lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	  &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    &lt;a class="ulink" href="http://httpd.apache.org/docs/" target="_top"&gt;http://httpd.apache.org/docs/&lt;/a&gt; is the first
 	    place to go for questions about the Apache web server.
-	  &lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	  &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    &lt;a class="ulink" href="http://www.tcl.tk" target="_top"&gt;http://www.tcl.tk&lt;/a&gt; is the canonical site
 	    for Tcl information.
-	  &lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	  &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    &lt;a class="ulink" href="http://wiki.tcl.tk" target="_top"&gt;http://wiki.tcl.tk&lt;/a&gt; is the Tcl'ers Wiki, a
 	    free-form place to search for answers and ask for help.
-	  &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Bug Tracking System"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515077"&gt;&lt;/a&gt;Bug Tracking System&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746328"&gt;&lt;/a&gt;Bug Tracking System&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Apache Rivet uses the Apache Bug Tracking system at &lt;a class="ulink" href="http://issues.apache.org/bugzilla/" target="_top"&gt;http://issues.apache.org/bugzilla/&lt;/a&gt;.  Here,
 	you can report problems, or check and see if existing issues
 	are already known and being dealt with.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="IRC"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515093"&gt;&lt;/a&gt;IRC&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746346"&gt;&lt;/a&gt;IRC&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
         Occasionally, someone from the Rivet team is on IRC at
         irc.freenode.net, channel #tcl.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Editing Rivet Template Files"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515104"&gt;&lt;/a&gt;Editing Rivet Template Files&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746358"&gt;&lt;/a&gt;Editing Rivet Template Files&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Rivet makes available code for two popular editors,
 	&lt;span class="application"&gt;emacs&lt;/span&gt; and
 	&lt;span class="application"&gt;vim&lt;/span&gt; to facilitate the editing of

Modified: tcl/rivet/trunk/doc/html/html.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/html.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/html.html (original)
+++ tcl/rivet/trunk/doc/html/html.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;html&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="clock_to_rfc.html" title="clock_to_rfc850_gmt"&gt;&lt;link rel="next" href="incr0.html" title="incr0"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;html&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="clock_to_rfc.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="incr0.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/t
 d&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="html"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="html"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;html &amp;#8212; construct html tagged text.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;html&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;string&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;...?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498050"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;html&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="clock_to_rfc.html" title="clock_to_rfc850_gmt"&gt;&lt;link rel="next" href="incr0.html" title="incr0"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;html&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="clock_to_rfc.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="incr0.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/
 td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="html"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;html &amp;#8212; construct html tagged text.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;html&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;string&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;...?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728388"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Print text with the added ability to pass HTML tags
 	  following the string.  Example:
 	  &lt;/p&gt;&lt;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"&gt;html "Test" b i&lt;/pre&gt;&lt;p style="width:90%"&gt;

Modified: tcl/rivet/trunk/doc/html/include.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/include.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/include.html (original)
+++ tcl/rivet/trunk/doc/html/include.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;include&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="env.html" title="env"&gt;&lt;link rel="next" href="parse.html" title="parse"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;include&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="env.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="parse.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div cl
 ass="refentry" title="include"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="include"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;include &amp;#8212; includes a file into the output stream without modification.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;include&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497372"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;include&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="env.html" title="env"&gt;&lt;link rel="next" href="parse.html" title="parse"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;include&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="env.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="parse.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div c
 lass="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="include"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;include &amp;#8212; includes a file into the output stream without modification.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;include&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727691"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Include a file without parsing it for processing tags &amp;lt;?
 	  and ?&amp;gt;.  This is the best way to include an HTML file or
 	  any other static content.

Modified: tcl/rivet/trunk/doc/html/incr0.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/incr0.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/incr0.html (original)
+++ tcl/rivet/trunk/doc/html/incr0.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;incr0&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="html.html" title="html"&gt;&lt;link rel="next" href="parray.html" title="parray"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;incr0&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="html.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="parray.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div 
 class="refentry" title="incr0"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="incr0"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;incr0 &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;incr0&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498116"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;incr0&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="html.html" title="html"&gt;&lt;link rel="next" href="parray.html" title="parray"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;incr0&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="html.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="parray.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div
  class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="incr0"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;incr0 &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;incr0&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728457"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Increment a variable
 	  &lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt; by
 	  &lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;.  If the

Modified: tcl/rivet/trunk/doc/html/index.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/index.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/index.html (original)
+++ tcl/rivet/trunk/doc/html/index.html Thu Jul  2 16:55:02 2009
@@ -1,10 +1,8 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="next" href="installation.html" title="Apache Rivet Installation"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Apache Rivet&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="installation.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="article" title="Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class="title"&gt;&lt;a name="id467156"&gt;&lt;/a&gt;Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="author"&gt;&lt;h3 class="author"&gt;&lt;span c
 lass="firstname"&gt;The Rivet Team&lt;/span&gt;&lt;/h3&gt;&lt;div class="affiliation"&gt;&lt;span class="orgname"&gt;The Apache Software Foundation&lt;br&gt;&lt;/span&gt;&lt;div class="address"&gt;&lt;p&gt;&lt;br&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="next" href="installation.html" title="Apache Rivet Installation"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Apache Rivet&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="installation.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="article" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class="title"&gt;&lt;a name="id2705794"&gt;&lt;/a&gt;Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="author"&gt;&lt;h3 class="author"&gt;&lt;span class="fir
 stname"&gt;The Rivet Team&lt;/span&gt;&lt;/h3&gt;&lt;div class="affiliation"&gt;&lt;span class="orgname"&gt;The Apache Software Foundation&lt;br&gt;&lt;/span&gt;&lt;div class="address"&gt;&lt;p&gt;&lt;br&gt;
 	Â Â &lt;code class="email"&gt;&amp;lt;&lt;a class="email" href="mailto:rivet-dev@tcl.apache.org"&gt;rivet-dev@tcl.apache.org&lt;/a&gt;&amp;gt;&lt;/code&gt;&lt;br&gt;
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="copyright"&gt;Copyright Â© 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class="toc"&gt;&lt;p&gt;&lt;b&gt;Table of Contents&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="index.html#introduction"&gt;Introduction to Apache Rivet&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="installation.html"&gt;Apache Rivet Installation&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="directives.html"&gt;Rivet Apache Directives&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="commands.html"&gt;Rivet Tcl Commands and Variables&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="var.html"&gt;var&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the value of a form variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="upload.html"&gt;upload&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; handle a file uploaded by a client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="load_response.html"&gt;load_response&lt;/a&gt;
 &lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; load form variables into an array.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="load_headers.html"&gt;load_headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get client request's headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="load_cookies.html"&gt;load_cookies&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get any cookie variables sent by the client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="load_env.html"&gt;load_env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the request's environment variables.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="env.html"&gt;env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Loads a single
-	"environmental variable" into a Tcl variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="include.html"&gt;include&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; includes a file into the output stream without modification.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="parse.html"&gt;parse&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; parses a Rivet template file.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="headers.html"&gt;headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; set and parse HTTP headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="makeurl.html"&gt;makeurl&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct url's based on hostname, port.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="cookie.html"&gt;cookie&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get and set cookies.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="clock_to_rfc.html"&gt;clock_to_rfc850_gmt&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; create a rfc850 time from [clock seconds].
 &lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="html.html"&gt;html&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct html tagged text.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="incr0.html"&gt;incr0&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="parray.html"&gt;parray&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="abort_page.html"&gt;abort_page&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="no_body.html"&gt;no_body&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Prevents Rivet from sending any content.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="escape_string.html"&gt;escape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; convert a string into escaped characters.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="escape_sgml_chars.html"&gt;escape_sgml_chars&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape special SGML characters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="escape_shell_command.html"&gt;escape_shell_command&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape shell metacharacters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="unescape_string.html"&gt;unescape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; unescape escaped characters in a st
 ring.&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="examples.html"&gt;Examples and Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="tcl_packages.html"&gt;Rivet Tcl Packages&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="dio.html"&gt;DIO - Database Interface Objects&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="dio_package.html"&gt;DIO&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="diodisplay.html"&gt;DIODisplay - Database Interface Objects Display Class&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="diodisplay_package.html"&gt;DIODisplay&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects Display Class&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html"&gt;Session Package&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id512930"&gt;Introduction&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a hre
 f="session_package.html#requirements"&gt;Requirements&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id513285"&gt;Preparing To Use It&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id513331"&gt;Example Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id513387"&gt;Using Sessions From Your Code&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id513584"&gt;Session Configuration Options&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id513818"&gt;Session Methods&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id514044"&gt;Getting Additional Randomness From The Entropy File&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html"&gt;Resources - How to Get Help&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id514657"&gt;Mailing Lists&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id514998"&gt;Newsgroup&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;
 &lt;span class="section"&gt;&lt;a href="help.html#websites"&gt;Web Sites&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id515077"&gt;Bug Tracking System&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id515093"&gt;IRC&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id515104"&gt;Editing Rivet Template Files&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html"&gt;Rivet Internals&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id514828"&gt;Initialization&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id514892"&gt;RivetChan&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id515432"&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id515477"&gt;Page Parsing, Execution and Caching&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id515518"&gt;Debugging Rivet and A
 pache&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html#id515646"&gt;mod_dtcl&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html#id515657"&gt;NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="list-of-examples"&gt;&lt;p&gt;&lt;b&gt;List of Examples&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;1. &lt;a href="examples.html#hello%20world"&gt;Hello World&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;2. &lt;a href="examples.html#id500984"&gt;Generate a Table&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;3. &lt;a href="examples.html#variable_access"&gt;Variable Access&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;4. &lt;a href="examples.html#file_upload"&gt;File Upload&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;5. &lt;a href="examples.html#file_download"&gt;File Download&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;6. &lt;a href="examples.html#ajax_xml_messaging"&gt;XML Messages and Ajax&lt;/a&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
-    Document revision: $Revision: 787687 $, last modified 2009-06-23Â 17:34:58+02:00$ by $Author: mxmanghi $.
-  &lt;/p&gt;&lt;div class="section" title="Introduction to Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="introduction"&gt;&lt;/a&gt;Introduction to Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="copyright"&gt;Copyright Â© 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class="toc"&gt;&lt;p&gt;&lt;b&gt;Table of Contents&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="index.html#introduction"&gt;Introduction to Apache Rivet&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="installation.html"&gt;Apache Rivet Installation&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="directives.html"&gt;Rivet Apache Directives&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="commands.html"&gt;Rivet Tcl Commands and Variables&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="examples.html"&gt;Examples and Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="tcl_packages.html"&gt;Rivet Tcl Packages&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="dio.html"&gt;DIO - Database Interface Objects&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="diodisplay.html"&gt;DIODisplay - Database Interface Objects Display Class&lt;/a&gt;&lt;/span&gt;&lt;
 /dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html"&gt;Session Package&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744365"&gt;Introduction&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#requirements"&gt;Requirements&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744389"&gt;Preparing To Use It&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744438"&gt;Example Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744505"&gt;Using Sessions From Your Code&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744712"&gt;Session Configuration Options&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2744967"&gt;Session Methods&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="session_package.html#id2745205"&gt;Getting Additional Randomness From The Entropy File&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a hre
 f="help.html"&gt;Resources - How to Get Help&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id2746242"&gt;Mailing Lists&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id2745635"&gt;Newsgroup&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#websites"&gt;Web Sites&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id2746328"&gt;Bug Tracking System&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id2746346"&gt;IRC&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="help.html#id2746358"&gt;Editing Rivet Template Files&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html"&gt;Rivet Internals&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id2746071"&gt;Initialization&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id2745737"&gt;RivetChan&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id2746715"&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;glob
 al&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id2746767"&gt;Page Parsing, Execution and Caching&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="internals.html#id2746822"&gt;Debugging Rivet and Apache&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html#id2746687"&gt;mod_dtcl&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="upgrading.html#id2746674"&gt;NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="list-of-examples"&gt;&lt;p&gt;&lt;b&gt;List of Examples&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;1. &lt;a href="examples.html#hello%20world"&gt;Hello World&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;2. &lt;a href="examples.html#id2732097"&gt;Generate a Table&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;3. &lt;a href="examples.html#variable_access"&gt;Variable Access&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;4. &lt;a href="examples.html#file_upload"&gt;File Upload&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;5. &lt;a href="examples.html#file_download"&gt;File Download&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;6. &lt;a 
 href="examples.html#ajax_xml_messaging"&gt;XML Messages and Ajax&lt;/a&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+    Document revision: $Revision: 787687 $, last modified 2009-07-02Â 18:51:18+02:00$ by $Author: mxmanghi $.
+  &lt;/p&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="introduction"&gt;&lt;/a&gt;Introduction to Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       Apache Rivet is a system for creating dynamic web content via a
       programming language integrated with Apache Web Server.  It is
       designed to be fast, powerful and extensible, consume few system

Modified: tcl/rivet/trunk/doc/html/installation.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/installation.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/installation.html (original)
+++ tcl/rivet/trunk/doc/html/installation.html Thu Jul  2 16:55:02 2009
@@ -1,20 +1,20 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet Installation&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="index.html" title="Apache Rivet"&gt;&lt;link rel="next" href="directives.html" title="Rivet Apache Directives"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Apache Rivet Installation&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="index.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="directives.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/
 tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Apache Rivet Installation"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="installation"&gt;&lt;/a&gt;Apache Rivet Installation&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="procedure"&gt;&lt;ol class="procedure" type="1"&gt;&lt;li class="step" title="Check Dependencies"&gt;&lt;p class="title"&gt;&lt;b&gt;Check Dependencies&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet Installation&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="index.html" title="Apache Rivet"&gt;&lt;link rel="next" href="directives.html" title="Rivet Apache Directives"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Apache Rivet Installation&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="index.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="directives.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;
 /tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="installation"&gt;&lt;/a&gt;Apache Rivet Installation&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="procedure"&gt;&lt;ol type="1"&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Check Dependencies&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  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.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Get Rivet&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Get Rivet&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  Download the sources at &lt;a class="ulink" href="http://tcl.apache.org/rivet/download.html" target="_top"&gt;http://tcl.apache.org/rivet/download.html&lt;/a&gt;.  Currently
 	  the only way to obtain Rivet.  In the future, we hope to
 	  have a FreeBSD port, Debian package, RPM's, and windows
 	  binaries.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install Tcl"&gt;&lt;p class="title"&gt;&lt;b&gt;Install Tcl&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Install Tcl&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  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
-	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get and Install Apache Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Get and Install Apache Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Get and Install Apache Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
           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
@@ -32,7 +32,7 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
           The source code for the Apache web server may be found by
           following the links here: &lt;a class="ulink" href="http://httpd.apache.org/" target="_top"&gt;http://httpd.apache.org/&lt;/a&gt;.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Uncompress Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Uncompress Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Uncompress Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  We will assume that you have Apache installed at this point.
 	  You must uncompress the Rivet sources in the directory where you
 	  wish to compile them.
@@ -40,7 +40,7 @@
 	  &lt;/p&gt;&lt;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"&gt;gunzip tcl-rivet-X.X.X.tar.gz
 tar -xvf tcl-rivet-X.X.X.tar.gz&lt;/pre&gt;&lt;p style="width:90%"&gt;
 
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Building Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Building Rivet&lt;/b&gt;&lt;/p&gt;&lt;ol type="a" class="substeps"&gt;&lt;li class="step" title="Step 6.a"&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Building Rivet&lt;/b&gt;&lt;/p&gt;&lt;ol type="a"&gt;&lt;li&gt;&lt;p style="width:90%"&gt;
 	      On Linux or Unix systems, Rivet uses the standard
 	      ./configure ; make ; make install technique.
 	    &lt;/p&gt;&lt;p style="width:90%"&gt;
@@ -56,11 +56,11 @@
 	    &lt;/p&gt;&lt;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"&gt;cd src/
 ./configure --with-tcl=/usr/lib/tcl8.4/ --with-tclsh=/usr/bin/tclsh8.4 \
 	    --with-apxs=/usr/bin/apxs
-&lt;/pre&gt;&lt;/li&gt;&lt;li class="step" title="Run make"&gt;&lt;p class="title"&gt;&lt;b&gt;Run make&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Run make&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	      At this point, you are ready to run make, which should
 	      run to completion without any errors (a warning or two
 	      is ok, generally).
-	    &lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install"&gt;&lt;p class="title"&gt;&lt;b&gt;Install&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Install&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	      Now, you are ready to run the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;make
 		install&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; to install the resulting files.
 		This should copy the shared object (like
@@ -68,7 +68,7 @@
 		successfully created, into Apache's
 		&lt;code class="filename"&gt;libexec&lt;/code&gt; directory, as well as
 		install some support scripts and various code.
-	    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li class="step" title="Apache Configuration Files"&gt;&lt;p class="title"&gt;&lt;b&gt;Apache Configuration Files&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Apache Configuration Files&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  Rivet is relatively easy to configure - we start off by
 	  adding the module itself:
 	&lt;/p&gt;&lt;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"&gt;LoadModule rivet_module	

Modified: tcl/rivet/trunk/doc/html/internals.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/internals.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/internals.html (original)
+++ tcl/rivet/trunk/doc/html/internals.html Thu Jul  2 16:55:02 2009
@@ -1,11 +1,11 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Internals&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="help.html" title="Resources - How to Get Help"&gt;&lt;link rel="next" href="upgrading.html" title="Upgrading from mod_dtcl or NeoWebScript"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Internals&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="help.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="upgrading.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;
 &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Internals"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="internals"&gt;&lt;/a&gt;Rivet Internals&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Internals&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="help.html" title="Resources - How to Get Help"&gt;&lt;link rel="next" href="upgrading.html" title="Upgrading from mod_dtcl or NeoWebScript"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Internals&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="help.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="upgrading.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a
 &gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="internals"&gt;&lt;/a&gt;Rivet Internals&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       This section easily falls out of date, as new code is added, old
       code is removed, and changes are made.  The best place to look
       is the source code itself.  If you are interested in the changes
       themselves, the Subversion revision control system
       (&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;svn&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;) can provide you with information about
       what has been happening with the code.
-    &lt;/p&gt;&lt;div class="section" title="Initialization"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514828"&gt;&lt;/a&gt;Initialization&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+    &lt;/p&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746071"&gt;&lt;/a&gt;Initialization&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	When Apache is started, (or when child Apache processes are
 	started if a threaded Tcl is used),
 	&lt;code class="function"&gt;Rivet_InitTclStuff&lt;/code&gt; is called, which
@@ -16,7 +16,7 @@
 	executes Rivet's &lt;code class="filename"&gt;init.tcl&lt;/code&gt;.  The caching
 	system is also set up, and if there is a
 	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;GlobalInitScript&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, it is run.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="RivetChan"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514892"&gt;&lt;/a&gt;RivetChan&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2745737"&gt;&lt;/a&gt;RivetChan&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	The &lt;span class="structname"&gt;RivetChan&lt;/span&gt; system was created in
 	order to have an actual Tcl channel that we could redirect
 	standard output to.  This lets us use, for instance, the
@@ -26,7 +26,7 @@
 	Tcl's regular standard output is replaced with an instance of
 	this channel type, so that, by default, output will go to the
 	web page.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="The global Command"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515432"&gt;&lt;/a&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746715"&gt;&lt;/a&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Rivet aims to run standard Tcl code with as few surprises as
 	possible.  At times this involves some compromises - in this
 	case regarding the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.  The
@@ -41,7 +41,7 @@
 	you really need a true global variable, use either
 	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;::global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; or add the :: namespace qualifier
 	to variables you wish to make global.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Page Parsing, Execution and Caching"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515477"&gt;&lt;/a&gt;Page Parsing, Execution and Caching&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746767"&gt;&lt;/a&gt;Page Parsing, Execution and Caching&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	When a Rivet page is requested, it is transformed into an
 	ordinary Tcl script by parsing the file for the &amp;lt;? ?&amp;gt;
 	processing instruction tags.  Everything outside these tags
@@ -55,7 +55,7 @@
 	not run afoul of local variables created by other scripts,
 	because they will be deleted automatically when the namespace
 	goes away after Apache finishes handling the request.
-      &lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
+      &lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
 	    One current problem with this system is that while
 	    variables are garbage collected, file handles are not, so
 	    that it is very important that Rivet script authors make
@@ -67,7 +67,7 @@
 	without having to reload it (and re-parse it) from the disk.
 	The number of scripts stored in memory is configurable.  This
 	feature can significantly improve performance.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Debugging Rivet and Apache"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515518"&gt;&lt;/a&gt;Debugging Rivet and Apache&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id2746822"&gt;&lt;/a&gt;Debugging Rivet and Apache&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	If you are interested in hacking on Rivet, you're welcome to
 	contribute!  Invariably, when working with code, things go
 	wrong, and it's necessary to do some debugging.  In a server

Modified: tcl/rivet/trunk/doc/html/load_cookies.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_cookies.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/load_cookies.html (original)
+++ tcl/rivet/trunk/doc/html/load_cookies.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_cookies&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_headers.html" title="load_headers"&gt;&lt;link rel="next" href="load_env.html" title="load_env"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_cookies&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_headers.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_env.html"&gt;&lt;img src="images/next.png" 
 alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="load_cookies"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_cookies"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_cookies &amp;#8212; get any cookie variables sent by the client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_cookies&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497212"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_cookies&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_headers.html" title="load_headers"&gt;&lt;link rel="next" href="load_env.html" title="load_env"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_cookies&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_headers.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_env.html"&gt;&lt;img src="images/next.png"
  alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_cookies"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_cookies &amp;#8212; get any cookie variables sent by the client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_cookies&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727525"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Load the array of cookie variables into the specified
 	array name.  Uses array cookies by
 	default.

Modified: tcl/rivet/trunk/doc/html/load_env.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_env.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/load_env.html (original)
+++ tcl/rivet/trunk/doc/html/load_env.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_env&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_cookies.html" title="load_cookies"&gt;&lt;link rel="next" href="env.html" title="env"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_env&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_cookies.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="env.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/t
 r&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="load_env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env &amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497262"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_env&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_cookies.html" title="load_cookies"&gt;&lt;link rel="next" href="env.html" title="env"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_env&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_cookies.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="env.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/
 tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env &amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727576"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Load the array of environment variables into the specified
 	  array name.  Uses array ::request::env by
 	  default.

Modified: tcl/rivet/trunk/doc/html/load_headers.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_headers.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/load_headers.html (original)
+++ tcl/rivet/trunk/doc/html/load_headers.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_headers&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_response.html" title="load_response"&gt;&lt;link rel="next" href="load_cookies.html" title="load_cookies"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_headers&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_response.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_cookies.html"&gt;&lt;img src="im
 ages/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="load_headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers &amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497161"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_headers&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_response.html" title="load_response"&gt;&lt;link rel="next" href="load_cookies.html" title="load_cookies"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_headers&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_response.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_cookies.html"&gt;&lt;img src="i
 mages/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers &amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727472"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Load the headers that come from a client request into the
 	  provided array name, or use headers if no
 	  name is provided.

Modified: tcl/rivet/trunk/doc/html/load_response.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_response.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/load_response.html (original)
+++ tcl/rivet/trunk/doc/html/load_response.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_response&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="upload.html" title="upload"&gt;&lt;link rel="next" href="load_headers.html" title="load_headers"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_response&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="upload.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_headers.html"&gt;&lt;img src="images/next.png" alt=
 "Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="load_response"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response &amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497092"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_response&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="upload.html" title="upload"&gt;&lt;link rel="next" href="load_headers.html" title="load_headers"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_response&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="upload.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_headers.html"&gt;&lt;img src="images/next.png" alt
 ="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response &amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727394"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
 	Load any form variables passed to this page into an
 	array. If &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; is called without 
 	arguments the array response is created in 



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r790674 [4/5] - in /tcl/rivet/trunk/doc: ./ html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200907.mbox/%3c20090702165505.7AA3223888EA@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090702165505-7AA3223888EA@eris-apache-org%3e</id>
<updated>2009-07-02T16:55:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/doc/html/rivet.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/rivet.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/rivet.html (original)
+++ tcl/rivet/trunk/doc/html/rivet.html Thu Jul  2 16:55:02 2009
@@ -1,10 +1,8 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="article" title="Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class="title"&gt;&lt;a name="id450340"&gt;&lt;/a&gt;Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="author"&gt;&lt;h3 class="author"&gt;&lt;span class="firstname"&gt;The Rivet Team&lt;/span&gt;&lt;/h3&gt;&lt;div class="affiliation"&gt;&lt;span class="orgname"&gt;The Apache Software Foundation&lt;br&gt;&lt;/span&gt;&lt;div class="address"&gt;&lt;p&gt;&lt;br&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="article" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class="title"&gt;&lt;a name="id2940796"&gt;&lt;/a&gt;Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="author"&gt;&lt;h3 class="author"&gt;&lt;span class="firstname"&gt;The Rivet Team&lt;/span&gt;&lt;/h3&gt;&lt;div class="affiliation"&gt;&lt;span class="orgname"&gt;The Apache Software Foundation&lt;br&gt;&lt;/span&gt;&lt;div class="address"&gt;&lt;p&gt;&lt;br&gt;
 	Â Â &lt;code class="email"&gt;&amp;lt;&lt;a class="email" href="mailto:rivet-dev@tcl.apache.org"&gt;rivet-dev@tcl.apache.org&lt;/a&gt;&amp;gt;&lt;/code&gt;&lt;br&gt;
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="copyright"&gt;Copyright Â© 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class="toc"&gt;&lt;p&gt;&lt;b&gt;Table of Contents&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#introduction"&gt;Introduction to Apache Rivet&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#installation"&gt;Apache Rivet Installation&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#directives"&gt;Rivet Apache Directives&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#commands"&gt;Rivet Tcl Commands and Variables&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#var"&gt;var&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the value of a form variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#upload"&gt;upload&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; handle a file uploaded by a client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_response"&gt;load_response&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;
 #8212; load form variables into an array.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_headers"&gt;load_headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get client request's headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_cookies"&gt;load_cookies&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get any cookie variables sent by the client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_env"&gt;load_env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the request's environment variables.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#env"&gt;env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Loads a single
-	"environmental variable" into a Tcl variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#include"&gt;include&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; includes a file into the output stream without modification.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#parse"&gt;parse&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; parses a Rivet template file.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#headers"&gt;headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; set and parse HTTP headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#makeurl"&gt;makeurl&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct url's based on hostname, port.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#cookie"&gt;cookie&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get and set cookies.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#clock_to_rfc"&gt;clock_to_rfc850_gmt&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; create a rfc850 time from [clock seconds].&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span cl
 ass="refentrytitle"&gt;&lt;a href="#html"&gt;html&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct html tagged text.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#incr0"&gt;incr0&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#parray"&gt;parray&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#abort_page"&gt;abort_page&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#no_body"&gt;no_body&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Prevents Rivet from sending any content.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_string"&gt;escape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; convert a string into escaped characters.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_sgml_chars"&gt;escape_sgml_chars&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape special SGML characters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_shell_command"&gt;escape_shell_command&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape shell metacharacters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#unescape_string"&gt;unescape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; unescape escaped characters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;/d
 l&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#examples"&gt;Examples and Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#tcl_packages"&gt;Rivet Tcl Packages&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#dio"&gt;DIO - Database Interface Objects&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#dio_package"&gt;DIO&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#diodisplay"&gt;DIODisplay - Database Interface Objects Display Class&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#diodisplay_package"&gt;DIODisplay&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects Display Class&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#session_package"&gt;Session Package&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id490862"&gt;Introduction&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#requirements"&gt;Requirements&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="secti
 on"&gt;&lt;a href="#id491217"&gt;Preparing To Use It&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491262"&gt;Example Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491318"&gt;Using Sessions From Your Code&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491516"&gt;Session Configuration Options&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491749"&gt;Session Methods&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491975"&gt;Getting Additional Randomness From The Entropy File&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#help"&gt;Resources - How to Get Help&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492588"&gt;Mailing Lists&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492929"&gt;Newsgroup&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#websites"&gt;Web Sites&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493008"&gt;Bug Tracking System&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493024"&gt;IRC&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="
 section"&gt;&lt;a href="#id493035"&gt;Editing Rivet Template Files&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#internals"&gt;Rivet Internals&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492760"&gt;Initialization&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492823"&gt;RivetChan&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493364"&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493408"&gt;Page Parsing, Execution and Caching&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493450"&gt;Debugging Rivet and Apache&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#upgrading"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493578"&gt;mod_dtcl&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493589"&gt;NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="list-of-examples"&gt;&lt;p&gt;&lt;
 b&gt;List of Examples&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;1. &lt;a href="#hello%20world"&gt;Hello World&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;2. &lt;a href="#id478912"&gt;Generate a Table&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;3. &lt;a href="#variable_access"&gt;Variable Access&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;4. &lt;a href="#file_upload"&gt;File Upload&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;5. &lt;a href="#file_download"&gt;File Download&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;6. &lt;a href="#ajax_xml_messaging"&gt;XML Messages and Ajax&lt;/a&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
-    Document revision: $Revision: 787687 $, last modified 2009-06-23Â 17:35:01+02:00$ by $Author: mxmanghi $.
-  &lt;/p&gt;&lt;div class="section" title="Introduction to Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="introduction"&gt;&lt;/a&gt;Introduction to Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="copyright"&gt;Copyright Â© 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class="toc"&gt;&lt;p&gt;&lt;b&gt;Table of Contents&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#introduction"&gt;Introduction to Apache Rivet&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#installation"&gt;Apache Rivet Installation&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#directives"&gt;Rivet Apache Directives&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#commands"&gt;Rivet Tcl Commands and Variables&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#examples"&gt;Examples and Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#tcl_packages"&gt;Rivet Tcl Packages&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#dio"&gt;DIO - Database Interface Objects&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#diodisplay"&gt;DIODisplay - Database Interface Objects Display Class&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href=
 "#session_package"&gt;Session Package&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979367"&gt;Introduction&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#requirements"&gt;Requirements&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979391"&gt;Preparing To Use It&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979440"&gt;Example Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979506"&gt;Using Sessions From Your Code&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979714"&gt;Session Configuration Options&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2979968"&gt;Session Methods&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2980207"&gt;Getting Additional Randomness From The Entropy File&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#help"&gt;Resources - How to Get Help&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981244"&gt;Mailing Lists&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2980637"&gt;Newsgroup&lt;/a&gt;&lt;/spa
 n&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#websites"&gt;Web Sites&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981330"&gt;Bug Tracking System&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981348"&gt;IRC&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981360"&gt;Editing Rivet Template Files&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#internals"&gt;Rivet Internals&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981073"&gt;Initialization&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2980739"&gt;RivetChan&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981717"&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981769"&gt;Page Parsing, Execution and Caching&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981824"&gt;Debugging Rivet and Apache&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#upgrading"&gt;Upgrading fro
 m mod_dtcl or NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981689"&gt;mod_dtcl&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id2981676"&gt;NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="list-of-examples"&gt;&lt;p&gt;&lt;b&gt;List of Examples&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;1. &lt;a href="#hello%20world"&gt;Hello World&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;2. &lt;a href="#id2967095"&gt;Generate a Table&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;3. &lt;a href="#variable_access"&gt;Variable Access&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;4. &lt;a href="#file_upload"&gt;File Upload&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;5. &lt;a href="#file_download"&gt;File Download&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;6. &lt;a href="#ajax_xml_messaging"&gt;XML Messages and Ajax&lt;/a&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+    Document revision: $Revision: 787687 $, last modified 2009-07-02Â 18:51:22+02:00$ by $Author: mxmanghi $.
+  &lt;/p&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="introduction"&gt;&lt;/a&gt;Introduction to Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       Apache Rivet is a system for creating dynamic web content via a
       programming language integrated with Apache Web Server.  It is
       designed to be fast, powerful and extensible, consume few system
@@ -25,23 +23,23 @@
       something that needs improving, and have ideas or suggestions,
       don't hesitate to let us know.  If you want to contribute
       directly, better yet!
-    &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Apache Rivet Installation"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="installation"&gt;&lt;/a&gt;Apache Rivet Installation&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="procedure"&gt;&lt;ol class="procedure" type="1"&gt;&lt;li class="step" title="Check Dependencies"&gt;&lt;p class="title"&gt;&lt;b&gt;Check Dependencies&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+    &lt;/p&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="installation"&gt;&lt;/a&gt;Apache Rivet Installation&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="procedure"&gt;&lt;ol type="1"&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Check Dependencies&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  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.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Get Rivet&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Get Rivet&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  Download the sources at &lt;a class="ulink" href="http://tcl.apache.org/rivet/download.html" target="_top"&gt;http://tcl.apache.org/rivet/download.html&lt;/a&gt;.  Currently
 	  the only way to obtain Rivet.  In the future, we hope to
 	  have a FreeBSD port, Debian package, RPM's, and windows
 	  binaries.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install Tcl"&gt;&lt;p class="title"&gt;&lt;b&gt;Install Tcl&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Install Tcl&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  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
-	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get and Install Apache Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Get and Install Apache Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Get and Install Apache Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
           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
@@ -59,7 +57,7 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
           The source code for the Apache web server may be found by
           following the links here: &lt;a class="ulink" href="http://httpd.apache.org/" target="_top"&gt;http://httpd.apache.org/&lt;/a&gt;.
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Uncompress Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Uncompress Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Uncompress Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  We will assume that you have Apache installed at this point.
 	  You must uncompress the Rivet sources in the directory where you
 	  wish to compile them.
@@ -67,7 +65,7 @@
 	  &lt;/p&gt;&lt;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"&gt;gunzip tcl-rivet-X.X.X.tar.gz
 tar -xvf tcl-rivet-X.X.X.tar.gz&lt;/pre&gt;&lt;p style="width:90%"&gt;
 
-	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Building Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Building Rivet&lt;/b&gt;&lt;/p&gt;&lt;ol type="a" class="substeps"&gt;&lt;li class="step" title="Step 6.a"&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Building Rivet&lt;/b&gt;&lt;/p&gt;&lt;ol type="a"&gt;&lt;li&gt;&lt;p style="width:90%"&gt;
 	      On Linux or Unix systems, Rivet uses the standard
 	      ./configure ; make ; make install technique.
 	    &lt;/p&gt;&lt;p style="width:90%"&gt;
@@ -83,11 +81,11 @@
 	    &lt;/p&gt;&lt;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"&gt;cd src/
 ./configure --with-tcl=/usr/lib/tcl8.4/ --with-tclsh=/usr/bin/tclsh8.4 \
 	    --with-apxs=/usr/bin/apxs
-&lt;/pre&gt;&lt;/li&gt;&lt;li class="step" title="Run make"&gt;&lt;p class="title"&gt;&lt;b&gt;Run make&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Run make&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	      At this point, you are ready to run make, which should
 	      run to completion without any errors (a warning or two
 	      is ok, generally).
-	    &lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install"&gt;&lt;p class="title"&gt;&lt;b&gt;Install&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Install&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	      Now, you are ready to run the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;make
 		install&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; to install the resulting files.
 		This should copy the shared object (like
@@ -95,7 +93,7 @@
 		successfully created, into Apache's
 		&lt;code class="filename"&gt;libexec&lt;/code&gt; directory, as well as
 		install some support scripts and various code.
-	    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li class="step" title="Apache Configuration Files"&gt;&lt;p class="title"&gt;&lt;b&gt;Apache Configuration Files&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="title"&gt;&lt;b&gt;Apache Configuration Files&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  Rivet is relatively easy to configure - we start off by
 	  adding the module itself:
 	&lt;/p&gt;&lt;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"&gt;LoadModule rivet_module	
@@ -121,7 +119,7 @@
 	directories.  In that case, you would do the following:&lt;/p&gt;&lt;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"&gt;DirectoryIndex index.html index.htm index.shtml index.cgi index.tcl index.rvt&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  For other directives that Rivet provides for Apache
 	  configuration, please see &lt;a class="xref" href="#directives" title="Rivet Apache Directives"&gt;the section called &amp;#8220;Rivet Apache Directives&amp;#8221;&lt;/a&gt;.
-	&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Apache Directives"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="directives"&gt;&lt;/a&gt;Rivet Apache Directives&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="directives"&gt;&lt;/a&gt;Rivet Apache Directives&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       These directives are used within the Apache httpd server
       configuration files to modify Apache Rivet's behavior.  Their
       precedence is as follows: &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetDirConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
@@ -188,7 +186,7 @@
 		  to put it in a GlobalInitScript
 		  ChildInitScript when you are first
 		  developing a web site.
-		  &lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
+		  &lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
 		    This code is evaluated at the global level, not
 		    inside the request namespace where pages are
 		    evaluated.
@@ -249,17 +247,15 @@
 		  If a HEAD requests is issued by the client Rivet detects
 		  this case and sends back to the client a standard header 
 		  response. If the real header has to be examined (e.g. 
-		  for debugging) you can turn on this options which 
-		  causes Rivet to parse and run the script the requests refers 
-		  to. In this case the real header is returned to the client.
+		  for debugging) you can turn this options on. 
 		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;This option is, by nature, only available at the global level&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetDirConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
 	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    These options are the same as for
 	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, except that they are
 	    only valid for the directory where they are specified, and
-	    its subdirectories.  It may be specified in
-	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; sections.
+	    its subdirectories.  It may be specified in &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 
+	    sections.
 	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetUserConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
 	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
@@ -267,7 +263,7 @@
 	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, except that they are
 	    only valid for the directory where they are specified, and
 	    its subdirectories.
-	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Commands and Variables"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="commands"&gt;&lt;/a&gt;Rivet Tcl Commands and Variables&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="var"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;n
 umber&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monos
 pace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id474254"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="commands"&gt;&lt;/a&gt;Rivet Tcl Commands and Variables&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace;
  font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span styl
 e="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2961604"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command retrieves information
 	  about GET or POST variables sent to the script via client
 	  request.  It treats both GET and POST variables the same,
@@ -310,7 +306,7 @@
 		Return a list of variable names and values.
 	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	  See &lt;a class="xref" href="#variable_access" title="ExampleÂ 3.Â Variable Access"&gt;ExampleÂ 3, &amp;#8220;Variable Access&amp;#8221;&lt;/a&gt;.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="upload"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font
 -weight: bold;"&gt;filename&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id474593"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;filena
 me&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2961955"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
 	  See the relevant Apache Directives to further configure the
 	  behavior of this Rivet feature.
 	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
@@ -364,7 +360,7 @@
 		uploaded.
 	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	  See &lt;a class="xref" href="#upload" title="upload"&gt;upload&lt;/a&gt;.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_response"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response &amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475020"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response &amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962392"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
 	Load any form variables passed to this page into an
 	array. If &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; is called without 
 	arguments the array response is created in 
@@ -381,15 +377,15 @@
 	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.  
-      &lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers &amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475090"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+      &lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers &amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962470"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Load the headers that come from a client request into the
 	  provided array name, or use headers if no
 	  name is provided.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_cookies"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_cookies"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_cookies &amp;#8212; get any cookie variables sent by the client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_cookies&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475140"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_cookies"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_cookies &amp;#8212; get any cookie variables sent by the client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_cookies&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962523"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
 	Load the array of cookie variables into the specified
 	array name.  Uses array cookies by
 	default.
-      &lt;/p&gt;&lt;/div&gt;&lt;div class="refentry" title="load_env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env &amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475190"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env &amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962574"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Load the array of environment variables into the specified
 	  array name.  Uses array ::request::env by
 	  default.
@@ -398,20 +394,20 @@
 	  namespace, it isn't necessary to qualify the array name
 	  for most uses - it's ok to access it as
 	  env.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;env &amp;#8212; Loads a single
-	"environmental variable" into a Tcl variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475252"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;env &amp;#8212; Loads a single
+	"environmental variable" into a Tcl variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962639"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="include"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="include"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;include &amp;#8212; includes a file into the output stream without modification.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;include&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475300"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="include"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;include &amp;#8212; includes a file into the output stream without modification.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;include&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962689"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Include a file without parsing it for processing tags &amp;lt;?
 	  and ?&amp;gt;.  This is the best way to include an HTML file or
 	  any other static content.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="parse"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse &amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475350"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse &amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962743"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Like the Tcl &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command, but also
 	  parses for Rivet &amp;lt;?  and ?&amp;gt; processing tags.  Using
 	  this command, you can use one .rvt file from another.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;headers &amp;#8212; set and parse HTTP headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475439"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="wid
 th:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;headers &amp;#8212; set and parse HTTP headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2962835"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;headers&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command is for setting and
 	  parsing HTTP headers.
 	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;headername&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
@@ -435,48 +431,48 @@
 	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;response code&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
 	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Set a numeric response code, such as 200, 404 or 500.
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="makeurl"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl &amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475713"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl &amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963115"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Create a self referencing URL from a filename.  For example:
 	  &lt;/p&gt;&lt;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"&gt;makeurl /tclp.gif&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  returns
 	  &lt;code class="computeroutput"&gt;http://[hostname]:[port]/tclp.gif&lt;/code&gt;.
 	  where hostname and port are the hostname and port of the
 	  server in question.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="cookie"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="cookie"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;cookie &amp;#8212; get and set cookies.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;cookiValue&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-days &lt;em class="replaceable"&gt;&lt;code&gt;expireInDays&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font
 -family:monospace; font-weight: bold;"&gt;-hours &lt;em class="replaceable"&gt;&lt;code&gt;expireInHours&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-minutes &lt;em class="replaceable"&gt;&lt;code&gt;expireInMinutes&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-expires &lt;em class="replaceable"&gt;&lt;code&gt;Wdy, DD-Mon-YYYY HH:MM:SS GMT&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-path &lt;em class="replaceable"&gt;&lt;code&gt;uriPathCookieAppliesTo&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-secure &lt;em class="replaceable"&gt;&lt;code&gt;1/0&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: b
 old;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475870"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="cookie"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;cookie &amp;#8212; get and set cookies.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;cookiValue&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-days &lt;em class="replaceable"&gt;&lt;code&gt;expireInDays&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; fon
 t-weight: bold;"&gt;-hours &lt;em class="replaceable"&gt;&lt;code&gt;expireInHours&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-minutes &lt;em class="replaceable"&gt;&lt;code&gt;expireInMinutes&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-expires &lt;em class="replaceable"&gt;&lt;code&gt;Wdy, DD-Mon-YYYY HH:MM:SS GMT&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-path &lt;em class="replaceable"&gt;&lt;code&gt;uriPathCookieAppliesTo&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-secure &lt;em class="replaceable"&gt;&lt;code&gt;1/0&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="repla
 ceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963275"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;cookie&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 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.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="clock_to_rfc850_gmt"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="clock_to_rfc"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;clock_to_rfc850_gmt &amp;#8212; create a rfc850 time from [clock seconds].&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;clock_to_rfc850_gmt&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;seconds&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475923"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="clock_to_rfc"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;clock_to_rfc850_gmt &amp;#8212; create a rfc850 time from [clock seconds].&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;clock_to_rfc850_gmt&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;seconds&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963329"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Convert an integer-seconds-since-1970 click value to
 	  RFC850 format, with the additional requirement that it be
 	  GMT only.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="html"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="html"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;html &amp;#8212; construct html tagged text.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;html&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;string&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;...?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475978"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="html"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;html &amp;#8212; construct html tagged text.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;html&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;string&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;...?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963386"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Print text with the added ability to pass HTML tags
 	  following the string.  Example:
 	  &lt;/p&gt;&lt;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"&gt;html "Test" b i&lt;/pre&gt;&lt;p style="width:90%"&gt;
 	  produces: &lt;code class="computeroutput"&gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Test&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;/code&gt;
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="incr0"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="incr0"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;incr0 &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;incr0&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476044"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="incr0"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;incr0 &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;incr0&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963455"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Increment a variable
 	  &lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt; by
 	  &lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;.  If the
 	  variable doesn't exist, create it instead of returning an
 	  error.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="parray"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476114"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="wi
 dth:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963526"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  An html version of the standard Tcl
 	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.  Displays the entire
 	  contents of an array in a sorted, nicely-formatted way.
 	  Mostly used for debugging purposes.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="abort_page"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="abort_page"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;abort_page &amp;#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;abort_page&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476165"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;This command flushes the
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="abort_page"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;abort_page &amp;#8212; Stops outputing data to web page, similar in
+	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;abort_page&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963579"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;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
 	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;exit&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command, but that cannot be used in
 	Rivet without actually exiting the apache child
-	process!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="no_body"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body &amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476210"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	process!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body &amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963627"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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.
-	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_string &amp;#8212; convert a string into escaped characters.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476257"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_string &amp;#8212; convert a string into escaped characters.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963676"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	    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,17 +480,17 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	    This is useful for quoting strings that are going to be
 	    part of a URL.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
-	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_sgml_chars"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_sgml_chars"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_sgml_chars &amp;#8212; escape special SGML characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_sgml_chars&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476312"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_sgml_chars"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_sgml_chars &amp;#8212; escape special SGML characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_sgml_chars&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963735"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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.  
 	  For example, the right angle
 	  bracket is escaped to the corrected ampersand gt symbol.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
-	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_shell_command"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_shell_command"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_shell_command &amp;#8212; escape shell metacharacters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_shell_command&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476364"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_shell_command"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_shell_command &amp;#8212; escape shell metacharacters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_shell_command&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963790"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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,9 +499,9 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  For each metacharacter found, it is quoted in the result by
 	  prepending it with a backslash, returning the result.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
-	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="unescape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476420"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2963851"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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,9 +510,9 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	    This is useful for unquoting strings that have been quoted to
 	    be part of a URL.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
-	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Examples and Usage"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="examples"&gt;&lt;/a&gt;Examples and Usage&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="examples"&gt;&lt;/a&gt;Examples and Usage&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       Some examples of Rivet usage follow.  Some prior Tcl knowledge
       is assumed.  If you don't know much Tcl, don't worry, it's easy,
       and there are some good resources available on the web that will
@@ -534,7 +530,7 @@
 	If you then access it with your browser, you should see a
 	blank page with the text "Hello World" (without the quotes) on
 	it.
-      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="id478912"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 2.Â Generate a Table&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="id2967095"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 2.Â Generate a Table&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
 	    In another simple example, we dynamically generate a table:
 	  &lt;/p&gt;&lt;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"&gt;&amp;lt;? puts "&amp;lt;table&amp;gt;\n"
 for {set i 1} { $i &amp;lt;= 8 } {incr i} {
@@ -830,62 +826,42 @@
 	XML messages that have to be understood by JavaScript code used 
 	in Ajax applications. 
       &lt;/p&gt;&lt;p style="width:90%"&gt;
-	Ajax is a web programming technique that heavily relies on the 
-	abilty of JavaScript (and other scriping languages like VBScript) to 
-	manipulate dynamically the HTML structure of a page. In modern browsers 
-	JavaScript code is enabled to send GET or POST requests to the webserver.
-	These requests can request the server to run scripts (for example Rivet
-	Tcl scripts) that build responses and to be sent back to the browser.
-	JavaScript code reads asynchronously these responses, elaborates
-	their content and accordingly modifies the page on display. 
-	Ajax helps to build web applications that are more responsive and 
-	flexible, if you can cope with the complexities, subtleties and 
-	incompatibilities even among the most common browsers available. 
-	Instead of going through the cycle of request-generation-transfer
-	of a page, Ajax allows the programmer to request and transmit only
-	the essential data thus matching the general requirement of separation
-	between data and user interface (and saving the server from sending over
-	the same html code and graphics when only a fraction of a page has
-	to be refreshed)
-      &lt;/p&gt;&lt;p style="width:90%"&gt;
-	In Ajax	applications the communication between client and server 
-	is controlled by an instance of a specialized object: the non-IE world
-	(Firefox,Safari,Opera...) uses the XMLHttpRequest class to create it, 
-	whereas IE uses the ActiveXObject class.
-      	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
-	    With the release of IE7 Microsoft introduced native support for 
-	    &lt;a class="ulink" href="http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx" target="_top"&gt;
-	    XMLHttpRequest&lt;/a&gt; class objects
-      	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;	
-	By creating an instance of this class a POST or GET request can be sent 
-	to the server, whose response is stored in a 
-	property ('returnedText') of the communication object. 
-	It's become widely customary to encode in XML messages the response
-	from the server to the browser. A number of XML specification are 
-	being used for this, among which XML-RPC and SOAP are worth to be 
-	quoted. Anyway, you can invent your own message definitions
-	(either based on XML or anything else), but one has to be aware of 
-	the fact that if the http headers are properly set and the message 
-	returned to the client is a well formed XML fragment, also the property 
-	&lt;a class="ulink" href="http://www.w3schools.com/ajax/ajax_responsexml.asp" target="_top"&gt;
-	XMLResponse&lt;/a&gt; is set with a reference to an object 
-	that represent the
-	&lt;a class="ulink" href="http://www.w3schools.com/dom/default.asp" target="_top"&gt;
-	DOM&lt;/a&gt; of the XML response. 
-	By means of the XML W3C DOM tree methods and properties
-	you can write scripts that read and manipulate the data embedded in 
-	the XML message.
-      &lt;/p&gt;&lt;p style="width:90%"&gt;
-        In this example a Rivet script initializes an array with the
-	essential data regarding a few of the major composers of the 
-	european music. This array plays the role of a database
-	which, in a real case, has is a real DBM which stores large 
-	tables with thousands records and more complex and 
-	extended information. 
-	The script is designed to send back to the client two 
-	types of responses: a catalog of the composers or a single 
-	record of a composer.
-      &lt;/p&gt;&lt;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"&gt;# The database array contains xml fragments representing the
+	    Ajax is a web programming technique that heavily relies on the abilty of a web browser to run in backround
+	    JavaScript functions. JavaScript functions can be run as callbacks of events generated by a user interaction 
+	    but they can also react to other I/O events, for example network events. 
+	    Modern browsers endow JavaScript with the ability to build http GET/POST requests to be sent to a remote
+	    webserver. Generally these requests refer to scripts (e.g. Tcl scripts run by Rivet) which inherit as 
+	    variables the arguments encoded in the request. 
+	    The output produced by these scripts is sent back to the browser where callbacks functions extract 
+	    information and hand it down to functions that directly manipulate a page's DOM.
+	    Therefore through Ajax becomes possible to build web applications that are more responsive and flexible: 
+	    instead of going through the cycle of request-generation-transfer-display 
+	    of a whole page, Ajax scripts request from a webserver only the essential data to be displayed.
+	    Ajax emphasizes the requirement of separation between data and user interface, saves 
+	    the server from sending over the same html code and graphics if only a fraction of a page has to be 
+	    updated, allows the programmer to design flexible solutions for complex forms and makes possible
+	    to find new innovative approaches to simple problems (e.g. Google tips that show up as you type in
+	    a query). A downside of this approach is the large number of complexities, subtleties and incompatibilities 
+	    that still exist in the way different versions of popular browsers handle the DOM elements of a page.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    JavaScript can handle the communication between client and server through an instance of a 
+	    specialized object. For quite a long time 2 approaches existed, the non-IE world (Firefox,Safari,Opera...) 
+	    used the XMLHttpRequest class to create this object, whereas IE (before IE7) used the ActiveXObject class.
+	    With the release of IE7 Microsoft introduced native support for XMLHttpRequest class objects thus enabling
+	    programmers with a unique method for the development of dynamic pages. 
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    By creating an instance of this class a POST or GET request can be sent to the server and the response is 
+	    stored in a property ('returnedText') of the communication object. It's become widely customary to encode 
+	    these responses in XML messages. You can invent your own message structure (either based on XML or anything 
+	    else), but one has to be aware that if the http headers are properly set and the message returned to the 
+	    client is a well formed XML fragment, also the property XMLResponse is assigned with a reference to an object 
+	    that represents the DOM of the XML response. By means of the XML W3C DOM interface the programmer can easily
+	    manipulate the data embedded in the XML message.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    In this example a Rivet script initializes an array with the essential data regarding a few of the major 
+	    composers of the european music. This array plays the role of a database. The script sends back to the 
+	    client two types of responses: a catalog of the composers or a single record of a composer.
+	&lt;/p&gt;&lt;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"&gt;# The database array contains xml fragments representing the
 # results of queries to a database. Many databases are now able
 # to produce the results of a query in XML. 
 #
@@ -972,23 +948,19 @@
 }
 
 &lt;/pre&gt;&lt;p style="width:90%"&gt;
-	For sake of brevity the JavaScript and HTML will not listed here. 
-	They can be downloaded (along with the Tcl script) stored in the 
-	&lt;a class="ulink" href="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz" target="_top"&gt;
-	rivet-ajax.tar.gz&lt;/a&gt; archive. By simply 
-	opening this tar archive in a directory accessible by your
-	apache server and pointing your browser to the rivetService.html
-	page you should see a page with a drop-down list. Every time
-	a different name is picked from the list a new query is sent and 
-	logged in the apache access.log file, even though the html 
-	is never reloaded.
-      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Packages"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="tcl_packages"&gt;&lt;/a&gt;Rivet Tcl Packages&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	    For sake of brevity the JavaScript and HTML will not listed here. They can be downloaded (along with the Tcl 
+	    script) stored in the &lt;a class="ulink" href="http://people.apache.org/~mxmanghi/rivet-ajax.tar.gz" target="_top"&gt;rivet-ajax.tar.gz&lt;/a&gt; archive. 
+	    By simply opening this tar archive in a directory accessible 
+	    by your apache server and pointing your browser to the rivetService.html page you should see a page with a 
+	    drop-down list. Every time a different name is picked from the list a new query is sent and logged in the 
+	    apache access.log file, even though the html is never reloaded.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="tcl_packages"&gt;&lt;/a&gt;Rivet Tcl Packages&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       In addition to the core Apache module, Rivet provides a number
       of Tcl packages that include potentially useful code.
-    &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;commserver is a package providing a server that can be
+    &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul type="disc"&gt;&lt;li&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;commserver is a package providing a server that can be
 	used for IPC.  Still experimental.  Requires the comm package
-	from tcllib.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dio is a database abstraction layer.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dtcl is a compatibility package for mod_dtcl

[... 286 lines stripped ...]


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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r790674 [1/5] - in /tcl/rivet/trunk/doc: ./ html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200907.mbox/%3c20090702165505.5C76623888CD@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090702165505-5C76623888CD@eris-apache-org%3e</id>
<updated>2009-07-02T16:55:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mxmanghi
Date: Thu Jul  2 16:55:02 2009
New Revision: 790674

URL: http://svn.apache.org/viewvc?rev=790674&amp;view=rev
Log:
Ajax coding in the 'examples' section revised

Modified:
    tcl/rivet/trunk/doc/html/abort_page.html
    tcl/rivet/trunk/doc/html/clock_to_rfc.html
    tcl/rivet/trunk/doc/html/commands.html
    tcl/rivet/trunk/doc/html/cookie.html
    tcl/rivet/trunk/doc/html/dio.html
    tcl/rivet/trunk/doc/html/dio_package.html
    tcl/rivet/trunk/doc/html/diodisplay.html
    tcl/rivet/trunk/doc/html/diodisplay_package.html
    tcl/rivet/trunk/doc/html/directives.html
    tcl/rivet/trunk/doc/html/env.html
    tcl/rivet/trunk/doc/html/escape_sgml_chars.html
    tcl/rivet/trunk/doc/html/escape_shell_command.html
    tcl/rivet/trunk/doc/html/escape_string.html
    tcl/rivet/trunk/doc/html/examples.html
    tcl/rivet/trunk/doc/html/headers.html
    tcl/rivet/trunk/doc/html/help.html
    tcl/rivet/trunk/doc/html/html.html
    tcl/rivet/trunk/doc/html/include.html
    tcl/rivet/trunk/doc/html/incr0.html
    tcl/rivet/trunk/doc/html/index.html
    tcl/rivet/trunk/doc/html/installation.html
    tcl/rivet/trunk/doc/html/internals.html
    tcl/rivet/trunk/doc/html/load_cookies.html
    tcl/rivet/trunk/doc/html/load_env.html
    tcl/rivet/trunk/doc/html/load_headers.html
    tcl/rivet/trunk/doc/html/load_response.html
    tcl/rivet/trunk/doc/html/makeurl.html
    tcl/rivet/trunk/doc/html/no_body.html
    tcl/rivet/trunk/doc/html/parray.html
    tcl/rivet/trunk/doc/html/parse.html
    tcl/rivet/trunk/doc/html/rivet.html
    tcl/rivet/trunk/doc/html/session_package.html
    tcl/rivet/trunk/doc/html/tcl_packages.html
    tcl/rivet/trunk/doc/html/unescape_string.html
    tcl/rivet/trunk/doc/html/upgrading.html
    tcl/rivet/trunk/doc/html/upload.html
    tcl/rivet/trunk/doc/html/var.html
    tcl/rivet/trunk/doc/rivet.xml
    tcl/rivet/trunk/doc/rivet.xsl
    tcl/rivet/trunk/doc/xml/directives.xml
    tcl/rivet/trunk/doc/xml/examples.xml

Modified: tcl/rivet/trunk/doc/html/abort_page.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/abort_page.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/abort_page.html (original)
+++ tcl/rivet/trunk/doc/html/abort_page.html Thu Jul  2 16:55:02 2009
@@ -1,5 +1,5 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;abort_page&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="parray.html" title="parray"&gt;&lt;link rel="next" href="no_body.html" title="no_body"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;abort_page&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="parray.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="no_body.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="abort_page"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="abort_page"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;abort_page &amp;#8212; Stops outputing data to web page, similar in
-	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;abort_page&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498236"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;This command flushes the
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;abort_page&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="parray.html" title="parray"&gt;&lt;link rel="next" href="no_body.html" title="no_body"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;abort_page&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="parray.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="no_body.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr
 &gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="abort_page"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;abort_page &amp;#8212; Stops outputing data to web page, similar in
+	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;abort_page&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728581"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;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
 	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;exit&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command, but that cannot be used in

Modified: tcl/rivet/trunk/doc/html/clock_to_rfc.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/clock_to_rfc.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/clock_to_rfc.html (original)
+++ tcl/rivet/trunk/doc/html/clock_to_rfc.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;clock_to_rfc850_gmt&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="cookie.html" title="cookie"&gt;&lt;link rel="next" href="html.html" title="html"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;clock_to_rfc850_gmt&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="cookie.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="html.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;
 /td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="clock_to_rfc850_gmt"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="clock_to_rfc"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;clock_to_rfc850_gmt &amp;#8212; create a rfc850 time from [clock seconds].&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;clock_to_rfc850_gmt&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;seconds&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497994"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;clock_to_rfc850_gmt&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="cookie.html" title="cookie"&gt;&lt;link rel="next" href="html.html" title="html"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;clock_to_rfc850_gmt&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="cookie.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="html.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;
 &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="clock_to_rfc"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;clock_to_rfc850_gmt &amp;#8212; create a rfc850 time from [clock seconds].&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;clock_to_rfc850_gmt&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;seconds&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728332"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  Convert an integer-seconds-since-1970 click value to
 	  RFC850 format, with the additional requirement that it be
 	  GMT only.

Modified: tcl/rivet/trunk/doc/html/commands.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/commands.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/commands.html (original)
+++ tcl/rivet/trunk/doc/html/commands.html Thu Jul  2 16:55:02 2009
@@ -1 +1 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Tcl Commands and Variables&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="directives.html" title="Rivet Apache Directives"&gt;&lt;link rel="next" href="var.html" title="var"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="directives.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="var.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;
 /tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Commands and Variables"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="commands"&gt;&lt;/a&gt;Rivet Tcl Commands and Variables&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="directives.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="var.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet Apache DirectivesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â var&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Tcl Commands and Variables&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="directives.html" title="Rivet Apache Directives"&gt;&lt;link rel="next" href="var.html" title="var"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="directives.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="var.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="commands"&gt;&lt;/a&gt;Rivet Tcl Commands and Variables&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="directives.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="var.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet Apache DirectivesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â var&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/cookie.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/cookie.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/cookie.html (original)
+++ tcl/rivet/trunk/doc/html/cookie.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;cookie&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="makeurl.html" title="makeurl"&gt;&lt;link rel="next" href="clock_to_rfc.html" title="clock_to_rfc850_gmt"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;cookie&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="makeurl.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="clock_to_rfc.html"&gt;&lt;img src="images/next.png" alt="Nex
 t"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="cookie"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="cookie"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;cookie &amp;#8212; get and set cookies.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;cookiValue&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-days &lt;em class="replaceable"&gt;&lt;code&gt;expireInDays&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;sp
 an style="font-family:monospace; font-weight: bold;"&gt;-hours &lt;em class="replaceable"&gt;&lt;code&gt;expireInHours&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-minutes &lt;em class="replaceable"&gt;&lt;code&gt;expireInMinutes&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-expires &lt;em class="replaceable"&gt;&lt;code&gt;Wdy, DD-Mon-YYYY HH:MM:SS GMT&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-path &lt;em class="replaceable"&gt;&lt;code&gt;uriPathCookieAppliesTo&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-secure &lt;em class="replaceable"&gt;&lt;code&gt;1/0&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;? ?&lt;span style="font-family:monospace; 
 font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497942"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;cookie&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="makeurl.html" title="makeurl"&gt;&lt;link rel="next" href="clock_to_rfc.html" title="clock_to_rfc850_gmt"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;cookie&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="makeurl.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="clock_to_rfc.html"&gt;&lt;img src="images/next.png" alt="Ne
 xt"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="cookie"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;cookie &amp;#8212; get and set cookies.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;cookiValue&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-days &lt;em class="replaceable"&gt;&lt;code&gt;expireInDays&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family
 :monospace; font-weight: bold;"&gt;-hours &lt;em class="replaceable"&gt;&lt;code&gt;expireInHours&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-minutes &lt;em class="replaceable"&gt;&lt;code&gt;expireInMinutes&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-expires &lt;em class="replaceable"&gt;&lt;code&gt;Wdy, DD-Mon-YYYY HH:MM:SS GMT&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-path &lt;em class="replaceable"&gt;&lt;code&gt;uriPathCookieAppliesTo&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-secure &lt;em class="replaceable"&gt;&lt;code&gt;1/0&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;
 em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728277"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;cookie&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 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.

Modified: tcl/rivet/trunk/doc/html/dio.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/dio.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/dio.html (original)
+++ tcl/rivet/trunk/doc/html/dio.html Thu Jul  2 16:55:02 2009
@@ -1 +1 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIO - Database Interface Objects&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="tcl_packages.html" title="Rivet Tcl Packages"&gt;&lt;link rel="next" href="dio_package.html" title="DIO"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIO - Database Interface Objects&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="tcl_packages.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="dio_package.html"&gt;&lt;img src="images/next.png" alt="N
 ext"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="DIO - Database Interface Objects"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="dio"&gt;&lt;/a&gt;DIO - Database Interface Objects&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="tcl_packages.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="dio_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet Tcl PackagesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIO&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIO - Database Interface Objects&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="tcl_packages.html" title="Rivet Tcl Packages"&gt;&lt;link rel="next" href="dio_package.html" title="DIO"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIO - Database Interface Objects&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="tcl_packages.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="dio_package.html"&gt;&lt;img src="images/next.png" alt="
 Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="dio"&gt;&lt;/a&gt;DIO - Database Interface Objects&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="tcl_packages.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="dio_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet Tcl PackagesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIO&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/dio_package.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/dio_package.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/dio_package.html (original)
+++ tcl/rivet/trunk/doc/html/dio_package.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIO&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;link rel="prev" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;link rel="next" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIO&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="dio.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;DIO - Database Interface Objects&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay.html"
 &gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="DIO"&gt;&lt;a name="dio_package"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;DIO &amp;#8212; Database Interface Objects&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;::DIO::handle&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;interface&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? (&lt;span style="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; fo
 nt-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;...&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id502375"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIO&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;link rel="prev" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;link rel="next" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIO&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="dio.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;DIO - Database Interface Objects&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay.html
 "&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;a name="dio_package"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;DIO &amp;#8212; Database Interface Objects&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;::DIO::handle&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;interface&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? (&lt;span style="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;
 -option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;...&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2732607"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;DIO&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 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
@@ -15,7 +15,7 @@
 	  specified, DIO creates an object of that name.  If there is
 	  no &lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;
 	  given, DIO will automatically generate a unique object ID
-	&lt;/p&gt;&lt;/div&gt;&lt;div class="refsect1" title="Options"&gt;&lt;a name="id502418"&gt;&lt;/a&gt;&lt;h2&gt;Options&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-host&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;hostname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2733274"&gt;&lt;/a&gt;&lt;h2&gt;Options&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-host&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;hostname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		The hostname of the computer to connect to.  If none
 		is given, DIO assumes the local host.
 	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-port&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;portNumber&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The port number to connect to on hostname.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-user&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;username&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div s
 tyle="margin-bottom:1.5ex ; padding .5ex"&gt;The username you wish to login to the server as.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-pass&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;password&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The password to login to the server with.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-db&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;
 "&gt;&lt;em class="replaceable"&gt;&lt;code&gt;database&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
@@ -35,7 +35,7 @@
 		field specified as AUTO.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-sequence&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;sequenceName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		If DIO is automatically generating keys, it will use
 		this sequence as a means to gain a unique number for
-		the stored key.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="DIO Object Commands"&gt;&lt;a name="id502730"&gt;&lt;/a&gt;&lt;h2&gt;DIO Object Commands&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;array&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;request&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		the stored key.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2733595"&gt;&lt;/a&gt;&lt;h2&gt;DIO Object Commands&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;array&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;request&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		Execute request as a SQL query and
 		create an array from the first record found.  The
 		array is set with the fields of the table and the
@@ -170,7 +170,7 @@
 		Return the current user value.  If
 		value is specified, it sets a new
 		value for the user.
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Result Object Commands"&gt;&lt;a name="resultobj"&gt;&lt;/a&gt;&lt;h2&gt;Result Object Commands&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;resultObj&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;autocache&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="resultobj"&gt;&lt;/a&gt;&lt;h2&gt;Result Object Commands&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;resultObj&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;autocache&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		Return the current autocache value.  If
 		value is specified, it sets a new
 		value for autocache.

Modified: tcl/rivet/trunk/doc/html/diodisplay.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/diodisplay.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/diodisplay.html (original)
+++ tcl/rivet/trunk/doc/html/diodisplay.html Thu Jul  2 16:55:02 2009
@@ -1 +1 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIODisplay - Database Interface Objects Display Class&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="dio_package.html" title="DIO"&gt;&lt;link rel="next" href="diodisplay_package.html" title="DIODisplay"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIODisplay - Database Interface Objects Display Class&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="dio_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay_p
 ackage.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="diodisplay"&gt;&lt;/a&gt;DIODisplay - Database Interface Objects Display Class&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="dio_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;DIOÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIODisplay&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIODisplay - Database Interface Objects Display Class&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="dio_package.html" title="DIO"&gt;&lt;link rel="next" href="diodisplay_package.html" title="DIODisplay"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIODisplay - Database Interface Objects Display Class&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="dio_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay_
 package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="diodisplay"&gt;&lt;/a&gt;DIODisplay - Database Interface Objects Display Class&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="dio_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="diodisplay_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;DIOÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIODisplay&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/diodisplay_package.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/diodisplay_package.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/diodisplay_package.html (original)
+++ tcl/rivet/trunk/doc/html/diodisplay_package.html Thu Jul  2 16:55:02 2009
@@ -1,8 +1,8 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIODisplay&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;link rel="prev" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;link rel="next" href="session_package.html" title="Session Package"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIODisplay&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="diodisplay.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;DIODisplay - Database Interface Objects Display Class&lt;/th&gt;&lt;td wi
 dth="20%" align="right"&gt;Â &lt;a accesskey="n" href="session_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="DIODisplay"&gt;&lt;a name="diodisplay_package"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;DIODisplay &amp;#8212; Database Interface Objects Display Class&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;DIODisplay&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;#auto&lt;/span&gt;) (&lt;span style="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/co
 de&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;...&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id508078"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;DIODisplay&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;link rel="prev" href="diodisplay.html" title="DIODisplay - Database Interface Objects Display Class"&gt;&lt;link rel="next" href="session_package.html" title="Session Package"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;DIODisplay&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="diodisplay.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;DIODisplay - Database Interface Objects Display Class&lt;/th&gt;&lt;td w
 idth="20%" align="right"&gt;Â &lt;a accesskey="n" href="session_package.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;a name="diodisplay_package"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;DIODisplay &amp;#8212; Database Interface Objects Display Class&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;DIODisplay&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;#auto&lt;/span&gt;) (&lt;span style="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span s
 tyle="font-family:monospace; font-weight: bold;"&gt;-option&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;option&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;...&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2738973"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  DIODisplay is an HTML display class that uses a DIO object
 	  to do the database work and a form object to do the
 	  displaying.
-	&lt;/p&gt;&lt;/div&gt;&lt;div class="refsect1" title="Options"&gt;&lt;a name="id508089"&gt;&lt;/a&gt;&lt;h2&gt;Options&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2738985"&gt;&lt;/a&gt;&lt;h2&gt;Options&lt;/h2&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;-DIO&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;dioObject&lt;/code&gt;&lt;/em&gt;&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
 	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		The DIO object to be used in conjunction with this
@@ -82,7 +82,7 @@
 	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		The title of the display object.  This will be output
 		as the title of the HTML document.
-	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="refsect2" title="DIO Display Object Commands"&gt;&lt;a name="id508581"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Object Commands&lt;/h3&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="refsect2" lang="en"&gt;&lt;a name="id2739496"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Object Commands&lt;/h3&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
 		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;objectName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;cleanup&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
 	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 		  Return the current cleanup value.  If
@@ -288,7 +288,7 @@
 		  Return the current value value.  If
 		  &lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt; is
 		  specified, it sets a new value for value.
-		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect2" title="DIO Display Functions"&gt;&lt;a name="id509873"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Functions&lt;/h3&gt;&lt;p style="width:90%"&gt;
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect2" lang="en"&gt;&lt;a name="id2740825"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Functions&lt;/h3&gt;&lt;p style="width:90%"&gt;
 	    These functions are called from the
 	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;show&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; method when a form response
 	    variable called &lt;code class="varname"&gt;mode&lt;/code&gt; is set.  If no
@@ -369,7 +369,7 @@
 		  &lt;code class="varname"&gt;query&lt;/code&gt;. Once any number of records
 		  are found, &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Search&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; displays the
 		  results in rows.
-		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect2" title="DIO Display Fields"&gt;&lt;a name="id510220"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Fields&lt;/h3&gt;&lt;p style="width:90%"&gt;
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect2" lang="en"&gt;&lt;a name="id2741196"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Fields&lt;/h3&gt;&lt;p style="width:90%"&gt;
 	    Display fields are created with the
 	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;field&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command of the DIODisplay object.
 	    Each field is created as a new DIODisplayField object or
@@ -422,7 +422,7 @@
 	    Or, if type were textarea, you could define
 	    -rows and -cols to
 	    specify its row and column count.
-	  &lt;/p&gt;&lt;/div&gt;&lt;div class="refsect2" title="DIO Display Field Types"&gt;&lt;a name="id510497"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Field Types&lt;/h3&gt;&lt;p style="width:90%"&gt;
+	  &lt;/p&gt;&lt;/div&gt;&lt;div class="refsect2" lang="en"&gt;&lt;a name="id2741487"&gt;&lt;/a&gt;&lt;h3&gt;DIO Display Field Types&lt;/h3&gt;&lt;p style="width:90%"&gt;
 	    The following is a list of recognized field types by
 	    DIODisplay.  Some are standard HTML form fields, and
 	    others are DIODisplay fields which execute special actions

Modified: tcl/rivet/trunk/doc/html/directives.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/directives.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/directives.html (original)
+++ tcl/rivet/trunk/doc/html/directives.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Apache Directives&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="installation.html" title="Apache Rivet Installation"&gt;&lt;link rel="next" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Apache Directives&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="installation.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="commands.html"&gt;&lt;img src="images/next
 .png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Apache Directives"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="directives"&gt;&lt;/a&gt;Rivet Apache Directives&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Apache Directives&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="installation.html" title="Apache Rivet Installation"&gt;&lt;link rel="next" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Apache Directives&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="installation.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="commands.html"&gt;&lt;img src="images/nex
 t.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" lang="en"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="directives"&gt;&lt;/a&gt;Rivet Apache Directives&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
       These directives are used within the Apache httpd server
       configuration files to modify Apache Rivet's behavior.  Their
       precedence is as follows: &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetDirConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
@@ -65,7 +65,7 @@
 		  to put it in a GlobalInitScript
 		  ChildInitScript when you are first
 		  developing a web site.
-		  &lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
+		  &lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
 		    This code is evaluated at the global level, not
 		    inside the request namespace where pages are
 		    evaluated.
@@ -126,17 +126,15 @@
 		  If a HEAD requests is issued by the client Rivet detects
 		  this case and sends back to the client a standard header 
 		  response. If the real header has to be examined (e.g. 
-		  for debugging) you can turn on this options which 
-		  causes Rivet to parse and run the script the requests refers 
-		  to. In this case the real header is returned to the client.
+		  for debugging) you can turn this options on. 
 		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;This option is, by nature, only available at the global level&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetDirConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
 	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
 	    These options are the same as for
 	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, except that they are
 	    only valid for the directory where they are specified, and
-	    its subdirectories.  It may be specified in
-	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; sections.
+	    its subdirectories.  It may be specified in &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 
+	    sections.
 	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
 	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetUserConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
 	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;

Modified: tcl/rivet/trunk/doc/html/env.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/env.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/env.html (original)
+++ tcl/rivet/trunk/doc/html/env.html Thu Jul  2 16:55:02 2009
@@ -1,5 +1,5 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;env&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_env.html" title="load_env"&gt;&lt;link rel="next" href="include.html" title="include"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;env&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_env.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="include.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
 &lt;/div&gt;&lt;div class="refentry" title="env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;env &amp;#8212; Loads a single
-	"environmental variable" into a Tcl variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id497324"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;env&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="load_env.html" title="load_env"&gt;&lt;link rel="next" href="include.html" title="include"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;env&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="load_env.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="include.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table
 &gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;env &amp;#8212; Loads a single
+	"environmental variable" into a Tcl variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2727641"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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.

Modified: tcl/rivet/trunk/doc/html/escape_sgml_chars.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/escape_sgml_chars.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/escape_sgml_chars.html (original)
+++ tcl/rivet/trunk/doc/html/escape_sgml_chars.html Thu Jul  2 16:55:02 2009
@@ -1,9 +1,9 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_sgml_chars&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_string.html" title="escape_string"&gt;&lt;link rel="next" href="escape_shell_command.html" title="escape_shell_command"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_sgml_chars&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escap
 e_shell_command.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_sgml_chars"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_sgml_chars"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_sgml_chars &amp;#8212; escape special SGML characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_sgml_chars&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498384"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_sgml_chars&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_string.html" title="escape_string"&gt;&lt;link rel="next" href="escape_shell_command.html" title="escape_shell_command"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_sgml_chars&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="esca
 pe_shell_command.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_sgml_chars"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_sgml_chars &amp;#8212; escape special SGML characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_sgml_chars&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728737"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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.  
 	  For example, the right angle
 	  bracket is escaped to the corrected ampersand gt symbol.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
 	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="escape_string.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="escape_shell_command.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;escape_stringÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â escape_shell_command&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/escape_shell_command.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/escape_shell_command.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/escape_shell_command.html (original)
+++ tcl/rivet/trunk/doc/html/escape_shell_command.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_shell_command&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_sgml_chars.html" title="escape_sgml_chars"&gt;&lt;link rel="next" href="unescape_string.html" title="unescape_string"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_shell_command&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_sgml_chars.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" hre
 f="unescape_string.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_shell_command"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_shell_command"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_shell_command &amp;#8212; escape shell metacharacters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_shell_command&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498436"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_shell_command&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_sgml_chars.html" title="escape_sgml_chars"&gt;&lt;link rel="next" href="unescape_string.html" title="unescape_string"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_shell_command&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_sgml_chars.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" hr
 ef="unescape_string.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_shell_command"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_shell_command &amp;#8212; escape shell metacharacters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_shell_command&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728793"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	  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 
@@ -7,6 +7,6 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	  For each metacharacter found, it is quoted in the result by
 	  prepending it with a backslash, returning the result.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
 	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="escape_sgml_chars.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="unescape_string.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;escape_sgml_charsÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â unescape_string&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/html/escape_string.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/escape_string.html?rev=790674&amp;r1=790673&amp;r2=790674&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/html/escape_string.html (original)
+++ tcl/rivet/trunk/doc/html/escape_string.html Thu Jul  2 16:55:02 2009
@@ -1,4 +1,4 @@
-&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_string&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="no_body.html" title="no_body"&gt;&lt;link rel="next" href="escape_sgml_chars.html" title="escape_sgml_chars"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_string&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="no_body.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escape_sgml_chars.html"&gt;&lt;img src="ima
 ges/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_string &amp;#8212; convert a string into escaped characters.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498329"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;escape_string&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.73.2"&gt;&lt;link rel="start" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="no_body.html" title="no_body"&gt;&lt;link rel="next" href="escape_sgml_chars.html" title="escape_sgml_chars"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;escape_string&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="no_body.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escape_sgml_chars.html"&gt;&lt;img src="im
 ages/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" lang="en"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_string &amp;#8212; convert a string into escaped characters.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" lang="en"&gt;&lt;a name="id2728678"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
 	    Scans through each character in the specified string looking
 	    for special characters, escaping them as needed, mapping
 	    special characters to a quoted hexadecimal equivalent,
@@ -6,6 +6,6 @@
 	&lt;/p&gt;&lt;p style="width:90%"&gt;
 	    This is useful for quoting strings that are going to be
 	    part of a URL.
-	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	&lt;/p&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
 	    You must require the Rivet package in order to gain access to this command
 	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="no_body.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="escape_sgml_chars.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;no_bodyÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â escape_sgml_chars&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;



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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: OK got AX_PREFIX_CONFIG_H</title>
<author><name>&quot;Massimo Manghi&quot; &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090626165316.M66714@unipr.it%3e"/>
<id>urn:uuid:%3c20090626165316-M66714@unipr-it%3e</id>
<updated>2009-06-26T16:56:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
On Fri, 26 Jun 2009 18:22:34 +0200, Massimo Manghi wrote
&gt;
&gt; svn: OPTIONS of 'https://svn.apache.org/repos/asf/tcl/rivet/trunk': 
&gt; could not connect to server (https://svn.apache.org)
&gt; 
&gt; when i try to update my working copy,
&gt; anyone else is experiencing the same problem?
&gt; 

I'm sorry to add noise to the list, but
it turned out this problem is specific to debian
'testing' release. 

cheers

-- Massimo



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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: OK got AX_PREFIX_CONFIG_H</title>
<author><name>&quot;Massimo Manghi&quot; &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090626161731.M58416@unipr.it%3e"/>
<id>urn:uuid:%3c20090626161731-M58416@unipr-it%3e</id>
<updated>2009-06-26T16:22:34Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>

On Thu, 25 Jun 2009 10:36:22 -0500, Karl Lehenbauer wrote
&gt; Yeah I was getting all those warnings too.  With the updated files  
&gt; from libtool and TEA, it did silence the complaining on my machines.
&gt; 

good. 

I wonder if the AC_CONFIG_MACRO_DIR is enough for enabling
the autotools to find all they need. Using the macro should be a more
stable solution....

by the way, I keep getting messages like

svn: OPTIONS of 'https://svn.apache.org/repos/asf/tcl/rivet/trunk': could not
connect to server (https://svn.apache.org)

when i try to update my working copy,
anyone else is experiencing the same problem?

 -- Massimo


&gt; On Jun 24, 2009, at 8:21 PM, Massimo Manghi wrote:
&gt; 
&gt; &gt; I can't remember what exactly I did introducing this macro
&gt; &gt; and svn.apache.org seems to be down at the moment to read
&gt; &gt; the logs. I'm quite certain I added ACLOCAL_AMFLAGS = -I m4
&gt; &gt; to Makefile.am
&gt; &gt;
&gt; &gt; I tried to rebuild the configure script in the way
&gt; &gt; you did and my libtool installation (2.2.6) suggested to put
&gt; &gt;
&gt; &gt; AC_CONFIG_MACRO_DIR([m4])
&gt; &gt;
&gt; &gt; in configure.ac. It seems that a working 'configure' comes out of it.
&gt; &gt;
&gt; &gt; more recent libtool versions complain a lot with warnings like this
&gt; &gt;
&gt; &gt; configure.ac:93: warning:  
&gt; &gt; AC_CACHE_VAL(lt_prog_compiler_pic_works, ...):
&gt; &gt; suspicious cache-id, must contain _cv_ to be cached
&gt; &gt; tclconfig/libtool.m4:568: AC_LIBTOOL_COMPILER_OPTION is expanded
&gt; &gt; from...
&gt; &gt; tclconfig/libtool.m4:4559: AC_LIBTOOL_PROG_COMPILER_PIC is expanded
&gt; &gt; from...
&gt; &gt;
&gt; &gt; I hope the new libtool.m4 will silence these messages, but I still  
&gt; &gt; can't get
&gt; &gt; to svn.apache.org to find out
&gt; &gt;
&gt; &gt; -- Massimo
&gt; &gt;
&gt; &gt; On Wed, 24 Jun 2009 14:34:24 -0500, Karl Lehenbauer wrote
&gt; &gt;&gt; I added
&gt; &gt;&gt;
&gt; &gt;&gt; m4_include([m4/ax_prefix_config_h.m4])
&gt; &gt;&gt;
&gt; &gt;&gt; to acinclude.m4, and the configure script works now.
&gt; &gt;&gt;
&gt; &gt;&gt; -karl
&gt; &gt;&gt;
&gt; &gt;&gt; ---------------------------------------------------------------------
&gt; &gt;&gt; To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
&gt; &gt;&gt; For additional commands, e-mail: rivet-dev-help@tcl.apache.org
&gt; &gt;
&gt; &gt;
&gt; &gt; --
&gt; &gt;
&gt; 
&gt; ---------------------------------------------------------------------
&gt; To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
&gt; For additional commands, e-mail: rivet-dev-help@tcl.apache.org


--


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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: OK got AX_PREFIX_CONFIG_H</title>
<author><name>Karl Lehenbauer &lt;karllehenbauer@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3cC7475415-EB52-47FD-93C7-209F73D9B6D6@gmail.com%3e"/>
<id>urn:uuid:%3cC7475415-EB52-47FD-93C7-209F73D9B6D6@gmail-com%3e</id>
<updated>2009-06-25T15:36:22Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Yeah I was getting all those warnings too.  With the updated files  
from libtool and TEA, it did silence the complaining on my machines.


On Jun 24, 2009, at 8:21 PM, Massimo Manghi wrote:

&gt; I can't remember what exactly I did introducing this macro
&gt; and svn.apache.org seems to be down at the moment to read
&gt; the logs. I'm quite certain I added ACLOCAL_AMFLAGS = -I m4
&gt; to Makefile.am
&gt;
&gt; I tried to rebuild the configure script in the way
&gt; you did and my libtool installation (2.2.6) suggested to put
&gt;
&gt; AC_CONFIG_MACRO_DIR([m4])
&gt;
&gt; in configure.ac. It seems that a working 'configure' comes out of it.
&gt;
&gt; more recent libtool versions complain a lot with warnings like this
&gt;
&gt; configure.ac:93: warning:  
&gt; AC_CACHE_VAL(lt_prog_compiler_pic_works, ...):
&gt; suspicious cache-id, must contain _cv_ to be cached
&gt; tclconfig/libtool.m4:568: AC_LIBTOOL_COMPILER_OPTION is expanded
&gt; from...
&gt; tclconfig/libtool.m4:4559: AC_LIBTOOL_PROG_COMPILER_PIC is expanded
&gt; from...
&gt;
&gt; I hope the new libtool.m4 will silence these messages, but I still  
&gt; can't get
&gt; to svn.apache.org to find out
&gt;
&gt; -- Massimo
&gt;
&gt; On Wed, 24 Jun 2009 14:34:24 -0500, Karl Lehenbauer wrote
&gt;&gt; I added
&gt;&gt;
&gt;&gt; m4_include([m4/ax_prefix_config_h.m4])
&gt;&gt;
&gt;&gt; to acinclude.m4, and the configure script works now.
&gt;&gt;
&gt;&gt; -karl
&gt;&gt;
&gt;&gt; ---------------------------------------------------------------------
&gt;&gt; To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
&gt;&gt; For additional commands, e-mail: rivet-dev-help@tcl.apache.org
&gt;
&gt;
&gt; --
&gt;


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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: OK got AX_PREFIX_CONFIG_H</title>
<author><name>&quot;Massimo Manghi&quot; &lt;massimo.manghi@unipr.it&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090625005245.M13261@unipr.it%3e"/>
<id>urn:uuid:%3c20090625005245-M13261@unipr-it%3e</id>
<updated>2009-06-25T01:21:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I can't remember what exactly I did introducing this macro
and svn.apache.org seems to be down at the moment to read
the logs. I'm quite certain I added ACLOCAL_AMFLAGS = -I m4
to Makefile.am

I tried to rebuild the configure script in the way
you did and my libtool installation (2.2.6) suggested to put

AC_CONFIG_MACRO_DIR([m4]) 

in configure.ac. It seems that a working 'configure' comes out of it. 

more recent libtool versions complain a lot with warnings like this

configure.ac:93: warning: AC_CACHE_VAL(lt_prog_compiler_pic_works, ...): 
suspicious cache-id, must contain _cv_ to be cached         
tclconfig/libtool.m4:568: AC_LIBTOOL_COMPILER_OPTION is expanded 
from...                                                             
tclconfig/libtool.m4:4559: AC_LIBTOOL_PROG_COMPILER_PIC is expanded 
from...                                                          

I hope the new libtool.m4 will silence these messages, but I still can't get
to svn.apache.org to find out

 -- Massimo
 
On Wed, 24 Jun 2009 14:34:24 -0500, Karl Lehenbauer wrote
&gt; I added
&gt; 
&gt; m4_include([m4/ax_prefix_config_h.m4])
&gt; 
&gt; to acinclude.m4, and the configure script works now.
&gt; 
&gt; -karl
&gt; 
&gt; ---------------------------------------------------------------------
&gt; To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
&gt; For additional commands, e-mail: rivet-dev-help@tcl.apache.org


--


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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788155 [3/4] - in /tcl/rivet/trunk: ./ tclconfig/</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624194150.9E95D23888D8@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624194150-9E95D23888D8@eris-apache-org%3e</id>
<updated>2009-06-24T19:41:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/tclconfig/ltmain.sh
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/ltmain.sh?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/ltmain.sh (original)
+++ tcl/rivet/trunk/tclconfig/ltmain.sh Wed Jun 24 19:41:49 2009
@@ -1,8 +1,8 @@
 # ltmain.sh - Provide generalized library-building support services.
 # NOTE: Changing this file will not affect anything until you rerun configure.
 #
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008  Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit &lt;gord@gnu.ai.mit.edu&gt;, 1996
 #
 # This program is free software; you can redistribute it and/or modify
@@ -43,14 +43,22 @@
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION="1.5.22 Debian 1.5.22-4"
-TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"
+VERSION=1.5.26
+TIMESTAMP=" (1.1220.2.492 2008/01/30 06:40:56)"
 
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes.
-if test -n "${ZSH_VERSION+set}" ; then
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n "${ZSH_VERSION+set}" &amp;&amp; (emulate sh) &gt;/dev/null 2&gt;&amp;1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2&gt;/dev/null` in *posix*) set -o posix;; esac
 fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
 
 # Check that we have a working $echo.
 if test "X$1" = X--no-reexec; then
@@ -105,11 +113,19 @@
 # These must not be set unconditionally because not all systems understand
 # e.g. LANG=C (notably SCO).
 # We save the old values to restore during execute mode.
-if test "${LC_ALL+set}" = set; then
-  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
-fi
-if test "${LANG+set}" = set; then
-  save_LANG="$LANG"; LANG=C; export LANG
+lt_env=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+	  save_$lt_var=\$$lt_var
+	  lt_env=\"$lt_var=\$$lt_var \$lt_env\"
+	  $lt_var=C
+	  export $lt_var
+	fi"
+done
+
+if test -n "$lt_env"; then
+  lt_env="env $lt_env"
 fi
 
 # Make sure IFS has a sensible default
@@ -136,6 +152,8 @@
 preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
 
 #####################################
 # Shell function definitions:
@@ -196,7 +214,13 @@
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2&gt;/dev/null | \
       $EGREP -e 'file format pe-i386(.*architecture: i386)?' &gt;/dev/null ; then
       win32_nmres=`eval $NM -f posix -A $1 | \
-	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
+	$SED -n -e '1,100{
+		/ I /{
+			s,.*,import,
+			p
+			q
+			}
+		}'`
       case $win32_nmres in
       import*)  win32_libid_type="x86 archive import";;
       *)        win32_libid_type="x86 archive static";;
@@ -226,6 +250,20 @@
 # arg is usually of the form 'gcc ...'
 func_infer_tag ()
 {
+    # FreeBSD-specific: where we install compilers with non-standard names
+    tag_compilers_CC="*cc cc* *gcc gcc*"
+    tag_compilers_CXX="*c++ c++* *g++ g++*"
+    base_compiler=`set -- "$@"; echo $1`
+
+    # If $tagname isn't set, then try to infer if the default "CC" tag applies
+    if test -z "$tagname"; then
+      for zp in $tag_compilers_CC; do
+        case $base_compiler in
+	 $zp) tagname="CC"; break;;
+	esac
+      done
+    fi
+
     if test -n "$available_tags" &amp;&amp; test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
@@ -266,7 +304,22 @@
 	      break
 	      ;;
 	    esac
-	  fi
+
+	    # FreeBSD-specific: try compilers based on inferred tag
+	    if test -z "$tagname"; then
+	      eval "tag_compilers=\$tag_compilers_${z}"
+	      if test -n "$tag_compilers"; then
+		for zp in $tag_compilers; do
+		  case $base_compiler in   
+		    $zp) tagname=$z; break;;
+		  esac
+		done
+		if test -n "$tagname"; then
+		  break
+		fi
+	      fi
+            fi
+          fi
 	done
 	# If $tagname still isn't set, then no tagged configuration
 	# was found and let the user know that the "--tag" command
@@ -327,7 +380,17 @@
 	*) my_xabs=`pwd`"/$my_xlib" ;;
       esac
       my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xdir="$my_gentop/$my_xlib"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  extracted_serial=`expr $extracted_serial + 1`
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
 
       $show "${rm}r $my_xdir"
       $run ${rm}r "$my_xdir"
@@ -454,11 +517,12 @@
     ;;
 
   --version)
-    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
-    $echo
-    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
-    $echo "This is free software; see the source for copying conditions.  There is NO"
-    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+    echo "\
+$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+
+Copyright (C) 2008  Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     exit $?
     ;;
 
@@ -755,9 +819,11 @@
     *.class) xform=class ;;
     *.cpp) xform=cpp ;;
     *.cxx) xform=cxx ;;
-    *.f90) xform=f90 ;;
+    *.[fF][09]?) xform=[fF][09]. ;;
     *.for) xform=for ;;
     *.java) xform=java ;;
+    *.obj) xform=obj ;;
+    *.sx) xform=sx ;;
     esac
 
     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
@@ -926,7 +992,7 @@
       $run $rm "$lobj" "$output_obj"
 
       $show "$command"
-      if $run eval "$command"; then :
+      if $run eval $lt_env "$command"; then :
       else
 	test -n "$output_obj" &amp;&amp; $run $rm $removelist
 	exit $EXIT_FAILURE
@@ -998,7 +1064,7 @@
       command="$command$suppress_output"
       $run $rm "$obj" "$output_obj"
       $show "$command"
-      if $run eval "$command"; then :
+      if $run eval $lt_env "$command"; then :
       else
 	$run $rm $removelist
 	exit $EXIT_FAILURE
@@ -1131,6 +1197,7 @@
     thread_safe=no
     vinfo=
     vinfo_number=no
+    single_module="${wl}-single_module"
 
     func_infer_tag $base_compile
 
@@ -1138,8 +1205,9 @@
     for arg
     do
       case $arg in
-      -all-static | -static)
-	if test "X$arg" = "X-all-static"; then
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
 	  if test "$build_libtool_libs" = yes &amp;&amp; test -z "$link_static_flag"; then
 	    $echo "$modename: warning: complete static linking is impossible in this configuration"
1&gt;&amp;2
 	  fi
@@ -1147,12 +1215,20 @@
 	    dlopen_self=$dlopen_self_static
 	  fi
 	  prefer_static_libs=yes
-	else
+	  ;;
+	-static)
 	  if test -z "$pic_flag" &amp;&amp; test -n "$link_static_flag"; then
 	    dlopen_self=$dlopen_self_static
 	  fi
 	  prefer_static_libs=built
-	fi
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" &amp;&amp; test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
 	build_libtool_libs=no
 	build_old_libs=yes
 	break
@@ -1600,10 +1676,16 @@
 	continue
 	;;
 
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 	compiler_flags="$compiler_flags $arg"
 	compile_command="$compile_command $arg"
 	finalize_command="$finalize_command $arg"
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      -multi_module)
+	single_module="${wl}-multi_module"
 	continue
 	;;
 
@@ -1620,10 +1702,11 @@
       # -m* pass through architecture-specific compiler args for GCC
       # -m*, -t[45]*, -txscale* pass through architecture-specific
       # compiler args for GCC
-      # -pg pass through profiling flag for GCC
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
       # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
-      -t[45]*|-txscale*|@*)
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
 
 	# Unknown arguments in both finalize_command and compile_command need
 	# to be aesthetically quoted because they are evaled later.
@@ -1651,9 +1734,9 @@
 
       -no-install)
 	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
 	  # The PATH hackery in wrapper scripts is required on Windows
-	  # in order for the loader to find any dlls it needs.
+	  # and Darwin in order for the loader to find any dlls it needs.
 	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1&gt;&amp;2
 	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1&gt;&amp;2
 	  fast_install=no
@@ -1712,7 +1795,7 @@
 	continue
 	;;
 
-      -static)
+      -static | -static-libtool-libs)
 	# The effects of -static are defined in a previous loop.
 	# We used to do the same as -all-static on platforms that
 	# didn't have a PIC flag, but the assumption that the effects
@@ -2082,10 +2165,7 @@
 	case $pass in
 	dlopen) libs="$dlfiles" ;;
 	dlpreopen) libs="$dlprefiles" ;;
-	link)
-	  libs="$deplibs %DEPLIBS%"
-	  test "X$link_all_deplibs" != Xno &amp;&amp; libs="$libs $dependency_libs"
-	  ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 	esac
       fi
       if test "$pass" = dlopen; then
@@ -2097,13 +2177,36 @@
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
 	    compiler_flags="$compiler_flags $deplib"
 	  fi
+
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv &amp;&amp; continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    ;;
+	  *)
+	    ;;
+	  esac # linkmode
+
 	  continue
 	  ;;
 	-l*)
@@ -2112,7 +2215,12 @@
 	    continue
 	  fi
 	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path;
do
+	  if test "$linkmode" = lib; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path
$shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
 	    for search_ext in .la $std_shrext .so .a; do
 	      # Search the libtool library
 	      lib="$searchdir/lib${name}${search_ext}"
@@ -2493,7 +2601,9 @@
 
 	if test "$linkmode,$pass" = "prog,link"; then
 	  if test -n "$library_names" &amp;&amp;
-	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
+	     { { test "$prefer_static_libs" = no ||
+		 test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	       test -z "$old_library"; }; then
 	    # We need to hardcode the library path
 	    if test -n "$shlibpath_var" &amp;&amp; test -z "$avoidtemprpath" ; then
 	      # Make sure the rpath contains only unique directories.
@@ -2906,12 +3016,18 @@
 		  # we do not want to link against static libs,
 		  # but need to link against shared
 		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -n "$deplibrary_names" ; then
 		    for tmp in $deplibrary_names ; do
 		      depdepl=$tmp
 		    done
-		    if test -f "$path/$depdepl" ; then
+		    if test -f "$deplibdir/$depdepl" ; then
+		      depdepl="$deplibdir/$depdepl"
+	      	    elif test -f "$path/$depdepl" ; then
 		      depdepl="$path/$depdepl"
+		    else
+		      # Can't find it, oh well...
+		      depdepl=
 		    fi
 		    # do not add paths which are already there
 		    case " $newlib_search_path " in
@@ -3059,9 +3175,10 @@
 
     case $linkmode in
     oldlib)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1&gt;&amp;2
-      fi
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1&gt;&amp;2 ;;
+      esac
 
       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1&gt;&amp;2
@@ -3189,7 +3306,7 @@
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
-	  darwin|linux|osf|windows)
+	  darwin|linux|osf|windows|none)
 	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_revision"
@@ -3200,14 +3317,10 @@
 	    age="0"
 	    ;;
 	  irix|nonstopux)
-	    current=`expr $number_major + $number_minor - 1`
+	    current=`expr $number_major + $number_minor`
 	    age="$number_minor"
 	    revision="$number_minor"
-	    ;;
-	  *)
-	    $echo "$modename: unknown library version type \`$version_type'" 1&gt;&amp;2
-	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1&gt;&amp;2
-	    exit $EXIT_FAILURE
+	    lt_irix_increment=no
 	    ;;
 	  esac
 	  ;;
@@ -3266,7 +3379,8 @@
 	  versuffix="$major.$age.$revision"
 	  # Darwin ld doesn't like 0 for these options...
 	  minor_current=`expr $current + 1`
-	  verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 	  ;;
 
 	freebsd-aout)
@@ -3280,8 +3394,11 @@
 	  ;;
 
 	irix | nonstopux)
-	  major=`expr $current - $age + 1`
-
+	  if test "X$lt_irix_increment" = "Xno"; then
+	    major=`expr $current - $age`
+	  else
+	    major=`expr $current - $age + 1`
+	  fi
 	  case $version_type in
 	    nonstopux) verstring_prefix=nonstopux ;;
 	    *)         verstring_prefix=sgi ;;
@@ -3418,11 +3535,11 @@
       fi
 
       # Eliminate all temporary directories.
-      for path in $notinst_path; do
-	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
-      done
+      #for path in $notinst_path; do
+      #	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
+      #	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
+      #	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      #done
 
       if test -n "$xrpath"; then
 	# If the user specified any rpath flags, then add them.
@@ -3523,13 +3640,12 @@
 	  int main() { return 0; }
 EOF
 	  $rm conftest
-	  $LTCC $LTCFLAGS -o conftest conftest.c $deplibs
-	  if test "$?" -eq 0 ; then
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
 	    ldd_output=`ldd conftest`
 	    for i in $deplibs; do
 	      name=`expr $i : '-l\(.*\)'`
 	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" &amp;&amp; test "$name" -ne "0"; then
+              if test "$name" != "" &amp;&amp; test "$name" != "0"; then
 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
@@ -3568,9 +3684,7 @@
 	      # If $name is empty we are operating on a -L argument.
               if test "$name" != "" &amp;&amp; test "$name" != "0"; then
 		$rm conftest
-		$LTCC $LTCFLAGS -o conftest conftest.c $i
-		# Did it work?
-		if test "$?" -eq 0 ; then
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
 		  ldd_output=`ldd conftest`
 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		    case " $predeps $postdeps " in
@@ -3602,7 +3716,7 @@
 		  droppeddeps=yes
 		  $echo
 		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $echo "***  make it link in!  You will probably need to install it or some"
+		  $echo "*** make it link in!  You will probably need to install it or some"
 		  $echo "*** library that it depends on before this library will be fully"
 		  $echo "*** functional.  Installing it before continuing would be even better."
 		fi
@@ -3888,7 +4002,10 @@
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	      case $archive_cmds in
+	      *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
+	      *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
+	      esac
 	    else
 	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 	    fi
@@ -4198,9 +4315,10 @@
       ;;
 
     obj)
-      if test -n "$deplibs"; then
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1&gt;&amp;2
-      fi
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1&gt;&amp;2 ;;
+      esac
 
       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
 	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1&gt;&amp;2
@@ -4247,12 +4365,14 @@
       reload_conv_objs=
       gentop=
       # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
       wl=
 
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
-	  eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
 	  generated="$generated $gentop"
@@ -4700,19 +4820,22 @@
           case $host in
           *cygwin* | *mingw* )
             if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def
$output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def
$output_objdir/${outputname}S.${objext}%"`
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def
$output_objdir/${outputname}S.${objext}%" | $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def
$output_objdir/${outputname}S.${objext}%" | $NL2SP`
             else
-              compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-              finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"
| $NL2SP`
+              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"
| $NL2SP`
              fi
             ;;
           * )
-            compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
-            finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
+            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"
| $NL2SP`
+            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"
| $NL2SP`
             ;;
           esac
 	  ;;
+	*-*-freebsd*)
+	  # FreeBSD doesn't need this...
+	  ;;
 	*)
 	  $echo "$modename: unknown suffix for \`$dlsyms'" 1&gt;&amp;2
 	  exit $EXIT_FAILURE
@@ -4724,13 +4847,13 @@
 	# really was required.
 
 	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-	finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
       fi
 
       if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
 	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g'
| $NL2SP`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
@@ -4817,7 +4940,7 @@
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed
-e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -4854,7 +4977,7 @@
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+	relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       fi
 
       # Quote $echo for shipping.
@@ -5261,6 +5384,20 @@
 Xsed='${SED} -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
+# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+if test -n \"\${ZSH_VERSION+set}\" &amp;&amp; (emulate sh) &gt;/dev/null 2&gt;&amp;1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2&gt;/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
 (unset CDPATH) &gt;/dev/null 2&gt;&amp;1 &amp;&amp; unset CDPATH
@@ -5403,7 +5540,7 @@
 	  ;;
 	esac
 	$echo &gt;&gt; $output "\
-      \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
+      \$echo \"\$0: cannot exec \$program \$*\"
       exit $EXIT_FAILURE
     fi
   else
@@ -5589,7 +5726,7 @@
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args
@inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
@@ -5934,9 +6071,9 @@
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir
$inst_prefix_dir%"`
+	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir
$inst_prefix_dir%" | $NL2SP`
 	  else
-	    relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
 	  fi
 
 	  $echo "$modename: warning: relinking \`$file'" 1&gt;&amp;2
@@ -6145,7 +6282,7 @@
 	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
 	      outputname="$tmpdir/$file"
 	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+	      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'
| $NL2SP`
 
 	      $show "$relink_command"
 	      if $run eval "$relink_command"; then :
@@ -6356,8 +6493,10 @@
 	if test -f "$dir/$objdir/$dlname"; then
 	  dir="$dir/$objdir"
 	else
-	  $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1&gt;&amp;2
-	  exit $EXIT_FAILURE
+	  if test ! -f "$dir/$dlname"; then
+	    $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1&gt;&amp;2
+	    exit $EXIT_FAILURE
+	  fi
 	fi
 	;;
 
@@ -6421,12 +6560,12 @@
       fi
 
       # Restore saved environment variables
-      if test "${save_LC_ALL+set}" = set; then
-	LC_ALL="$save_LC_ALL"; export LC_ALL
-      fi
-      if test "${save_LANG+set}" = set; then
-	LANG="$save_LANG"; export LANG
-      fi
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+		$lt_var=\$save_$lt_var; export $lt_var
+	      fi"
+      done
 
       # Now prepare to actually exec the command.
       exec_cmd="\$cmd$args"
@@ -6783,9 +6922,9 @@
   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
   -export-symbols SYMFILE
-		    try to export only the symbols listed in SYMFILE
+                    try to export only the symbols listed in SYMFILE
   -export-symbols-regex REGEX
-		    try to export only the symbols matching REGEX
+                    try to export only the symbols matching REGEX
   -LLIBDIR          search LIBDIR for required installed libraries
   -lNAME            OUTPUT-FILE requires the installed library libNAME
   -module           build a library that can dlopened
@@ -6799,9 +6938,11 @@
   -release RELEASE  specify package release information
   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of libtool libraries
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
   -version-info CURRENT[:REVISION[:AGE]]
-		    specify library version info [each variable defaults to 0]
+                    specify library version info [each variable defaults to 0]
 
 All other options (arguments beginning with \`-') are ignored.
 



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788155 [4/4] - in /tcl/rivet/trunk: ./ tclconfig/</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624194150.A8FC123888EA@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624194150-A8FC123888EA@eris-apache-org%3e</id>
<updated>2009-06-24T19:41:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/tclconfig/tcl.m4
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/tcl.m4?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/tcl.m4 (original)
+++ tcl/rivet/trunk/tclconfig/tcl.m4 Wed Jun 24 19:41:49 2009
@@ -15,7 +15,7 @@
 
 dnl TEA extensions pass us the version of TEA they think they
 dnl are compatible with (must be set in TEA_INIT below)
-dnl TEA_VERSION="3.6"
+dnl TEA_VERSION="3.7"
 
 # Possible values for key variables defined:
 #
@@ -43,7 +43,7 @@
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_PATH_TCLCONFIG], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_INIT])
     #
     # Ok, lets find the tcl configuration
@@ -92,6 +92,11 @@
 			`ls -dr ../../../tcl[[8-9]].[[0-9]].[[0-9]]* 2&gt;/dev/null` \
 			`ls -dr ../../../tcl[[8-9]].[[0-9]] 2&gt;/dev/null` \
 			`ls -dr ../../../tcl[[8-9]].[[0-9]]* 2&gt;/dev/null` ; do
+		    if test "${TEA_PLATFORM}" = "windows" \
+			    -a -f "$i/win/tclConfig.sh" ; then
+			ac_cv_c_tclconfig=`(cd $i/win; pwd)`
+			break
+		    fi
 		    if test -f "$i/unix/tclConfig.sh" ; then
 			ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
 			break
@@ -113,7 +118,7 @@
 		done
 	    fi
 
-	    # on Windows, check in common installation locations
+	    # TEA specific: on Windows, check in common installation locations
 	    if test "${TEA_PLATFORM}" = "windows" \
 		-a x"${ac_cv_c_tclconfig}" = x ; then
 		for i in `ls -d C:/Tcl/lib 2&gt;/dev/null` \
@@ -149,6 +154,11 @@
 			`ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]].[[0-9]]* 2&gt;/dev/null` \
 			`ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]] 2&gt;/dev/null` \
 			`ls -dr ${srcdir}/../tcl[[8-9]].[[0-9]]* 2&gt;/dev/null` ; do
+		    if test "${TEA_PLATFORM}" = "windows" \
+			    -a -f "$i/win/tclConfig.sh" ; then
+			ac_cv_c_tclconfig=`(cd $i/win; pwd)`
+			break
+		    fi
 		    if test -f "$i/unix/tclConfig.sh" ; then
 		    ac_cv_c_tclconfig=`(cd $i/unix; pwd)`
 		    break
@@ -159,8 +169,7 @@
 
 	if test x"${ac_cv_c_tclconfig}" = x ; then
 	    TCL_BIN_DIR="# no Tcl configs found"
-	    AC_MSG_WARN([Can't find Tcl configuration definitions])
-	    exit 0
+	    AC_MSG_ERROR([Can't find Tcl configuration definitions])
 	else
 	    no_tcl=
 	    TCL_BIN_DIR=${ac_cv_c_tclconfig}
@@ -235,6 +244,11 @@
 			`ls -dr ../../../tk[[8-9]].[[0-9]].[[0-9]]* 2&gt;/dev/null` \
 			`ls -dr ../../../tk[[8-9]].[[0-9]] 2&gt;/dev/null` \
 			`ls -dr ../../../tk[[8-9]].[[0-9]]* 2&gt;/dev/null` ; do
+		    if test "${TEA_PLATFORM}" = "windows" \
+			    -a -f "$i/win/tkConfig.sh" ; then
+			ac_cv_c_tkconfig=`(cd $i/win; pwd)`
+			break
+		    fi
 		    if test -f "$i/unix/tkConfig.sh" ; then
 			ac_cv_c_tkconfig=`(cd $i/unix; pwd)`
 			break
@@ -272,7 +286,7 @@
 		done
 	    fi
 
-	    # on Windows, check in common installation locations
+	    # TEA specific: on Windows, check in common installation locations
 	    if test "${TEA_PLATFORM}" = "windows" \
 		-a x"${ac_cv_c_tkconfig}" = x ; then
 		for i in `ls -d C:/Tcl/lib 2&gt;/dev/null` \
@@ -292,6 +306,11 @@
 			`ls -dr ${srcdir}/../tk[[8-9]].[[0-9]].[[0-9]]* 2&gt;/dev/null` \
 			`ls -dr ${srcdir}/../tk[[8-9]].[[0-9]] 2&gt;/dev/null` \
 			`ls -dr ${srcdir}/../tk[[8-9]].[[0-9]]* 2&gt;/dev/null` ; do
+		    if test "${TEA_PLATFORM}" = "windows" \
+			    -a -f "$i/win/tkConfig.sh" ; then
+			ac_cv_c_tkconfig=`(cd $i/win; pwd)`
+			break
+		    fi
 		    if test -f "$i/unix/tkConfig.sh" ; then
 			ac_cv_c_tkconfig=`(cd $i/unix; pwd)`
 			break
@@ -302,8 +321,7 @@
 
 	if test x"${ac_cv_c_tkconfig}" = x ; then
 	    TK_BIN_DIR="# no Tk configs found"
-	    AC_MSG_WARN([Can't find Tk configuration definitions])
-	    exit 0
+	    AC_MSG_ERROR([Can't find Tk configuration definitions])
 	else
 	    no_tk=
 	    TK_BIN_DIR=${ac_cv_c_tkconfig}
@@ -318,7 +336,7 @@
 #	Load the tclConfig.sh file
 #
 # Arguments:
-#	
+#
 #	Requires the following vars to be set:
 #		TCL_BIN_DIR
 #
@@ -358,7 +376,7 @@
     elif test "`uname -s`" = "Darwin"; then
 	# If Tcl was built as a framework, attempt to use the libraries
 	# from the framework at the given location so that linking works
-	# against Tcl.framework installed in an arbitary location.
+	# against Tcl.framework installed in an arbitrary location.
 	case ${TCL_DEFS} in
 	    *TCL_FRAMEWORK*)
 		if test -f "${TCL_BIN_DIR}/${TCL_LIB_FILE}"; then
@@ -396,6 +414,7 @@
     AC_SUBST(TCL_STUB_LIB_FLAG)
     AC_SUBST(TCL_STUB_LIB_SPEC)
 
+    # TEA specific:
     AC_SUBST(TCL_LIBS)
     AC_SUBST(TCL_DEFS)
     AC_SUBST(TCL_EXTRA_CFLAGS)
@@ -409,7 +428,7 @@
 #	Load the tkConfig.sh file
 #
 # Arguments:
-#	
+#
 #	Requires the following vars to be set:
 #		TK_BIN_DIR
 #
@@ -446,7 +465,7 @@
     elif test "`uname -s`" = "Darwin"; then
 	# If Tk was built as a framework, attempt to use the libraries
 	# from the framework at the given location so that linking works
-	# against Tk.framework installed in an arbitary location.
+	# against Tk.framework installed in an arbitrary location.
 	case ${TK_DEFS} in
 	    *TK_FRAMEWORK*)
 		if test -f "${TK_BIN_DIR}/${TK_LIB_FILE}"; then
@@ -472,7 +491,7 @@
     eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\""
     eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\""
 
-    # Ensure windowingsystem is defined
+    # TEA specific: Ensure windowingsystem is defined
     if test "${TEA_PLATFORM}" = "unix" ; then
 	case ${TK_DEFS} in
 	    *MAC_OSX_TK*)
@@ -499,11 +518,112 @@
     AC_SUBST(TK_STUB_LIB_FLAG)
     AC_SUBST(TK_STUB_LIB_SPEC)
 
+    # TEA specific:
     AC_SUBST(TK_LIBS)
     AC_SUBST(TK_XINCLUDES)
 ])
 
 #------------------------------------------------------------------------
+# TEA_PROG_TCLSH
+#	Determine the fully qualified path name of the tclsh executable
+#	in the Tcl build directory or the tclsh installed in a bin
+#	directory. This macro will correctly determine the name
+#	of the tclsh executable even if tclsh has not yet been
+#	built in the build directory. The tclsh found is always
+#	associated with a tclConfig.sh file. This tclsh should be used
+#	only for running extension test cases. It should never be
+#	or generation of files (like pkgIndex.tcl) at build time.
+#
+# Arguments
+#	none
+#
+# Results
+#	Subst's the following values:
+#		TCLSH_PROG
+#------------------------------------------------------------------------
+
+AC_DEFUN([TEA_PROG_TCLSH], [
+    AC_MSG_CHECKING([for tclsh])
+    if test -f "${TCL_BIN_DIR}/Makefile" ; then
+        # tclConfig.sh is in Tcl build directory
+        if test "${TEA_PLATFORM}" = "windows"; then
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
+        else
+            TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
+        fi
+    else
+        # tclConfig.sh is in install location
+        if test "${TEA_PLATFORM}" = "windows"; then
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
+        else
+            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
+        fi
+        list="`ls -d ${TCL_BIN_DIR}/../bin 2&gt;/dev/null` \
+              `ls -d ${TCL_BIN_DIR}/..     2&gt;/dev/null` \
+              `ls -d ${TCL_PREFIX}/bin     2&gt;/dev/null`"
+        for i in $list ; do
+            if test -f "$i/${TCLSH_PROG}" ; then
+                REAL_TCL_BIN_DIR="`cd "$i"; pwd`/"
+                break
+            fi
+        done
+        TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}"
+    fi
+    AC_MSG_RESULT([${TCLSH_PROG}])
+    AC_SUBST(TCLSH_PROG)
+])
+
+#------------------------------------------------------------------------
+# TEA_PROG_WISH
+#	Determine the fully qualified path name of the wish executable
+#	in the Tk build directory or the wish installed in a bin
+#	directory. This macro will correctly determine the name
+#	of the wish executable even if wish has not yet been
+#	built in the build directory. The wish found is always
+#	associated with a tkConfig.sh file. This wish should be used
+#	only for running extension test cases. It should never be
+#	or generation of files (like pkgIndex.tcl) at build time.
+#
+# Arguments
+#	none
+#
+# Results
+#	Subst's the following values:
+#		WISH_PROG
+#------------------------------------------------------------------------
+
+AC_DEFUN([TEA_PROG_WISH], [
+    AC_MSG_CHECKING([for wish])
+    if test -f "${TK_BIN_DIR}/Makefile" ; then
+        # tkConfig.sh is in Tk build directory
+        if test "${TEA_PLATFORM}" = "windows"; then
+            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
+        else
+            WISH_PROG="${TK_BIN_DIR}/wish"
+        fi
+    else
+        # tkConfig.sh is in install location
+        if test "${TEA_PLATFORM}" = "windows"; then
+            WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
+        else
+            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
+        fi
+        list="`ls -d ${TK_BIN_DIR}/../bin 2&gt;/dev/null` \
+              `ls -d ${TK_BIN_DIR}/..     2&gt;/dev/null` \
+              `ls -d ${TK_PREFIX}/bin     2&gt;/dev/null`"
+        for i in $list ; do
+            if test -f "$i/${WISH_PROG}" ; then
+                REAL_TK_BIN_DIR="`cd "$i"; pwd`/"
+                break
+            fi
+        done
+        WISH_PROG="${REAL_TK_BIN_DIR}${WISH_PROG}"
+    fi
+    AC_MSG_RESULT([${WISH_PROG}])
+    AC_SUBST(WISH_PROG)
+])
+
+#------------------------------------------------------------------------
 # TEA_ENABLE_SHARED --
 #
 #	Allows the building of shared libraries
@@ -600,7 +720,7 @@
 
 	if test "${TEA_PLATFORM}" != "windows" ; then
 	    # We are always OK on Windows, so check what this platform wants:
-    
+
 	    # USE_THREAD_ALLOC tells us to try the special thread-based
 	    # allocator that significantly reduces lock contention
 	    AC_DEFINE(USE_THREAD_ALLOC, 1,
@@ -689,13 +809,13 @@
 #
 # Arguments:
 #	none
-#	
+#
 #	TEA varies from core Tcl in that C|LDFLAGS_DEFAULT receives
 #	the value of C|LDFLAGS_OPTIMIZE|DEBUG already substituted.
 #	Requires the following vars to be set in the Makefile:
 #		CFLAGS_DEFAULT
 #		LDFLAGS_DEFAULT
-#	
+#
 # Results:
 #
 #	Adds the following arguments to configure:
@@ -712,7 +832,7 @@
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_ENABLE_SYMBOLS], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_CONFIG_CFLAGS])
     AC_MSG_CHECKING([for build with symbols])
     AC_ARG_ENABLE(symbols,
@@ -731,13 +851,13 @@
 	    AC_MSG_RESULT([yes (standard debugging)])
 	fi
     fi
+    # TEA specific:
     if test "${TEA_PLATFORM}" != "windows" ; then
 	LDFLAGS_DEFAULT="${LDFLAGS}"
     fi
-
-    AC_SUBST(TCL_DBGX)
     AC_SUBST(CFLAGS_DEFAULT)
     AC_SUBST(LDFLAGS_DEFAULT)
+    AC_SUBST(TCL_DBGX)
 
     if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then
 	AC_DEFINE(TCL_MEM_DEBUG, 1, [Is memory debugging enabled?])
@@ -760,7 +880,7 @@
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Adds the following arguments to configure:
@@ -790,7 +910,7 @@
 	if test $tcl_cv_langinfo_h = yes; then
 	    AC_DEFINE(HAVE_LANGINFO, 1, [Do we have nl_langinfo()?])
 	fi
-    else 
+    else
 	AC_MSG_RESULT([$langinfo_ok])
     fi
 ])
@@ -815,6 +935,7 @@
 
 AC_DEFUN([TEA_CONFIG_SYSTEM], [
     AC_CACHE_CHECK([system version], tcl_cv_sys_version, [
+	# TEA specific:
 	if test "${TEA_PLATFORM}" = "windows" ; then
 	    tcl_cv_sys_version=windows
 	elif test -f /usr/lib/NextStep/software_version; then
@@ -917,7 +1038,7 @@
 #--------------------------------------------------------------------
 
 AC_DEFUN([TEA_CONFIG_CFLAGS], [
-    dnl Make sure we are initialized
+    dnl TEA specific: Make sure we are initialized
     AC_REQUIRE([TEA_INIT])
 
     # Step 0.a: Enable 64 bit support?
@@ -937,19 +1058,45 @@
 	    [enable 64bit Sparc VIS support (default: off)]),
 	[do64bitVIS=$enableval], [do64bitVIS=no])
     AC_MSG_RESULT([$do64bitVIS])
+    # Force 64bit on with VIS
+    AS_IF([test "$do64bitVIS" = "yes"], [do64bit=yes])
 
-    if test "$do64bitVIS" = "yes"; then
-	# Force 64bit on with VIS
-	do64bit=yes
-    fi
+    # Step 0.c: Check if visibility support is available. Do this here so
+    # that platform specific alternatives can be used below if this fails.
+
+    AC_CACHE_CHECK([if compiler supports visibility "hidden"],
+	tcl_cv_cc_visibility_hidden, [
+	hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -Werror"
+	AC_TRY_LINK([
+	    extern __attribute__((__visibility__("hidden"))) void f(void);
+	    void f(void) {}], [f();], tcl_cv_cc_visibility_hidden=yes,
+	    tcl_cv_cc_visibility_hidden=no)
+	CFLAGS=$hold_cflags])
+    AS_IF([test $tcl_cv_cc_visibility_hidden = yes], [
+	AC_DEFINE(MODULE_SCOPE,
+	    [extern __attribute__((__visibility__("hidden")))],
+	    [Compiler support for module scope symbols])
+    ])
 
-    # Step 0.c: Cross-compiling options for Windows/CE builds?
+    # Step 0.d: Disable -rpath support?
 
-    if test "${TEA_PLATFORM}" = "windows" ; then
+    AC_MSG_CHECKING([if rpath support is requested])
+    AC_ARG_ENABLE(rpath,
+	AC_HELP_STRING([--disable-rpath],
+	    [disable rpath support (default: on)]),
+	[doRpath=$enableval], [doRpath=yes])
+    AC_MSG_RESULT([$doRpath])
+
+    # TEA specific: Cross-compiling options for Windows/CE builds?
+
+    AS_IF([test "${TEA_PLATFORM}" = windows], [
 	AC_MSG_CHECKING([if Windows/CE build is requested])
-	AC_ARG_ENABLE(wince,[  --enable-wince          enable Win/CE support (where applicable)], [doWince=$enableval], [doWince=no])
+	AC_ARG_ENABLE(wince,
+	    AC_HELP_STRING([--enable-wince],
+		[enable Win/CE support (where applicable)]),
+	    [doWince=$enableval], [doWince=no])
 	AC_MSG_RESULT([$doWince])
-    fi
+    ])
 
     # Step 1: set the variable "system" to hold the name and version number
     # for the system.
@@ -977,17 +1124,17 @@
     LDFLAGS_ARCH=""
     TCL_EXPORT_FILE_SUFFIX=""
     UNSHARED_LIB_SUFFIX=""
+    # TEA specific: use PACKAGE_VERSION instead of VERSION
     TCL_TRIM_DOTS='`echo ${PACKAGE_VERSION} | tr -d .`'
     ECHO_VERSION='`echo ${PACKAGE_VERSION}`'
     TCL_LIB_VERSIONS_OK=ok
     CFLAGS_DEBUG=-g
     CFLAGS_OPTIMIZE=-O
-    if test "$GCC" = "yes" ; then
+    AS_IF([test "$GCC" = yes], [
+	# TEA specific:
 	CFLAGS_OPTIMIZE=-O2
-	CFLAGS_WARNING="-Wall -Wno-implicit-int"
-    else
-	CFLAGS_WARNING=""
-    fi
+	CFLAGS_WARNING="-Wall"
+    ], [CFLAGS_WARNING=""])
     TCL_NEEDS_EXP_FILE=0
     TCL_BUILD_EXP_FILE=""
     TCL_EXP_FILE=""
@@ -996,7 +1143,9 @@
     AC_CHECK_PROG(AR, ar, ar)
     STLIB_LD='${AR} cr'
     LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH"
+    AS_IF([test "x$SHLIB_VERSION" = x],[SHLIB_VERSION="1.0"])
     case $system in
+	# TEA specific:
 	windows)
 	    # This is a 2-stage check to make sure we have the 64-bit SDK
 	    # We have to know where the SDK is installed.
@@ -1160,8 +1309,10 @@
 		PATHTYPE=-w
 		# For information on what debugtype is most useful, see:
 		# http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
+		# and also
+		# http://msdn2.microsoft.com/en-us/library/y0zzbyt4%28VS.80%29.aspx
 		# This essentially turns it all on.
-		LDFLAGS_DEBUG="-debug:full -debugtype:both -warn:2"
+		LDFLAGS_DEBUG="-debug -debugtype:cv"
 		LDFLAGS_OPTIMIZE="-release"
 		if test "$doWince" != "no" ; then
 		    LDFLAGS_CONSOLE="-link ${lflags}"
@@ -1181,18 +1332,19 @@
 	    DL_OBJS="tclLoadNone.obj"
     	    ;;
 	AIX-*)
-	    if test "${TCL_THREADS}" = "1" -a "$GCC" != "yes" ; then
+	    AS_IF([test "${TCL_THREADS}" = "1" -a "$GCC" != "yes"], [
 		# AIX requires the _r compiler when gcc isn't being used
 		case "${CC}" in
-		    *_r)
+		    *_r|*_r\ *)
 			# ok ...
 			;;
 		    *)
-			CC=${CC}_r
+			# Make sure only first arg gets _r
+		    	CC=`echo "$CC" | sed -e 's/^\([[^ ]]*\)/\1_r/'`
 			;;
 		esac
 		AC_MSG_RESULT([Using $CC for compiling with threads])
-	    fi
+	    ])
 	    LIBS="$LIBS -lc"
 	    SHLIB_CFLAGS=""
 	    SHLIB_LD_LIBS='${LIBS}'
@@ -1202,49 +1354,48 @@
 	    LD_LIBRARY_PATH_VAR="LIBPATH"
 
 	    # Check to enable 64-bit flags for compiler/linker on AIX 4+
-	    if test "$do64bit" = "yes" -a "`uname -v`" -gt "3" ; then
-		if test "$GCC" = "yes" ; then
+	    AS_IF([test "$do64bit" = yes -a "`uname -v`" -gt 3], [
+		AS_IF([test "$GCC" = yes], [
 		    AC_MSG_WARN([64bit mode not supported with GCC on $system])
-		else 
+		], [
 		    do64bit_ok=yes
 		    CFLAGS="$CFLAGS -q64"
 		    LDFLAGS_ARCH="-q64"
 		    RANLIB="${RANLIB} -X64"
 		    AR="${AR} -X64"
 		    SHLIB_LD_FLAGS="-b64"
-		fi
-	    fi
+		])
+	    ])
 
-	    if test "`uname -m`" = "ia64" ; then
+	    AS_IF([test "`uname -m`" = ia64], [
 		# AIX-5 uses ELF style dynamic libraries on IA-64, but not PPC
 		SHLIB_LD="/usr/ccs/bin/ld -G -z text"
 		# AIX-5 has dl* in libc.so
 		DL_LIBS=""
-		if test "$GCC" = "yes" ; then
+		AS_IF([test "$GCC" = yes], [
 		    CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
-		else
+		], [
 		    CC_SEARCH_FLAGS='-R${LIB_RUNTIME_DIR}'
-		fi
+		])
 		LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-	    else
-		if test "$GCC" = "yes" ; then
-		    SHLIB_LD="gcc -shared"
-		else
+	    ], [
+		AS_IF([test "$GCC" = yes], [SHLIB_LD='${CC} -shared'], [
 		    SHLIB_LD="/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"
-		fi
+		])
 		SHLIB_LD="${TCL_SRC_DIR}/unix/ldAix ${SHLIB_LD} ${SHLIB_LD_FLAGS}"
 		DL_LIBS="-ldl"
 		CC_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'
 		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
 		TCL_NEEDS_EXP_FILE=1
+		# TEA specific: use PACKAGE_VERSION instead of VERSION
 		TCL_EXPORT_FILE_SUFFIX='${PACKAGE_VERSION}.exp'
-	    fi
+	    ])
 
 	    # AIX v&lt;=4.1 has some different flags than 4.2+
-	    if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
+	    AS_IF([test "$system" = "AIX-4.1" -o "`uname -v`" -lt 4], [
 		AC_LIBOBJ([tclLoadAix])
 		DL_LIBS="-lld"
-	    fi
+	    ])
 
 	    # On AIX &lt;=v4 systems, libbsd.a has to be linked in to support
 	    # non-blocking file IO.  This library has to be linked in after
@@ -1259,14 +1410,14 @@
 	    # known GMT value.
 
 	    AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes, libbsd=no)
-	    if test $libbsd = yes; then
+	    AS_IF([test $libbsd = yes], [
 	    	MATH_LIBS="$MATH_LIBS -lbsd"
 	    	AC_DEFINE(USE_DELTA_FOR_TZ, 1, [Do we need a special AIX hack for timezones?])
-	    fi
+	    ])
 	    ;;
 	BeOS*)
 	    SHLIB_CFLAGS="-fPIC"
-	    SHLIB_LD="${CC} -nostart"
+	    SHLIB_LD='${CC} -nostart'
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1291,7 +1442,7 @@
 	    ;;
 	BSD/OS-4.*)
 	    SHLIB_CFLAGS="-export-dynamic -fPIC"
-	    SHLIB_LD="cc -shared"
+	    SHLIB_LD='${CC} -shared'
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1302,7 +1453,7 @@
 	    ;;
 	dgux*)
 	    SHLIB_CFLAGS="-K PIC"
-	    SHLIB_LD="cc -G"
+	    SHLIB_LD='${CC} -G'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1313,68 +1464,67 @@
 	HP-UX-*.11.*)
 	    # Use updated header definitions where possible
 	    AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, [Do we want to use the XOPEN network library?])
-	    # Needed by Tcl, but not most extensions
+	    # TEA specific: Needed by Tcl, but not most extensions
 	    #AC_DEFINE(_XOPEN_SOURCE, 1, [Do we want to use the XOPEN network library?])
 	    #LIBS="$LIBS -lxnet"               # Use the XOPEN network library
 
-	    if test "`uname -m`" = "ia64" ; then
+	    AS_IF([test "`uname -m`" = ia64], [
 		SHLIB_SUFFIX=".so"
 		# Use newer C++ library for C++ extensions
 		#if test "$GCC" != "yes" ; then
 		#   CPPFLAGS="-AA"
 		#fi
-	    else
+	    ], [
 		SHLIB_SUFFIX=".sl"
-	    fi
+	    ])
 	    AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no)
-	    if test "$tcl_ok" = yes; then
-		SHLIB_CFLAGS="+z"
-		SHLIB_LD="ld -b"
+	    AS_IF([test "$tcl_ok" = yes], [
 		SHLIB_LD_LIBS='${LIBS}'
 		DL_OBJS="tclLoadShl.o"
 		DL_LIBS="-ldld"
-		LDFLAGS="$LDFLAGS -Wl,-E"
+		LDFLAGS="$LDFLAGS -E"
 		CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
 		LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
 		LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-	    fi
-	    if test "$GCC" = "yes" ; then
-		SHLIB_LD="gcc -shared"
-		SHLIB_LD_LIBS='${LIBS}'
+	    ])
+	    AS_IF([test "$GCC" = yes], [
+		SHLIB_LD='${CC} -shared'
 		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-	    fi
-
-	    # Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
-	    #CFLAGS="$CFLAGS +DAportable"
+	    ], [
+		CFLAGS="$CFLAGS -z"
+		# Users may want PA-RISC 1.1/2.0 portable code - needs HP cc
+		#CFLAGS="$CFLAGS +DAportable"
+		SHLIB_CFLAGS="+z"
+		SHLIB_LD="ld -b"
+	    ])
 
 	    # Check to enable 64-bit flags for compiler/linker
-	    if test "$do64bit" = "yes" ; then
-		if test "$GCC" = "yes" ; then
-		    hpux_arch=`${CC} -dumpmachine`
-		    case $hpux_arch in
+	    AS_IF([test "$do64bit" = "yes"], [
+		AS_IF([test "$GCC" = yes], [
+		    case `${CC} -dumpmachine` in
 			hppa64*)
 			    # 64-bit gcc in use.  Fix flags for GNU ld.
 			    do64bit_ok=yes
-			    SHLIB_LD="${CC} -shared"
+			    SHLIB_LD='${CC} -shared'
 			    SHLIB_LD_LIBS='${LIBS}'
-			    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+			    AS_IF([test $doRpath = yes], [
+				CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
 			    LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
 			    ;;
 			*)
 			    AC_MSG_WARN([64bit mode not supported with GCC on $system])
 			    ;;
 		    esac
-		else
+		], [
 		    do64bit_ok=yes
 		    CFLAGS="$CFLAGS +DD64"
 		    LDFLAGS_ARCH="+DD64"
-		fi
-	    fi
-	    ;;
+		])
+	    ]) ;;
 	HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*)
 	    SHLIB_SUFFIX=".sl"
 	    AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no)
-	    if test "$tcl_ok" = yes; then
+	    AS_IF([test "$tcl_ok" = yes], [
 		SHLIB_CFLAGS="+z"
 		SHLIB_LD="ld -b"
 		SHLIB_LD_LIBS=""
@@ -1384,8 +1534,7 @@
 		CC_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'
 		LD_SEARCH_FLAGS='+s +b ${LIB_RUNTIME_DIR}:.'
 		LD_LIBRARY_PATH_VAR="SHLIB_PATH"
-	    fi
-	    ;;
+	    ]) ;;
 	IRIX-5.*)
 	    SHLIB_CFLAGS=""
 	    SHLIB_LD="ld -shared -rdata_shared"
@@ -1393,8 +1542,9 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
 	    ;;
 	IRIX-6.*)
 	    SHLIB_CFLAGS=""
@@ -1403,12 +1553,13 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-	    if test "$GCC" = "yes" ; then
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+	    AS_IF([test "$GCC" = yes], [
 		CFLAGS="$CFLAGS -mabi=n32"
 		LDFLAGS="$LDFLAGS -mabi=n32"
-	    else
+	    ], [
 		case $system in
 		    IRIX-6.3)
 			# Use to build 6.2 compatible binaries on 6.3.
@@ -1419,7 +1570,7 @@
 			;;
 		esac
 		LDFLAGS="$LDFLAGS -n32"
-	    fi
+	    ])
 	    ;;
 	IRIX64-6.*)
 	    SHLIB_CFLAGS=""
@@ -1428,65 +1579,63 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
 
 	    # Check to enable 64-bit flags for compiler/linker
 
-	    if test "$do64bit" = "yes" ; then
-	        if test "$GCC" = "yes" ; then
+	    AS_IF([test "$do64bit" = yes], [
+	        AS_IF([test "$GCC" = yes], [
 	            AC_MSG_WARN([64bit mode not supported by gcc])
-	        else
+	        ], [
 	            do64bit_ok=yes
 	            SHLIB_LD="ld -64 -shared -rdata_shared"
 	            CFLAGS="$CFLAGS -64"
 	            LDFLAGS_ARCH="-64"
-	        fi
-	    fi
+	        ])
+	    ])
 	    ;;
 	Linux*)
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 
+	    # TEA specific:
 	    CFLAGS_OPTIMIZE="-O2 -fomit-frame-pointer"
-	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings 
+	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings
 	    # when you inline the string and math operations.  Turn this off to
 	    # get rid of the warnings.
 	    #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
 
-	    # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+	    # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
 	    SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS_DEFAULT}'
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS="-ldl"
 	    LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
 	    LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-	    if test "`uname -m`" = "alpha" ; then
-		CFLAGS="$CFLAGS -mieee"
-	    fi
-	    if test $do64bit = yes; then
+	    AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
+	    AS_IF([test $do64bit = yes], [
 		AC_CACHE_CHECK([if compiler accepts -m64 flag], tcl_cv_cc_m64, [
 		    hold_cflags=$CFLAGS
 		    CFLAGS="$CFLAGS -m64"
 		    AC_TRY_LINK(,, tcl_cv_cc_m64=yes, tcl_cv_cc_m64=no)
 		    CFLAGS=$hold_cflags])
-		if test $tcl_cv_cc_m64 = yes; then
+		AS_IF([test $tcl_cv_cc_m64 = yes], [
 		    CFLAGS="$CFLAGS -m64"
 		    do64bit_ok=yes
-		fi
-	    fi
+		])
+	   ])
 
-	    # The combo of gcc + glibc has a bug related
-	    # to inlining of functions like strtod(). The
-	    # -fno-builtin flag should address this problem
-	    # but it does not work. The -fno-inline flag
-	    # is kind of overkill but it works.
-	    # Disable inlining only when one of the
+	    # The combo of gcc + glibc has a bug related to inlining of
+	    # functions like strtod(). The -fno-builtin flag should address
+	    # this problem but it does not work. The -fno-inline flag is kind
+	    # of overkill but it works. Disable inlining only when one of the
 	    # files in compat/*.c is being linked in.
-	    if test x"${USE_COMPAT}" != x ; then
-	        CFLAGS="$CFLAGS -fno-inline"
-	    fi
+
+	    AS_IF([test x"${USE_COMPAT}" != x],[CFLAGS="$CFLAGS -fno-inline"])
 
 	    ;;
 	GNU*)
@@ -1494,31 +1643,30 @@
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 
-	    SHLIB_LD="${CC} -shared"
+	    SHLIB_LD='${CC} -shared'
 	    DL_OBJS=""
 	    DL_LIBS="-ldl"
 	    LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
 	    CC_SEARCH_FLAGS=""
 	    LD_SEARCH_FLAGS=""
-	    if test "`uname -m`" = "alpha" ; then
-		CFLAGS="$CFLAGS -mieee"
-	    fi
+	    AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
 	    ;;
 	Lynx*)
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    CFLAGS_OPTIMIZE=-02
-	    SHLIB_LD="${CC} -shared "
+	    SHLIB_LD='${CC} -shared'
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS="-mshared -ldl"
 	    LD_FLAGS="-Wl,--export-dynamic"
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
 	    ;;
 	MP-RAS-02*)
 	    SHLIB_CFLAGS="-K PIC"
-	    SHLIB_LD="cc -G"
+	    SHLIB_LD='${CC} -G'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1528,7 +1676,7 @@
 	    ;;
 	MP-RAS-*)
 	    SHLIB_CFLAGS="-K PIC"
-	    SHLIB_LD="cc -G"
+	    SHLIB_LD='${CC} -G'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1537,27 +1685,27 @@
 	    CC_SEARCH_FLAGS=""
 	    LD_SEARCH_FLAGS=""
 	    ;;
-	NetBSD-*|FreeBSD-[[1-2]].*)
-	    # NetBSD/SPARC needs -fPIC, -fpic will not do.
+	NetBSD-1.*|FreeBSD-[[1-2]].*)
 	    SHLIB_CFLAGS="-fPIC"
 	    SHLIB_LD="ld -Bshareable -x"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
 	    AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [
 		AC_EGREP_CPP(yes, [
 #ifdef __ELF__
 	yes
 #endif
 		], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)])
-	    if test $tcl_cv_ld_elf = yes; then
+	    AS_IF([test $tcl_cv_ld_elf = yes], [
 		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so'
-	    else
-		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
-	    fi
+	    ], [
+		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}'
+	    ])
 
 	    # Ancient FreeBSD doesn't handle version numbers with dots.
 
@@ -1565,54 +1713,49 @@
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
 	OpenBSD-*)
-	    # OpenBSD/SPARC[64] needs -fPIC, -fpic will not do.
-	    case `machine` in
-	    sparc|sparc64)
-		SHLIB_CFLAGS="-fPIC";;
-	    *)
-		SHLIB_CFLAGS="-fpic";;
-	    esac
-	    SHLIB_LD="${CC} -shared ${SHLIB_CFLAGS}"
+	    SHLIB_CFLAGS="-fPIC"
+	    SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
 	    LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
+	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}'
 	    AC_CACHE_CHECK([for ELF], tcl_cv_ld_elf, [
 		AC_EGREP_CPP(yes, [
 #ifdef __ELF__
 	yes
 #endif
 		], tcl_cv_ld_elf=yes, tcl_cv_ld_elf=no)])
-	    if test $tcl_cv_ld_elf = yes; then
+	    AS_IF([test $tcl_cv_ld_elf = yes], [
 		LDFLAGS=-Wl,-export-dynamic
-	    else
-		LDFLAGS=""
-	    fi
+	    ], [LDFLAGS=""])
 
 	    # OpenBSD doesn't do version numbers with dots.
 	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
-	FreeBSD-*)
+	NetBSD-*|FreeBSD-*)
 	    # FreeBSD 3.* and greater have ELF.
+	    # NetBSD 2.* has ELF and can use 'cc -shared' to build shared libs
 	    SHLIB_CFLAGS="-fPIC"
-	    SHLIB_LD="ld -Bshareable -x"
+	    SHLIB_LD='${CC} -shared ${SHLIB_CFLAGS}'
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
 	    LDFLAGS="$LDFLAGS -export-dynamic"
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-	    if test "${TCL_THREADS}" = "1" ; then
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
+	    LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+	    AS_IF([test "${TCL_THREADS}" = "1"], [
 		# The -pthread needs to go in the CFLAGS, not LIBS
 		LIBS=`echo $LIBS | sed s/-pthread//`
 		CFLAGS="$CFLAGS -pthread"
 	    	LDFLAGS="$LDFLAGS -pthread"
-	    fi
+	    ])
 	    case $system in
 	    FreeBSD-3.*)
 	    	# FreeBSD-3 doesn't handle version numbers with dots.
@@ -1634,7 +1777,7 @@
 	    CFLAGS="`echo " ${CFLAGS}" | \
 		awk 'BEGIN {FS=" +-";ORS=" "}; {for (i=2;i&lt;=NF;i++) \
 		if (!([$]i~/^(isysroot|mmacosx-version-min)/)) print "-"[$]i}'`"
-	    if test $do64bit = yes; then
+	    AS_IF([test $do64bit = yes], [
 		case `arch` in
 		    ppc)
 			AC_CACHE_CHECK([if compiler accepts -arch ppc64 flag],
@@ -1644,10 +1787,10 @@
 			    AC_TRY_LINK(,, tcl_cv_cc_arch_ppc64=yes,
 				    tcl_cv_cc_arch_ppc64=no)
 			    CFLAGS=$hold_cflags])
-			if test $tcl_cv_cc_arch_ppc64 = yes; then
+			AS_IF([test $tcl_cv_cc_arch_ppc64 = yes], [
 			    CFLAGS="$CFLAGS -arch ppc64 -mpowerpc64 -mcpu=G5"
 			    do64bit_ok=yes
-			fi;;
+			]);;
 		    i386)
 			AC_CACHE_CHECK([if compiler accepts -arch x86_64 flag],
 				tcl_cv_cc_arch_x86_64, [
@@ -1656,59 +1799,99 @@
 			    AC_TRY_LINK(,, tcl_cv_cc_arch_x86_64=yes,
 				    tcl_cv_cc_arch_x86_64=no)
 			    CFLAGS=$hold_cflags])
-			if test $tcl_cv_cc_arch_x86_64 = yes; then
+			AS_IF([test $tcl_cv_cc_arch_x86_64 = yes], [
 			    CFLAGS="$CFLAGS -arch x86_64"
 			    do64bit_ok=yes
-			fi;;
+			]);;
 		    *)
 			AC_MSG_WARN([Don't know how enable 64-bit on architecture `arch`]);;
 		esac
-	    else
+	    ], [
 		# Check for combined 32-bit and 64-bit fat build
-		echo "$CFLAGS " | grep -E -q -- '-arch (ppc64|x86_64) ' &amp;&amp; \
-		    echo "$CFLAGS " | grep -E -q -- '-arch (ppc|i386) ' &amp;&amp; \
-		    fat_32_64=yes
-	    fi
-	    # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS here:
+		AS_IF([echo "$CFLAGS " |grep -E -q -- '-arch (ppc64|x86_64) ' \
+		    &amp;&amp; echo "$CFLAGS " |grep -E -q -- '-arch (ppc|i386) '], [
+		    fat_32_64=yes])
+	    ])
+	    # TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
 	    SHLIB_LD='${CC} -dynamiclib ${CFLAGS} ${LDFLAGS_DEFAULT}'
 	    AC_CACHE_CHECK([if ld accepts -single_module flag], tcl_cv_ld_single_module, [
 		hold_ldflags=$LDFLAGS
 		LDFLAGS="$LDFLAGS -dynamiclib -Wl,-single_module"
 		AC_TRY_LINK(, [int i;], tcl_cv_ld_single_module=yes, tcl_cv_ld_single_module=no)
 		LDFLAGS=$hold_ldflags])
-	    if test $tcl_cv_ld_single_module = yes; then
+	    AS_IF([test $tcl_cv_ld_single_module = yes], [
 		SHLIB_LD="${SHLIB_LD} -Wl,-single_module"
-	    fi
+	    ])
+	    # TEA specific: link shlib with current and compatiblity version flags
+	    vers=`echo ${PACKAGE_VERSION} | sed -e 's/^\([[0-9]]\{1,5\}\)\(\(\.[[0-9]]\{1,3\}\)\{0,2\}\).*$/\1\2/p' -e d`
+	    SHLIB_LD="${SHLIB_LD} -current_version ${vers:-0} -compatibility_version ${vers:-0}"
 	    SHLIB_LD_LIBS='${LIBS}'
 	    SHLIB_SUFFIX=".dylib"
 	    DL_OBJS="tclLoadDyld.o"
 	    DL_LIBS=""
 	    # Don't use -prebind when building for Mac OS X 10.4 or later only:
-	    test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
-		"`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4 &amp;&amp; \
-		LDFLAGS="$LDFLAGS -prebind"
+	    AS_IF([test "`echo "${MACOSX_DEPLOYMENT_TARGET}" | awk -F '10\\.' '{print int([$]2)}'`" -lt 4 -a \
+		"`echo "${CPPFLAGS}" | awk -F '-mmacosx-version-min=10\\.' '{print int([$]2)}'`" -lt 4], [
+		LDFLAGS="$LDFLAGS -prebind"])
 	    LDFLAGS="$LDFLAGS -headerpad_max_install_names"
-	    AC_CACHE_CHECK([if ld accepts -search_paths_first flag], tcl_cv_ld_search_paths_first, [
+	    AC_CACHE_CHECK([if ld accepts -search_paths_first flag],
+		    tcl_cv_ld_search_paths_first, [
 		hold_ldflags=$LDFLAGS
 		LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-		AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes, tcl_cv_ld_search_paths_first=no)
+		AC_TRY_LINK(, [int i;], tcl_cv_ld_search_paths_first=yes,
+			tcl_cv_ld_search_paths_first=no)
 		LDFLAGS=$hold_ldflags])
-	    if test $tcl_cv_ld_search_paths_first = yes; then
+	    AS_IF([test $tcl_cv_ld_search_paths_first = yes], [
 		LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
-	    fi
+	    ])
+	    AS_IF([test "$tcl_cv_cc_visibility_hidden" != yes], [
+		AC_DEFINE(MODULE_SCOPE, [__private_extern__],
+		    [Compiler support for module scope symbols])
+	    ])
 	    CC_SEARCH_FLAGS=""
 	    LD_SEARCH_FLAGS=""
 	    LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH"
-
-	    # TEA specific: for Tk extensions, remove 64-bit arch flags from
-	    # CFLAGS et al. for combined 32 &amp; 64 bit fat builds as neither
-	    # TkAqua nor TkX11 can be built for 64-bit at present.
-	    test "$fat_32_64" = yes &amp;&amp; test -n "${TK_BIN_DIR}" &amp;&amp; for v in CFLAGS CPPFLAGS LDFLAGS; do
-		eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'; done
+	    # TEA specific: for combined 32 &amp; 64 bit fat builds of Tk
+	    # extensions, verify that 64-bit build is possible.
+	    AS_IF([test "$fat_32_64" = yes &amp;&amp; test -n "${TK_BIN_DIR}"], [
+		AS_IF([test "${TEA_WINDOWINGSYSTEM}" = x11], [
+		    AC_CACHE_CHECK([for 64-bit X11], tcl_cv_lib_x11_64, [
+			for v in CFLAGS CPPFLAGS LDFLAGS; do
+			    eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
+			done
+			CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
+			LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
+			AC_TRY_LINK([#include &lt;X11/Xlib.h&gt;], [XrmInitialize();],
+			    tcl_cv_lib_x11_64=yes, tcl_cv_lib_x11_64=no)
+			for v in CFLAGS CPPFLAGS LDFLAGS; do
+			    eval $v'="$hold_'$v'"'
+			done])
+		])
+		AS_IF([test "${TEA_WINDOWINGSYSTEM}" = aqua], [
+		    AC_CACHE_CHECK([for 64-bit Tk], tcl_cv_lib_tk_64, [
+			for v in CFLAGS CPPFLAGS LDFLAGS; do
+			    eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
+			done
+			CPPFLAGS="$CPPFLAGS -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 ${TCL_INCLUDES} ${TK_INCLUDES}"
+			LDFLAGS="$LDFLAGS ${TCL_STUB_LIB_SPEC} ${TK_STUB_LIB_SPEC}"
+			AC_TRY_LINK([#include &lt;tk.h&gt;], [Tk_InitStubs(NULL, "", 0);],
+			    tcl_cv_lib_tk_64=yes, tcl_cv_lib_tk_64=no)
+			for v in CFLAGS CPPFLAGS LDFLAGS; do
+			    eval $v'="$hold_'$v'"'
+			done])
+		])
+		# remove 64-bit arch flags from CFLAGS et al. if configuration
+		# does not support 64-bit.
+		AS_IF([test "$tcl_cv_lib_tk_64" = no -o "$tcl_cv_lib_x11_64" = no], [
+		    AC_MSG_NOTICE([Removing 64-bit architectures from compiler &amp; linker flags])
+		    for v in CFLAGS CPPFLAGS LDFLAGS; do
+			eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
+		    done])
+	    ])
 	    ;;
 	NEXTSTEP-*)
 	    SHLIB_CFLAGS=""
-	    SHLIB_LD="cc -nostdlib -r"
+	    SHLIB_LD='${CC} -nostdlib -r'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadNext.o"
@@ -1720,7 +1903,7 @@
 	    CFLAGS_OPTIMIZE=""		# Optimizer is buggy
 	    AC_DEFINE(_OE_SOCKETS, 1,	# needed in sys/socket.h
 		[Should OS/390 do the right thing with sockets?])
-	    ;;      
+	    ;;
 	OSF1-1.0|OSF1-1.1|OSF1-1.2)
 	    # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1
 	    SHLIB_CFLAGS=""
@@ -1736,11 +1919,9 @@
 	OSF1-1.*)
 	    # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
 	    SHLIB_CFLAGS="-fPIC"
-	    if test "$SHARED_BUILD" = "1" ; then
-	        SHLIB_LD="ld -shared"
-	    else
+	    AS_IF([test "$SHARED_BUILD" = 1], [SHLIB_LD="ld -shared"], [
 	        SHLIB_LD="ld -non_shared"
-	    fi
+	    ])
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1751,35 +1932,32 @@
 	OSF1-V*)
 	    # Digital OSF/1
 	    SHLIB_CFLAGS=""
-	    if test "$SHARED_BUILD" = "1" ; then
+	    AS_IF([test "$SHARED_BUILD" = 1], [
 	        SHLIB_LD='ld -shared -expect_unresolved "*"'
-	    else
+	    ], [
 	        SHLIB_LD='ld -non_shared -expect_unresolved "*"'
-	    fi
+	    ])
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS=""
-	    CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
-	    LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'
-	    if test "$GCC" = "yes" ; then
-		CFLAGS="$CFLAGS -mieee"
-            else
-		CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"
-	    fi
+	    AS_IF([test $doRpath = yes], [
+		CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+		LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}'])
+	    AS_IF([test "$GCC" = yes], [CFLAGS="$CFLAGS -mieee"], [
+		CFLAGS="$CFLAGS -DHAVE_TZSET -std1 -ieee"])
 	    # see pthread_intro(3) for pthread support on osf1, k.furukawa
-	    if test "${TCL_THREADS}" = "1" ; then
+	    AS_IF([test "${TCL_THREADS}" = 1], [
 		CFLAGS="$CFLAGS -DHAVE_PTHREAD_ATTR_SETSTACKSIZE"
 		CFLAGS="$CFLAGS -DTCL_THREAD_STACK_MIN=PTHREAD_STACK_MIN*64"
 		LIBS=`echo $LIBS | sed s/-lpthreads//`
-		if test "$GCC" = "yes" ; then
+		AS_IF([test "$GCC" = yes], [
 		    LIBS="$LIBS -lpthread -lmach -lexc"
-		else
+		], [
 		    CFLAGS="$CFLAGS -pthread"
 		    LDFLAGS="$LDFLAGS -pthread"
-		fi
-	    fi
-
+		])
+	    ])
 	    ;;
 	QNX-6*)
 	    # QNX RTP
@@ -1798,13 +1976,13 @@
 	    # Note, dlopen is available only on SCO 3.2.5 and greater. However,
 	    # this test works, since "uname -s" was non-standard in 3.2.4 and
 	    # below.
-	    if test "$GCC" = "yes" ; then
+	    AS_IF([test "$GCC" = yes], [
 	    	SHLIB_CFLAGS="-fPIC -melf"
 	    	LDFLAGS="$LDFLAGS -melf -Wl,-Bexport"
-	    else
+	    ], [
 	    	SHLIB_CFLAGS="-Kpic -belf"
 	    	LDFLAGS="$LDFLAGS -belf -Wl,-Bexport"
-	    fi
+	    ])
 	    SHLIB_LD="ld -G"
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
@@ -1815,7 +1993,7 @@
 	    ;;
 	SINIX*5.4*)
 	    SHLIB_CFLAGS="-K PIC"
-	    SHLIB_LD="cc -G"
+	    SHLIB_LD='${CC} -G'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1838,7 +2016,7 @@
 	    # requires an extra version number at the end of .so file names.
 	    # So, the library has to have a name like libtcl75.so.1.0
 
-	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.1.0'
+	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.so.${SHLIB_VERSION}'
 	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
 	    TCL_LIB_VERSIONS_OK=nodots
 	    ;;
@@ -1861,15 +2039,15 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS="-ldl"
-	    if test "$GCC" = "yes" ; then
-		SHLIB_LD="$CC -shared"
+	    AS_IF([test "$GCC" = yes], [
+		SHLIB_LD='${CC} -shared'
 		CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
 		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-	    else
+	    ], [
 		SHLIB_LD="/usr/ccs/bin/ld -G -z text"
 		CC_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
 		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-	    fi
+	    ])
 	    ;;
 	SunOS-5*)
 	    # Note: If _REENTRANT isn't defined, then Solaris
@@ -1882,43 +2060,54 @@
 	    SHLIB_CFLAGS="-KPIC"
 
 	    # Check to enable 64-bit flags for compiler/linker
-	    if test "$do64bit" = "yes" ; then
+	    AS_IF([test "$do64bit" = yes], [
 		arch=`isainfo`
-		if test "$arch" = "sparcv9 sparc" ; then
-			if test "$GCC" = "yes" ; then
-			    if test "`gcc -dumpversion | awk -F. '{print [$]1}'`" -lt "3" ; then
-				AC_MSG_WARN([64bit mode not supported with GCC &lt; 3.2 on $system])
-			    else
-				do64bit_ok=yes
-				CFLAGS="$CFLAGS -m64 -mcpu=v9"
-				LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
-				SHLIB_CFLAGS="-fPIC"
-			    fi
-			else
+		AS_IF([test "$arch" = "sparcv9 sparc"], [
+		    AS_IF([test "$GCC" = yes], [
+			AS_IF([test "`${CC} -dumpversion | awk -F. '{print [$]1}'`" -lt 3], [
+			    AC_MSG_WARN([64bit mode not supported with GCC &lt; 3.2 on $system])
+			], [
 			    do64bit_ok=yes
-			    if test "$do64bitVIS" = "yes" ; then
-				CFLAGS="$CFLAGS -xarch=v9a"
-			    	LDFLAGS_ARCH="-xarch=v9a"
-			    else
-				CFLAGS="$CFLAGS -xarch=v9"
-			    	LDFLAGS_ARCH="-xarch=v9"
-			    fi
-			    # Solaris 64 uses this as well
-			    #LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
-			fi
-		elif test "$arch" = "amd64 i386" ; then
-		    if test "$GCC" = "yes" ; then
-			AC_MSG_WARN([64bit mode not supported with GCC on $system])
-		    else
+			    CFLAGS="$CFLAGS -m64 -mcpu=v9"
+			    LDFLAGS="$LDFLAGS -m64 -mcpu=v9"
+			    SHLIB_CFLAGS="-fPIC"
+			])
+		    ], [
 			do64bit_ok=yes
-			CFLAGS="$CFLAGS -xarch=amd64"
-			LDFLAGS="$LDFLAGS -xarch=amd64"
-		    fi
-		else
-		    AC_MSG_WARN([64bit mode not supported for $arch])
-		fi
-	    fi
-	    
+			AS_IF([test "$do64bitVIS" = yes], [
+			    CFLAGS="$CFLAGS -xarch=v9a"
+			    LDFLAGS_ARCH="-xarch=v9a"
+			], [
+			    CFLAGS="$CFLAGS -xarch=v9"
+			    LDFLAGS_ARCH="-xarch=v9"
+			])
+			# Solaris 64 uses this as well
+			#LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH_64"
+		    ])
+		], [AS_IF([test "$arch" = "amd64 i386"], [
+		    AS_IF([test "$GCC" = yes], [
+			case $system in
+			    SunOS-5.1[[1-9]]*|SunOS-5.[[2-9]][[0-9]]*)
+				do64bit_ok=yes
+				CFLAGS="$CFLAGS -m64"
+				LDFLAGS="$LDFLAGS -m64";;
+			    *)
+				AC_MSG_WARN([64bit mode not supported with GCC on $system]);;
+			esac
+		    ], [
+			do64bit_ok=yes
+			case $system in
+			    SunOS-5.1[[1-9]]*|SunOS-5.[[2-9]][[0-9]]*)
+				CFLAGS="$CFLAGS -m64"
+				LDFLAGS="$LDFLAGS -m64";;
+			    *)
+				CFLAGS="$CFLAGS -xarch=amd64"
+				LDFLAGS="$LDFLAGS -xarch=amd64";;
+			esac
+		    ])
+		], [AC_MSG_WARN([64bit mode not supported for $arch])])])
+	    ])
+
 	    # Note: need the LIBS below, otherwise Tk won't find Tcl's
 	    # symbols when dynamically loaded into tclsh.
 
@@ -1926,30 +2115,42 @@
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
 	    DL_LIBS="-ldl"
-	    if test "$GCC" = "yes" ; then
-		SHLIB_LD="$CC -shared"
+	    AS_IF([test "$GCC" = yes], [
+		SHLIB_LD='${CC} -shared'
 		CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
 		LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
-		if test "$do64bit_ok" = "yes" ; then
-		    # We need to specify -static-libgcc or we need to
-		    # add the path to the sparv9 libgcc.
-		    # JH: static-libgcc is necessary for core Tcl, but may
-		    # not be necessary for extensions.
-		    SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc"
-		    # for finding sparcv9 libgcc, get the regular libgcc
-		    # path, remove so name and append 'sparcv9'
-		    #v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..."
-		    #CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
-		fi
-	    else
-		SHLIB_LD="/usr/ccs/bin/ld -G -z text"
+		AS_IF([test "$do64bit_ok" = yes], [
+		    AS_IF([test "$arch" = "sparcv9 sparc"], [
+			# We need to specify -static-libgcc or we need to
+			# add the path to the sparv9 libgcc.
+			# JH: static-libgcc is necessary for core Tcl, but may
+			# not be necessary for extensions.
+			SHLIB_LD="$SHLIB_LD -m64 -mcpu=v9 -static-libgcc"
+			# for finding sparcv9 libgcc, get the regular libgcc
+			# path, remove so name and append 'sparcv9'
+			#v9gcclibdir="`gcc -print-file-name=libgcc_s.so` | ..."
+			#CC_SEARCH_FLAGS="${CC_SEARCH_FLAGS},-R,$v9gcclibdir"
+		    ], [AS_IF([test "$arch" = "amd64 i386"], [
+			# JH: static-libgcc is necessary for core Tcl, but may
+			# not be necessary for extensions.
+			SHLIB_LD="$SHLIB_LD -m64 -static-libgcc"
+		    ])])
+		])
+	    ], [
+		case $system in
+		    SunOS-5.[[1-9]][[0-9]]*)
+			# TEA specific: use LDFLAGS_DEFAULT instead of LDFLAGS
+			SHLIB_LD='${CC} -G -z text ${LDFLAGS_DEFAULT}';;
+		    *)
+			SHLIB_LD='/usr/ccs/bin/ld -G -z text';;
+		esac
 		CC_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'
 		LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'
-	    fi
+	    ])
 	    ;;
 	UNIX_SV* | UnixWare-5*)
 	    SHLIB_CFLAGS="-KPIC"
-	    SHLIB_LD="cc -G"
+	    SHLIB_LD='${CC} -G'
 	    SHLIB_LD_LIBS=""
 	    SHLIB_SUFFIX=".so"
 	    DL_OBJS="tclLoadDl.o"
@@ -1961,17 +2162,17 @@
 		LDFLAGS="$LDFLAGS -Wl,-Bexport"
 		AC_TRY_LINK(, [int i;], tcl_cv_ld_Bexport=yes, tcl_cv_ld_Bexport=no)
 	        LDFLAGS=$hold_ldflags])
-	    if test $tcl_cv_ld_Bexport = yes; then
+	    AS_IF([test $tcl_cv_ld_Bexport = yes], [
 		LDFLAGS="$LDFLAGS -Wl,-Bexport"
-	    fi
+	    ])
 	    CC_SEARCH_FLAGS=""
 	    LD_SEARCH_FLAGS=""
 	    ;;
     esac
 
-    if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then
+    AS_IF([test "$do64bit" = yes -a "$do64bit_ok" = no], [
 	AC_MSG_WARN([64bit support being disabled -- don't know magic for this platform])
-    fi
+    ])
 
 dnl # Add any CPPFLAGS set in the environment to our CFLAGS, but delay doing so
 dnl # until the end of configure, as configure's compile and link tests use
@@ -1985,15 +2186,10 @@
 	AC_HELP_STRING([--enable-load],
 	    [allow dynamic loading and "load" command (default: on)]),
 	[tcl_ok=$enableval], [tcl_ok=yes])
-    if test "$tcl_ok" = "no"; then
-	DL_OBJS=""
-    fi
+    AS_IF([test "$tcl_ok" = no], [DL_OBJS=""])
 
-    if test "x$DL_OBJS" != "x" ; then
-	BUILD_DLTEST="\$(DLTEST_TARGETS)"
-    else
-	echo "Can't figure out how to do dynamic loading or shared libraries"
-	echo "on this system."
+    AS_IF([test "x$DL_OBJS" != x], [BUILD_DLTEST="\$(DLTEST_TARGETS)"], [
+	AC_MSG_WARN([Can't figure out how to do dynamic loading or shared libraries on this system.])
 	SHLIB_CFLAGS=""
 	SHLIB_LD=""
 	SHLIB_SUFFIX=""
@@ -2003,43 +2199,31 @@
 	CC_SEARCH_FLAGS=""
 	LD_SEARCH_FLAGS=""
 	BUILD_DLTEST=""
-    fi
+    ])
     LDFLAGS="$LDFLAGS $LDFLAGS_ARCH"
 
     # If we're running gcc, then change the C flags for compiling shared
     # libraries to the right flags for gcc, instead of those for the
     # standard manufacturer compiler.
 
-    if test "$DL_OBJS" != "tclLoadNone.o" ; then
-	if test "$GCC" = "yes" ; then
-	    case $system in
-		AIX-*)
-		    ;;
-		BSD/OS*)
-		    ;;
-		IRIX*)
-		    ;;
-		NetBSD-*|FreeBSD-*)
-		    ;;
-		Darwin-*)
-		    ;;
-		SCO_SV-3.2*)
-		    ;;
-		windows)
-		    ;;
-		*)
-		    SHLIB_CFLAGS="-fPIC"
-		    ;;
-	    esac
-	fi
-    fi
-
-    if test "$SHARED_LIB_SUFFIX" = "" ; then
-	SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}'
-    fi
-    if test "$UNSHARED_LIB_SUFFIX" = "" ; then
-	UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a'
-    fi
+    AS_IF([test "$DL_OBJS" != "tclLoadNone.o" -a "$GCC" = yes], [
+	case $system in
+	    AIX-*) ;;
+	    BSD/OS*) ;;
+	    IRIX*) ;;
+	    NetBSD-*|FreeBSD-*) ;;
+	    Darwin-*) ;;
+	    SCO_SV-3.2*) ;;
+	    windows) ;;
+	    *) SHLIB_CFLAGS="-fPIC" ;;
+	esac])
+
+    AS_IF([test "$SHARED_LIB_SUFFIX" = ""], [
+	# TEA specific: use PACKAGE_VERSION instead of VERSION
+	SHARED_LIB_SUFFIX='${PACKAGE_VERSION}${SHLIB_SUFFIX}'])
+    AS_IF([test "$UNSHARED_LIB_SUFFIX" = ""], [
+	# TEA specific: use PACKAGE_VERSION instead of VERSION
+	UNSHARED_LIB_SUFFIX='${PACKAGE_VERSION}.a'])
 
     AC_SUBST(DL_LIBS)
 
@@ -2072,7 +2256,7 @@
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Defines only one of the following vars:
@@ -2185,13 +2369,13 @@
 #	Supply substitutes for missing POSIX header files.  Special
 #	notes:
 #	    - stdlib.h doesn't define strtol, strtoul, or
-#	      strtod insome versions of SunOS
+#	      strtod in some versions of SunOS
 #	    - some versions of string.h don't declare procedures such
 #	      as strstr
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Defines some of the following vars:
@@ -2238,6 +2422,7 @@
 	AC_DEFINE(NO_DIRENT_H, 1, [Do we have &lt;dirent.h&gt;?])
     fi
 
+    # TEA specific:
     AC_CHECK_HEADER(errno.h, , [AC_DEFINE(NO_ERRNO_H, 1, [Do we have &lt;errno.h&gt;?])])
     AC_CHECK_HEADER(float.h, , [AC_DEFINE(NO_FLOAT_H, 1, [Do we have &lt;float.h&gt;?])])
     AC_CHECK_HEADER(values.h, , [AC_DEFINE(NO_VALUES_H, 1, [Do we have &lt;values.h&gt;?])])
@@ -2284,7 +2469,7 @@
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Sets the following vars:
@@ -2342,7 +2527,7 @@
 	XLIBSW=nope
 	dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"
 	for i in $dirs ; do
-	    if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then
+	    if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl -o -r $i/libX11.dylib; then
 		AC_MSG_RESULT([$i])
 		XLIBSW="-L$i -lX11"
 		x_libraries="$i"
@@ -2363,6 +2548,7 @@
 	AC_MSG_RESULT([could not find any!  Using -lX11.])
 	XLIBSW=-lX11
     fi
+    # TEA specific:
     if test x"${XLIBSW}" != x ; then
 	PKG_LIBS="${PKG_LIBS} ${XLIBSW}"
     fi
@@ -2372,13 +2558,13 @@
 # TEA_BLOCKING_STYLE
 #
 #	The statements below check for systems where POSIX-style
-#	non-blocking I/O (O_NONBLOCK) doesn't work or is unimplemented. 
+#	non-blocking I/O (O_NONBLOCK) doesn't work or is unimplemented.
 #	On these systems (mostly older ones), use the old BSD-style
 #	FIONBIO approach instead.
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Defines some of the following vars:
@@ -2415,14 +2601,14 @@
 ])
 
 #--------------------------------------------------------------------
-# TEA_TIME_HANLDER
+# TEA_TIME_HANDLER
 #
 #	Checks how the system deals with time.h, what time structures
 #	are used on the system, and what fields the structures have.
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Defines some of the following vars:
@@ -2494,7 +2680,7 @@
 #
 # Arguments:
 #	none
-#	
+#
 # Results:
 #
 #	Might defines some of the following vars:
@@ -2547,7 +2733,7 @@
 #		DL_LIBS
 #		LIBS
 #		MATH_LIBS
-#	
+#
 # Results:
 #
 #	Subst's the following var:
@@ -2613,9 +2799,9 @@
     fi
     AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, gethostbyname,
 	    [LIBS="$LIBS -lnsl"])])
-    
-    # Don't perform the eval of the libraries here because DL_LIBS
-    # won't be set until we call TEA_CONFIG_CFLAGS
+
+    # TEA specific: Don't perform the eval of the libraries here because
+    # DL_LIBS won't be set until we call TEA_CONFIG_CFLAGS
 
     TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}'
     AC_SUBST(TCL_LIBS)
@@ -2630,7 +2816,7 @@
 #
 # Arguments:
 #	None
-#	
+#
 # Results:
 #
 #	Might define the following vars:
@@ -2676,7 +2862,7 @@
 #
 # Arguments:
 #	None
-#	
+#
 # Results:
 #
 #	Might define the following vars:
@@ -2706,8 +2892,8 @@
 	AC_MSG_RESULT([using long])
     elif test "${tcl_cv_type_64bit}" = "__int64" \
 		-a "${TEA_PLATFORM}" = "windows" ; then
-	# We actually want to use the default tcl.h checks in this
-	# case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER*
+	# TEA specific: We actually want to use the default tcl.h checks in
+	# this case to handle both TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER*
 	AC_MSG_RESULT([using Tcl header defaults])
     else
 	AC_DEFINE_UNQUOTED(TCL_WIDE_INT_TYPE,${tcl_cv_type_64bit},
@@ -2787,7 +2973,7 @@
 AC_DEFUN([TEA_INIT], [
     # TEA extensions pass this us the version of TEA they think they
     # are compatible with.
-    TEA_VERSION="3.6"
+    TEA_VERSION="3.7"
 
     AC_MSG_CHECKING([for correct TEA configuration])
     if test x"${PACKAGE_NAME}" = x ; then
@@ -3366,69 +3552,70 @@
 #
 #	Requires:
 #		TCL_SRC_DIR	Assumes that TEA_LOAD_TCLCONFIG has
-#				 already been called.
+#				already been called.
 #
 # Results:
 #
 #	Substs the following vars:
 #		TCL_TOP_DIR_NATIVE
-#		TCL_GENERIC_DIR_NATIVE
-#		TCL_UNIX_DIR_NATIVE
-#		TCL_WIN_DIR_NATIVE
-#		TCL_BMAP_DIR_NATIVE
-#		TCL_TOOL_DIR_NATIVE
-#		TCL_PLATFORM_DIR_NATIVE
-#		TCL_BIN_DIR_NATIVE
 #		TCL_INCLUDES
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_PRIVATE_TCL_HEADERS], [
+    # Allow for --with-tclinclude to take effect and define ${ac_cv_c_tclh}
+    AC_REQUIRE([TEA_PUBLIC_TCL_HEADERS])
     AC_MSG_CHECKING([for Tcl private include files])
 
     TCL_SRC_DIR_NATIVE=`${CYGPATH} ${TCL_SRC_DIR}`
     TCL_TOP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}\"
-    TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
-    TCL_UNIX_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
-    TCL_WIN_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
-    TCL_BMAP_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/bitmaps\"
-    TCL_TOOL_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/tools\"
-    TCL_COMPAT_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/compat\"
 
-    if test "${TEA_PLATFORM}" = "windows"; then
-	TCL_PLATFORM_DIR_NATIVE=${TCL_WIN_DIR_NATIVE}
-    else
-	TCL_PLATFORM_DIR_NATIVE=${TCL_UNIX_DIR_NATIVE}
-    fi
-    # We want to ensure these are substituted so as not to require
-    # any *_NATIVE vars be defined in the Makefile
-    TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
-    if test "`uname -s`" = "Darwin"; then
-        # If Tcl was built as a framework, attempt to use
-        # the framework's Headers and PrivateHeaders directories
-        case ${TCL_DEFS} in
-	    *TCL_FRAMEWORK*)
-	        if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then
-	        TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"; else
-	        TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"; fi
-	        ;;
-	esac
+    # Check to see if tcl&lt;Plat&gt;Port.h isn't already with the public headers
+    # Don't look for tclInt.h because that resides with tcl.h in the core
+    # sources, but the &lt;plat&gt;Port headers are in a different directory
+    if test "${TEA_PLATFORM}" = "windows" -a \
+	-f "${ac_cv_c_tclh}/tclWinPort.h"; then
+	result="private headers found with public headers"
+    elif test "${TEA_PLATFORM}" = "unix" -a \
+	-f "${ac_cv_c_tclh}/tclUnixPort.h"; then
+	result="private headers found with public headers"
     else
-	if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
-	    AC_MSG_ERROR([Cannot find private header tclInt.h in ${TCL_SRC_DIR}])
+	TCL_GENERIC_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/generic\"
+	if test "${TEA_PLATFORM}" = "windows"; then
+	    TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/win\"
+	else
+	    TCL_PLATFORM_DIR_NATIVE=\"${TCL_SRC_DIR_NATIVE}/unix\"
+	fi
+	# Overwrite the previous TCL_INCLUDES as this should capture both
+	# public and private headers in the same set.
+	# We want to ensure these are substituted so as not to require
+	# any *_NATIVE vars be defined in the Makefile
+	TCL_INCLUDES="-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}"
+	if test "`uname -s`" = "Darwin"; then
+            # If Tcl was built as a framework, attempt to use
+            # the framework's Headers and PrivateHeaders directories
+            case ${TCL_DEFS} in
+	    	*TCL_FRAMEWORK*)
+		    if test -d "${TCL_BIN_DIR}/Headers" -a \
+			    -d "${TCL_BIN_DIR}/PrivateHeaders"; then
+			TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"
+		    else
+			TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
+		    fi
+	            ;;
+	    esac
+	    result="Using ${TCL_INCLUDES}"
+	else
+	    if test ! -f "${TCL_SRC_DIR}/generic/tclInt.h" ; then
+		AC_MSG_ERROR([Cannot find private header tclInt.h in ${TCL_SRC_DIR}])
+	    fi
+	    result="Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}"
 	fi
     fi
 
-
     AC_SUBST(TCL_TOP_DIR_NATIVE)
-    AC_SUBST(TCL_GENERIC_DIR_NATIVE)
-    AC_SUBST(TCL_UNIX_DIR_NATIVE)
-    AC_SUBST(TCL_WIN_DIR_NATIVE)
-    AC_SUBST(TCL_BMAP_DIR_NATIVE)
-    AC_SUBST(TCL_TOOL_DIR_NATIVE)
-    AC_SUBST(TCL_PLATFORM_DIR_NATIVE)
 
     AC_SUBST(TCL_INCLUDES)
-    AC_MSG_RESULT([Using srcdir found in tclConfig.sh: ${TCL_SRC_DIR}])
+    AC_MSG_RESULT([${result}])
 ])
 
 #------------------------------------------------------------------------
@@ -3466,6 +3653,7 @@
 		AC_MSG_ERROR([${with_tclinclude} directory does not contain tcl.h])
 	    fi
 	else
+	    list=""
 	    if test "`uname -s`" = "Darwin"; then
 		# If Tcl was built as a framework, attempt to use
 		# the framework's Headers directory
@@ -3541,57 +3729,72 @@
 #------------------------------------------------------------------------
 
 AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [
+    # Allow for --with-tkinclude to take effect and define ${ac_cv_c_tkh}
+    AC_REQUIRE([TEA_PUBLIC_TK_HEADERS])
     AC_MSG_CHECKING([for Tk private include files])
 
     TK_SRC_DIR_NATIVE=`${CYGPATH} ${TK_SRC_DIR}`
     TK_TOP_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}\"
-    TK_UNIX_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\"
-    TK_WIN_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\"
-    TK_GENERIC_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/generic\"
-    TK_XLIB_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/xlib\"
-    if test "${TEA_PLATFORM}" = "windows"; then
-	TK_PLATFORM_DIR_NATIVE=${TK_WIN_DIR_NATIVE}
-    else
-	TK_PLATFORM_DIR_NATIVE=${TK_UNIX_DIR_NATIVE}
-    fi
-    # We want to ensure these are substituted so as not to require
-    # any *_NATIVE vars be defined in the Makefile
-    TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}"
-    # Detect and add ttk subdir
-    if test -d ${TK_SRC_DIR_NATIVE}/generic/ttk; then
-	TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/generic/ttk\""
-    fi
-    if test "${TEA_WINDOWINGSYSTEM}" = "win32" \
-	-o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
-	TK_INCLUDES="${TK_INCLUDES} -I${TK_XLIB_DIR_NATIVE}"
-    fi
-    if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
-	TK_INCLUDES="${TK_INCLUDES} -I${TK_SRC_DIR_NATIVE}/macosx"
-    fi
-    if test "`uname -s`" = "Darwin"; then
-        # If Tk was built as a framework, attempt to use
-        # the framework's Headers and PrivateHeaders directories
-        case ${TK_DEFS} in
-	    *TK_FRAMEWORK*)
-	        if test -d "${TK_BIN_DIR}/Headers" -a -d "${TK_BIN_DIR}/PrivateHeaders"; then
-	        TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"; fi
-	        ;;
-	esac
+
+    # Check to see if tk&lt;Plat&gt;Port.h isn't already with the public headers
+    # Don't look for tkInt.h because that resides with tk.h in the core
+    # sources, but the &lt;plat&gt;Port headers are in a different directory
+    if test "${TEA_PLATFORM}" = "windows" -a \
+	-f "${ac_cv_c_tkh}/tkWinPort.h"; then
+	result="private headers found with public headers"
+    elif test "${TEA_PLATFORM}" = "unix" -a \
+	-f "${ac_cv_c_tkh}/tkUnixPort.h"; then
+	result="private headers found with public headers"
     else
-	if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
-	    AC_MSG_ERROR([Cannot find private header tkInt.h in ${TK_SRC_DIR}])
+	TK_GENERIC_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/generic\"
+	TK_XLIB_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/xlib\"
+	if test "${TEA_PLATFORM}" = "windows"; then
+	    TK_PLATFORM_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/win\"
+	else
+	    TK_PLATFORM_DIR_NATIVE=\"${TK_SRC_DIR_NATIVE}/unix\"
+	fi
+	# Overwrite the previous TK_INCLUDES as this should capture both
+	# public and private headers in the same set.
+	# We want to ensure these are substituted so as not to require
+	# any *_NATIVE vars be defined in the Makefile
+	TK_INCLUDES="-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}"
+	# Detect and add ttk subdir
+	if test -d "${TK_SRC_DIR}/generic/ttk"; then
+	   TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/generic/ttk\""
+	fi
+	if test "${TEA_WINDOWINGSYSTEM}" != "x11"; then
+	   TK_INCLUDES="${TK_INCLUDES} -I\"${TK_XLIB_DIR_NATIVE}\""
+	fi
+	if test "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
+	   TK_INCLUDES="${TK_INCLUDES} -I\"${TK_SRC_DIR_NATIVE}/macosx\""
+	fi
+	if test "`uname -s`" = "Darwin"; then
+	    # If Tk was built as a framework, attempt to use
+	    # the framework's Headers and PrivateHeaders directories
+	    case ${TK_DEFS} in
+		*TK_FRAMEWORK*)
+			if test -d "${TK_BIN_DIR}/Headers" -a \
+				-d "${TK_BIN_DIR}/PrivateHeaders"; then
+			    TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"
+			else
+			    TK_INCLUDES="${TK_INCLUDES} ${TK_INCLUDE_SPEC} `echo "${TK_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders/'`"
+			fi
+			;;
+	    esac
+	    result="Using ${TK_INCLUDES}"
+	else
+	    if test ! -f "${TK_SRC_DIR}/generic/tkInt.h" ; then
+	       AC_MSG_ERROR([Cannot find private header tkInt.h in ${TK_SRC_DIR}])
+	    fi
+	    result="Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}"
 	fi
     fi
 
     AC_SUBST(TK_TOP_DIR_NATIVE)
-    AC_SUBST(TK_UNIX_DIR_NATIVE)
-    AC_SUBST(TK_WIN_DIR_NATIVE)
-    AC_SUBST(TK_GENERIC_DIR_NATIVE)
     AC_SUBST(TK_XLIB_DIR_NATIVE)
-    AC_SUBST(TK_PLATFORM_DIR_NATIVE)
 
     AC_SUBST(TK_INCLUDES)
-    AC_MSG_RESULT([Using srcdir found in tkConfig.sh: ${TK_SRC_DIR}])
+    AC_MSG_RESULT([${result}])
 ])
 
 #------------------------------------------------------------------------
@@ -3629,6 +3832,7 @@
 		AC_MSG_ERROR([${with_tkinclude} directory does not contain tk.h])
 	    fi
 	else
+	    list=""
 	    if test "`uname -s`" = "Darwin"; then
 		# If Tk was built as a framework, attempt to use
 		# the framework's Headers directory.
@@ -3646,7 +3850,7 @@
 	    fi
 
 	    # Check order: pkg --prefix location, Tk's --prefix location,
-	    # relative to directory of tkConfig.sh, Tcl's --prefix location, 
+	    # relative to directory of tkConfig.sh, Tcl's --prefix location,
 	    # relative to directory of tclConfig.sh.
 
 	    eval "temp_includedir=${includedir}"
@@ -3658,6 +3862,10 @@
 		`ls -d ${TCL_BIN_DIR}/../include 2&gt;/dev/null`"
 	    if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
 		list="$list /usr/local/include /usr/include"
+		if test x"${TK_INCLUDE_SPEC}" != x ; then
+		    d=`echo "${TK_INCLUDE_SPEC}" | sed -e 's/^-I//'`
+		    list="$list `ls -d ${d} 2&gt;/dev/null`"
+		fi
 	    fi
 	    for i in $list ; do
 		if test -f "$i/tk.h" ; then
@@ -3684,8 +3892,7 @@
 
     AC_SUBST(TK_INCLUDES)
 
-    if test "${TEA_WINDOWINGSYSTEM}" = "win32" \
-	-o "${TEA_WINDOWINGSYSTEM}" = "aqua"; then
+    if test "${TEA_WINDOWINGSYSTEM}" != "x11"; then
 	# On Windows and Aqua, we need the X compat headers
 	AC_MSG_CHECKING([for X11 header files])
 	if test ! -r "${INCLUDE_DIR_NATIVE}/X11/Xlib.h"; then
@@ -3698,106 +3905,6 @@
 ])
 
 #------------------------------------------------------------------------
-# TEA_PROG_TCLSH
-#	Determine the fully qualified path name of the tclsh executable
-#	in the Tcl build directory or the tclsh installed in a bin
-#	directory. This macro will correctly determine the name
-#	of the tclsh executable even if tclsh has not yet been
-#	built in the build directory. The tclsh found is always
-#	associated with a tclConfig.sh file. This tclsh should be used
-#	only for running extension test cases. It should never be
-#	or generation of files (like pkgIndex.tcl) at build time.
-#
-# Arguments
-#	none
-#
-# Results
-#	Subst's the following values:
-#		TCLSH_PROG
-#------------------------------------------------------------------------
-
-AC_DEFUN([TEA_PROG_TCLSH], [
-    AC_MSG_CHECKING([for tclsh])
-    if test -f "${TCL_BIN_DIR}/Makefile" ; then
-        # tclConfig.sh is in Tcl build directory
-        if test "${TEA_PLATFORM}" = "windows"; then
-            TCLSH_PROG="${TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
-        else
-            TCLSH_PROG="${TCL_BIN_DIR}/tclsh"
-        fi
-    else
-        # tclConfig.sh is in install location
-        if test "${TEA_PLATFORM}" = "windows"; then
-            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}"
-        else
-            TCLSH_PROG="tclsh${TCL_MAJOR_VERSION}.${TCL_MINOR_VERSION}${TCL_DBGX}"
-        fi
-        list="`ls -d ${TCL_BIN_DIR}/../bin 2&gt;/dev/null` \
-              `ls -d ${TCL_BIN_DIR}/..     2&gt;/dev/null` \
-              `ls -d ${TCL_PREFIX}/bin     2&gt;/dev/null`"
-        for i in $list ; do
-            if test -f "$i/${TCLSH_PROG}" ; then
-                REAL_TCL_BIN_DIR="`cd "$i"; pwd`/"
-                break
-            fi
-        done
-        TCLSH_PROG="${REAL_TCL_BIN_DIR}${TCLSH_PROG}"
-    fi
-    AC_MSG_RESULT([${TCLSH_PROG}])
-    AC_SUBST(TCLSH_PROG)
-])
-
-#------------------------------------------------------------------------
-# TEA_PROG_WISH
-#	Determine the fully qualified path name of the wish executable
-#	in the Tk build directory or the wish installed in a bin
-#	directory. This macro will correctly determine the name
-#	of the wish executable even if wish has not yet been
-#	built in the build directory. The wish found is always
-#	associated with a tkConfig.sh file. This wish should be used
-#	only for running extension test cases. It should never be
-#	or generation of files (like pkgIndex.tcl) at build time.
-#
-# Arguments
-#	none
-#
-# Results
-#	Subst's the following values:
-#		WISH_PROG
-#------------------------------------------------------------------------
-
-AC_DEFUN([TEA_PROG_WISH], [
-    AC_MSG_CHECKING([for wish])
-    if test -f "${TK_BIN_DIR}/Makefile" ; then
-        # tkConfig.sh is in Tk build directory
-        if test "${TEA_PLATFORM}" = "windows"; then
-            WISH_PROG="${TK_BIN_DIR}/wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
-        else
-            WISH_PROG="${TK_BIN_DIR}/wish"
-        fi
-    else
-        # tkConfig.sh is in install location
-        if test "${TEA_PLATFORM}" = "windows"; then
-            WISH_PROG="wish${TK_MAJOR_VERSION}${TK_MINOR_VERSION}${TK_DBGX}${EXEEXT}"
-        else
-            WISH_PROG="wish${TK_MAJOR_VERSION}.${TK_MINOR_VERSION}${TK_DBGX}"
-        fi
-        list="`ls -d ${TK_BIN_DIR}/../bin 2&gt;/dev/null` \
-              `ls -d ${TK_BIN_DIR}/..     2&gt;/dev/null` \
-              `ls -d ${TK_PREFIX}/bin     2&gt;/dev/null`"
-        for i in $list ; do
-            if test -f "$i/${WISH_PROG}" ; then
-                REAL_TK_BIN_DIR="`cd "$i"; pwd`/"
-                break
-            fi
-        done
-        WISH_PROG="${REAL_TK_BIN_DIR}${WISH_PROG}"
-    fi
-    AC_MSG_RESULT([${WISH_PROG}])
-    AC_SUBST(WISH_PROG)
-])
-
-#------------------------------------------------------------------------
 # TEA_PATH_CONFIG --
 #
 #	Locate the ${1}Config.sh file and perform a sanity check on
@@ -3917,7 +4024,7 @@
 #	Load the $1Config.sh file
 #
 # Arguments:
-#	
+#
 #	Requires the following vars to be set:
 #		$1_BIN_DIR
 #



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788155 [1/4] - in /tcl/rivet/trunk: ./ tclconfig/</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624194150.8A1132388876@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624194150-8A1132388876@eris-apache-org%3e</id>
<updated>2009-06-24T19:41:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: karl
Date: Wed Jun 24 19:41:49 2009
New Revision: 788155

URL: http://svn.apache.org/viewvc?rev=788155&amp;view=rev
Log:
* acinclude.m4: Include m4/ax_prefix_config_h.m4 to define the
  AX_PREFIX_CONFIG_H macro.

* tclconfig/libtool.m4, tclconfig/config.guess, tclconfig/config.sub,
  tclconfig/ltmain.sh: Freshened these files with the latest versions
  from libtool.

* configure.ac, tclconfig/tcl.m4, tclconfig/ChangeLog,
  tclconfig/README.txt, tclconfig/install-sh: Updated to Tcl Extension
  Architecture (TEA) 3.7.

Modified:
    tcl/rivet/trunk/ChangeLog
    tcl/rivet/trunk/Makefile.in
    tcl/rivet/trunk/acinclude.m4
    tcl/rivet/trunk/configure.ac
    tcl/rivet/trunk/tclconfig/ChangeLog
    tcl/rivet/trunk/tclconfig/README.txt
    tcl/rivet/trunk/tclconfig/config.guess
    tcl/rivet/trunk/tclconfig/config.sub
    tcl/rivet/trunk/tclconfig/install-sh
    tcl/rivet/trunk/tclconfig/libtool.m4
    tcl/rivet/trunk/tclconfig/ltmain.sh
    tcl/rivet/trunk/tclconfig/tcl.m4

Modified: tcl/rivet/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/ChangeLog?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/ChangeLog (original)
+++ tcl/rivet/trunk/ChangeLog Wed Jun 24 19:41:49 2009
@@ -1,3 +1,16 @@
+
+2009-06-24 Karl Lehenbauer &lt;karl@apache.org&gt;
+    * acinclude.m4: Include m4/ax_prefix_config_h.m4 to define the
+      AX_PREFIX_CONFIG_H macro.
+
+    * tclconfig/libtool.m4, tclconfig/config.guess, tclconfig/config.sub,
+      tclconfig/ltmain.sh: Freshened these files with the latest versions
+      from libtool.
+
+    * configure.ac, tclconfig/tcl.m4, tclconfig/ChangeLog,
+      tclconfig/README.txt, tclconfig/install-sh: Updated to Tcl Extension
+      Architecture (TEA) 3.7.
+
 2009-05-05 Karl Lehenbauer &lt;karl@apache.org&gt;
     * src/apache-2/mod_rivet.c: When Rivet is shutting down and per-vhost
       separate virtual interpreters were in use, the shutdown code deleted

Modified: tcl/rivet/trunk/Makefile.in
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/Makefile.in?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/Makefile.in (original)
+++ tcl/rivet/trunk/Makefile.in Wed Jun 24 19:41:49 2009
@@ -17,7 +17,7 @@
 #
 # top-level Makefile.am for Apache Rivet: gets turned into a Makefile.in by automake
 #
-# $Id: Makefile.am 609240 2008-01-06 00:15:55Z mxmanghi $
+# $Id: Makefile.am 734980 2009-01-16 11:42:19Z mxmanghi $
 #
 # 2007/12/25: Added target uninistall-local that removes the tcl stuff (mxmanghi)
 #
@@ -43,14 +43,16 @@
 subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
-	$(top_srcdir)/configure ChangeLog INSTALL TODO install-sh \
-	missing tclconfig/ChangeLog tclconfig/compile \
-	tclconfig/config.guess tclconfig/config.sub tclconfig/depcomp \
-	tclconfig/install-sh tclconfig/ltmain.sh tclconfig/missing
+	$(top_srcdir)/configure ChangeLog INSTALL TODO \
+	tclconfig/ChangeLog tclconfig/compile tclconfig/config.guess \
+	tclconfig/config.sub tclconfig/depcomp tclconfig/install-sh \
+	tclconfig/ltmain.sh tclconfig/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
-	$(top_srcdir)/acinclude.m4 $(top_srcdir)/tclconfig/tcl.m4 \
-	$(top_srcdir)/tclconfig/libtool.m4 $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/tclconfig/tcl.m4 \
+	$(top_srcdir)/tclconfig/libtool.m4 \
+	$(top_srcdir)/m4/ax_prefix_config_h.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -122,6 +124,7 @@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
 DL_LIBS = @DL_LIBS@
+DSYMUTIL = @DSYMUTIL@
 ECHO = @ECHO@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
@@ -152,6 +155,7 @@
 MAKE_STUB_LIB = @MAKE_STUB_LIB@
 MATH_LIBS = @MATH_LIBS@
 MKDIR_P = @MKDIR_P@
+NMEDIT = @NMEDIT@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -173,6 +177,7 @@
 RANLIB_STUB = @RANLIB_STUB@
 RIVET_BASE_INCLUDE = @RIVET_BASE_INCLUDE@
 RIVET_TCL_TARGET = @RIVET_TCL_TARGET@
+SED = @SED@
 SET_MAKE = @SET_MAKE@
 SHARED_BUILD = @SHARED_BUILD@
 SHELL = @SHELL@
@@ -252,6 +257,7 @@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 with_apr_config = @with_apr_config@
@@ -715,12 +721,12 @@
 	$(SHELL) ./config.status --recheck
 
 install-data-local:
-	$(mkinstalldirs) $(RIVETLIB_DESTDIR)
-	cp -r rivet/* $(RIVETLIB_DESTDIR)
-	-( cd  $(RIVETLIB_DESTDIR) ; echo 'eval pkg_mkIndex -verbose [pwd] init.tcl [glob [file join packages * *.tcl] [file join *[info sharedlibextension]]]' | @TCLSH_PROG@ ; )
+	$(mkinstalldirs) $(DESTDIR)$(RIVETLIB_DESTDIR)
+	cp -r rivet/* $(DESTDIR)$(RIVETLIB_DESTDIR)
+	-( cd  $(DESTDIR)$(RIVETLIB_DESTDIR) ; echo 'eval pkg_mkIndex -verbose [pwd] init.tcl [glob [file join packages * *.tcl] [file join *[info sharedlibextension]]]' | @TCLSH_PROG@ ; )
 
 uninstall-local:
-	rm -fr $(RIVETLIB_DESTDIR)
+	rm -fr $(DESTDIR)$(RIVETLIB_DESTDIR)
 
 # 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.

Modified: tcl/rivet/trunk/acinclude.m4
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/acinclude.m4?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/acinclude.m4 (original)
+++ tcl/rivet/trunk/acinclude.m4 Wed Jun 24 19:41:49 2009
@@ -19,6 +19,7 @@
 #
 # Add here whatever m4 macros you want to define for your package
 #
+m4_include([m4/ax_prefix_config_h.m4])
 
 # 
 # check for apache base directory

Modified: tcl/rivet/trunk/configure.ac
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/configure.ac?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/configure.ac (original)
+++ tcl/rivet/trunk/configure.ac Wed Jun 24 19:41:49 2009
@@ -23,7 +23,7 @@
 #-----------------------------------------------------------------------
 
 AC_INIT([Rivet],[0.8.0])
-TEA_INIT([3.6])
+TEA_INIT([3.7])
 
 AC_CONFIG_AUX_DIR(tclconfig)
 AM_INIT_AUTOMAKE

Modified: tcl/rivet/trunk/tclconfig/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/ChangeLog?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/ChangeLog (original)
+++ tcl/rivet/trunk/tclconfig/ChangeLog Wed Jun 24 19:41:49 2009
@@ -1,3 +1,442 @@
+2009-04-10  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): check for 64-bit TkAqua.
+
+2009-03-26  Jan Nijtmans  &lt;nijtmans@users.sf.net&gt;
+
+	* tclconfig/tcl.m4: Adapt LDFLAGS and LD_SEARCH_FLAGS
+	together with SHLIB_LD definition to unbreak building on HPUX.
+
+2009-03-20  Andreas Kupries  &lt;andreask@activestate.com&gt;
+
+	* tclconfig/tcl.m4: Changed SHLIB_LD definition to unbreak
+	building on HPUX.
+
+2009-03-16  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+	
+	* tcl.m4(TEA_PUBLIC_TK_HEADERS): Look at ${TK_INCLUDE_SPEC}
+	(found in tkConfig.sh) when trying to guess where tk.h might be
+	[Patch 1960628].
+
+2009-03-11  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+
+	* tcl.m4: Allow ${SHLIB_SUFFIX} to be overridden at
+	configure-time [Patch 1960628].  Also fix some comment typos,
+	and an uninitialized variable bug-waiting-to-happen.
+
+2008-12-21  Jan Nijtmans  &lt;nijtmans@users.sf.net&gt;
+
+	* tcl.m4: [Bug 2073255] Tcl_GetString(NULL) doesn't crash on HP-UX
+	          (this bug report was for Tcl, but holds for TEA as well.)
+
+2008-12-20  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: sync with tdbc tcl.m4 changes
+	(SunOS-5.11): Sun cc SHLIB_LD: use LDFLAGS_DEFAULT instead of LDFLAGS
+
+2008-12-02  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	*** Bump to TEA_VERSION 3.7 ***
+
+	* tcl.m4: in private header check, check for &lt;plat&gt;Port.h instead
+	of Int.h to ensure all private headers are available.
+
+2008-11-04  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): sync TEA_PRIVATE_TK_HEADERS handling of
+	Tk.framework PrivateHeaders with TEA_PRIVATE_TCL_HEADERS.
+
+2008-11-04  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_PATH_TCLCONFIG, TEA_PATH_TKCONFIG): exit with error
+	when tclConfig.sh cannot be found. [Bug #1997760]
+	(TEA_PRIVATE_TCL_HEADERS, TEA_PRIVATE_TK_HEADERS): allow for
+	finding the headers installed in the public areas, e.g. a result of
+	make install-private-headers. [Bug #1631922]
+
+2008-08-12  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): link shlib with current and compatiblity version
+	flags; look for libX11.dylib when searching for X11 libraries.
+
+2008-06-12  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc &amp; Sun cc.
+
+2008-03-27  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (SunOS-5.1x): fix 64bit support for Sun cc. [Bug 1921166]
+
+2008-02-01  Donal K. Fellows  &lt;donal.k.fellows@man.ac.uk&gt;
+
+	* tcl.m4 (TEA_CONFIG_CFLAGS): Updated to work at least in part with
+	more modern VC versions. Currently just made the linker flags more
+	flexible; more work may be needed.
+
+2007-10-26  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): add support for 64-bit X11.
+
+2007-10-23  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	*** Tagged tea-3-branch to start TEA 4 development on HEAD ***
+
+2007-09-17  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+
+	* tcl.m4: use '${CC} -shared' instead of 'ld -Bshareable'
+	to build shared libraries on current NetBSDs [Bug 1749251].
+
+2007-09-15  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: 	replace all direct references to compiler by ${CC} to
+			enable CC overriding at configure &amp; make time.
+	(SunOS-5.1x):	replace direct use of '/usr/ccs/bin/ld' in SHLIB_LD by
+			'cc' compiler driver.
+
+2007-08-08  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: check Ttk dir for Tk private headers (8.5).
+	Add some comments to other bits.
+
+2007-06-25  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_PROG_TCLSH, TEA_PROG_WISH): move where / is added.
+
+2007-06-13  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: fix --with-tkinclude alignment. [Bug 1506111]
+
+2007-06-06  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): fix 64bit arch removal in fat 32&amp;64bit builds.
+
+2007-05-18  Donal K. Fellows  &lt;donal.k.fellows@man.ac.uk&gt;
+
+	* tcl.m4: Added quoting so that paths with spaces cause fewer
+	problems.
+
+2007-03-07  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in -mmacosx-version-min check.
+
+2007-02-15  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: correct private header check to search in generic subdir
+
+2007-02-09  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	*** Bump to TEA_VERSION 3.6 ***
+
+	* tcl.m4: correct -d to -f
+	(TEA_CONFIG_CFLAGS): SHLIB_SUFFIX is .so on HP ia64 [Bug 1615058]
+
+2007-02-08  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_PRIVATE_TCL_HEADERS, TEA_PRIVATE_TK_HEADERS): check
+	that the dirs actually have private headers. [Bug 1631922]
+
+2007-02-04  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: add caching to -pipe check.
+
+2007-01-25  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and
+	move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS to
+	avoid errors about multiple -isysroot flags from some older gcc builds.
+
+2006-01-19  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861]
+	(Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS when
+	present in CFLAGS to avoid discrepancies between what headers configure
+	sees during preprocessing tests and compiling tests.
+
+2006-12-19  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch flag
+	succeeds before enabling 64bit build.
+
+2006-12-16  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Linux): fix previous change to use makefile variable
+	LDFLAGS_DEFAULT instead of LDFLAGS in SHLIB_LD, to ensure linker
+	flags in sampleextension Makefile are picked up.
+
+2006-11-26  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Linux): --enable-64bit support. [Patch 1597389], [Bug 1230558]
+
+2006-08-18  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for
+	universal builds including x86_64 and for use of -mmacosx-version-min
+	instead of MACOSX_DEPLOYMENT_TARGET. For Tk extensions, remove 64-bit
+	arch flags from CFLAGS like in the Tk configure, as neither TkAqua nor
+	TkX11 can be built for 64-bit at present.
+
+2006-03-28  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: []-quote AC_DEFUN functions.
+	(TEA_PATH_TKCONFIG): Fixed Windows-specific check for tkConfig.sh.
+	(TEA_MAKE_LIB): Prepend 'lib' for Windows-gcc configs.
+
+2006-03-07  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+
+	* tcl.m4: Set SHLIB_LD_FLAGS='${LIBS}' on NetBSD,
+	as per the other *BSD variants [Bug 1334613].
+
+2006-01-25  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	*** Bump to TEA version 3.5 ***
+
+	* tcl.m4: keep LD_SEARCH_FLAGS and CC_SEARCH_FLAGS synchronous
+	with core tcl.m4 meaning.
+
+2006-01-24  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): use makefile variable LDFLAGS_DEFAULT instead of
+	LDFLAGS in SHLIB_LD, to ensure linker flags in sampleextension Makefile
+	are picked up. [Bug 1403343]
+
+2006-01-23  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: add C:/Tcl/lib and C:/Progra~1/Tcl/lib dirs to check for
+	*Config.sh on Windows. [Bug 1407544]
+
+2006-01-23  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): for Tk extensions, remove -arch ppc64 from CFLAGS
+	like in the Tk configure, as neither TkAqua nor TkX11 can be built for
+	64bit at present (no 64bit GUI libraries).
+
+2006-01-22  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: restore system=windows on Windows.
+	Remove error if 'ar' isn't found (it may not be on Windows).
+	Do not add -lxnet or define _XOPEN_SOURCE on HP-UX by default.
+	Ensure the C|LDFLAGS_DEFAULT gets the fully sub'd value at
+	configure time.
+
+2006-01-10  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: add caching, use AC_CACHE_CHECK instead of AC_CACHE_VAL
+	where possible, consistent message quoting, sync relevant
+	tcl/unix/tcl.m4 HEAD changes and gratuitous formatting differences
+	(notably sunc removal of support for for ancient BSD's, IRIX 4,
+	RISCos and Ultrix by kennykb), Darwin improvements to
+	TEA_LOAD_*CONFIG to make linking work against Tcl/Tk frameworks
+	installed in arbitrary location, change TEA_PROG_* search order
+	(look in *_BIN_DIR parents before *_PREFIX).
+
+2006-01-05  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: add dkf's system config refactor
+
+2006-01-04  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: remove extraneous ' that causes bash 3.1 to choke
+
+2005-12-19  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+
+	* tcl.m4 (TEA_PATH_TCLCONFIG &amp;c): Look for tclConfig.sh &amp;c
+	in ${libdir}, where they are installed by default [Patch #1377407].
+
+2005-12-05  Don Porter  &lt;dgp@users.sf.net&gt;
+
+	* tcl.m4 (TEA_PUBLIC_*_HEADERS):	Better support for finding
+	header files for uninstalled Tcl and Tk.
+
+2005-12-02  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: correctly bump TEA_VERSION var to 3.4
+
+2005-12-01  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* unix/tcl.m4 (Darwin): fixed error when MACOSX_DEPLOYMENT_TARGET unset
+
+2005-11-29  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4:  *** Bump to TEA version 3.4 ***
+	Add Windows x64 build support.
+	Remove TEA_PATH_NOSPACE and handle the problem with ""s where
+	necessary - the macro relied on TCLSH_PROG which didn't work for
+	cross-compiles.
+
+2005-11-27  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): add 64bit support, add CFLAGS to SHLIB_LD to
+	support passing -isysroot in env(CFLAGS) to configure (flag can't
+	be present twice, so can't be in both CFLAGS and LDFLAGS during
+	configure), don't use -prebind when deploying on 10.4.
+	(TEA_ENABLE_LANGINFO, TEA_TIME_HANDLER): add/fix caching.
+
+2005-10-30  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: fixed two tests for TEA_WINDOWINGSYSTEM = "aqua" that
+	should have been for `uname -s` = "Darwin" instead; added some
+	missing quoting.
+	(TEA_PROG_TCLSH, TEA_PROG_WISH): fix incorrect assumption that
+	install location of tclConfig.sh/tkConfig.sh allows to determine
+	the tclsh/wish install dir via ../bin. Indeed tcl/tk can be
+	configured with arbitrary --libdir and --bindir (independent of
+	prefix) and such a configuration is in fact standard with Darwin
+	framework builds. At least now also check ${TCL_PREFIX}/bin
+	resp. ${TK_PREFIX}/bin for presence of tclsh resp. wish (if tcl/tk
+	have been configured with arbitrary --bindir, this will still not
+	find them, for a general solution *Config.sh would need to contain
+	the values of bindir/libdir/includedir passed to configure).
+
+2005-10-07  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: Fix Solaris 5.10 check and Solaris AMD64 64-bit builds.
+
+2005-10-04  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_PRIVATE_TCL_HEADERS): add / to finish sed macro
+	(TEA_ENABLE_THREADS): don't check for pthread_attr_setstacksize func
+
+2005-09-13  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: *** Update to TEA version 3.3 ***
+	define TEA_WINDOWINGSYSTEM in TEA_LOAD_TKCONFIG.
+	Make --enable-threads the default (users can --disable-threads).
+	Improve AIX ${CC}_r fix to better check existing ${CC} value.
+	Do the appropriate evals to not require the *TOP_DIR_NATIVE vars
+	be set for extensions that use private headers.
+	Make aqua check for Xlib compat headers the same as win32.
+
+2005-07-26  Mo DeJong  &lt;mdejong@users.sourceforge.net&gt;
+
+	* tcl.m4 (TEA_PROG_TCLSH, TEA_BUILD_TCLSH,
+	TEA_PROG_WISH, TEA_BUILD_WISH): Remove
+	TEA_BUILD_TCLSH and TEA_BUILD_WISH because
+	of complaints that it broke the build when
+	only an installed version of Tcl was available
+	at extension build time. The TEA_PROG_TCLSH and
+	TEA_PROG_WISH macros will no longer search the
+	path at all. The build tclsh or installed
+	tclsh shell will now be found by TEA_PROG_TCLSH.
+
+2005-07-24  Mo DeJong  &lt;mdejong@users.sourceforge.net&gt;
+
+	* tcl.m4 (TEA_PROG_TCLSH, TEA_BUILD_TCLSH,
+	TEA_PROG_WISH, TEA_BUILD_WISH):
+	Split confused search for tclsh on PATH and
+	build and install locations into two macros.
+	TEA_PROG_TCLSH and TEA_PROG_WISH search the
+	system PATH for an installed tclsh or wish.
+	The TEA_BUILD_TCLSH and TEA_BUILD_WISH
+	macros determine the name of tclsh or
+	wish in the Tcl or Tk build directory even
+	if tclsh or wish has not yet been built.
+	[Tcl bug 1160114]
+	[Tcl patch 1244153]
+
+2005-06-23  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (TEA_PRIVATE_TK_HEADERS): add ${TK_SRC_DIR}/macosx to
+	TK_INCLUDES when building against TkAqua.
+
+	* tcl.m4 (TEA_PATH_X): fixed missing comma in AC_DEFINE
+
+	* tcl.m4: changes to better support framework builds of Tcl and Tk out
+	of the box: search framework install locations for *Config.sh, and if in
+	presence of a framework build, use the framework's Headers and
+	PrivateHeaders directories for public and private includes. [FR 947735]
+
+2005-06-18  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to
+	ensure we can always relocate binaries with install_name_tool.
+
+2005-06-04  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (TEA_PATH_X): for TEA_WINDOWINGSYSTEM == aqua, check if xlib
+	compat headers are available in tkheaders location, otherwise add xlib
+	sourcedir to TK_XINCLUDES.
+
+2005-04-25  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4: added AC_DEFINE* descriptions (from core tcl.m4) to allow
+	use with autoheader.
+	(Darwin): added configure checks for recently added linker flags
+	-single_module and -search_paths_first to allow building with older
+	tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD.
+	(TEA_MISSING_POSIX_HEADERS): added caching of dirent.h check.
+	(TEA_BUGGY_STRTOD): added caching (sync with core tcl.m4).
+
+2005-03-24  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_TCL_64BIT_FLAGS): use Tcl header defaults for wide
+	int type only on Windows when __int64 is detected as valid.
+
+2005-03-24  Don Porter  &lt;dgp@users.sf.net&gt;
+
+	* README.txt:	Update reference to "SC_* macros" to "TEA_* macros".
+	* tcl.m4:	Incorporated recent improvements in SC_PATH_TCLCONFIG
+	and SC_PATH_TKCONFIG into TEA_PATH_TCLCONFIG and TEA_PATH_TKCONFIG.
+	Corrected search path in TEA_PATH_CONFIG and added
+	AC_SUBST($1_BIN_DIR) to TEA_LOAD_CONFIG so that packages that load
+	the configuration of another package can know where they loaded
+	it from.
+
+2005-03-18  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_CONFIG_CFLAGS): correct 2005-03-17 change to have
+	variant LD_SEARCH_FLAGS for gcc and cc builds.
+
+	* tcl.m4 (TEA_PROG_TCLSH, TEA_PROG_WISH): correct x-compile check.
+
+2005-03-17  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: Correct gcc build and HP-UX-11.
+
+2005-02-08  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4 (TEA_ADD_LIBS): don't touch lib args starting with -.
+	(TEA_CONFIG_CFLAGS): only define _DLL for CE in shared build.
+	(TEA_MAKE_LIB): set RANLIB* to : on Windows (it's not needed).
+
+2005-02-01  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: redo of 2005-01-27 changes to correctly handle paths
+	with spaces.  Win/CE and Win/64 builds now require a prebuilt
+	tclsh to handle conversion to short pathnames.  This is done in
+	the new TEA_PATH_NOSPACE macro.  For Win/CE|64, make CC just the
+	compiler and move the necessary includes to CFLAGS.
+	(TEA_CONFIG_CFLAGS): Add Solaris 64-bit gcc build support.
+	(TEA_PROG_TCLSH, TEA_PROG_WISH): Allow TCLSH_PROG and WISH_PROG to
+	be set in the env and prevent resetting.
+	(TEA_ADD_LIBS): On Windows using GCC (mingw), convert foo.lib
+	args to -lfoo, for use with mingw.
+		*** POTENTIAL INCOMPATABILITY ***
+	(TEA_CONFIG_CFLAGS): Fix AIX gcc builds to work out-of-box.
+	Bumped TEA to 3.2.
+
+2005-01-27  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: remove cygpath calls to support msys.
+	Update base CE build assumption to "420,ARMV4,ARM,Pocket PC 2003".
+	Make STLIB_LD use $LINKBIN -lib.
+
+2005-01-25  Daniel Steffen  &lt;das@users.sourceforge.net&gt;
+
+	* tcl.m4 (Darwin): fixed bug with static build linking to dynamic
+	library in /usr/lib etc instead of linking to static library earlier
+	in search path. [Tcl Bug 956908]
+	Removed obsolete references to Rhapsody.
+
+2004-12-29  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
+
+	* tcl.m4: Updates for VC7 compatibility, fixing CFLAGS and LDFLAGS
+	options, using better default -O levels. [Bug 1092952, 1091967]
+
+2004-12-29  Joe English  &lt;jenglish@users.sourceforge.net&gt;
+
+	* tcl.m4: Do not use ${DBGX} suffix when building
+	shared libraries [patch #1081595, TIP #34]
+
 2004-09-07  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
 
 	* tcl.m4 (TEA_CONFIG_CFLAGS): support eVC4 Win/CE builds
@@ -167,7 +606,7 @@
 	* tcl.m4: move the CFLAGS definition from TEA_ENABLE_SHARED to
 	TEA_MAKE_LIB because setting too early confuses other AC_* macros.
 	Correct the HP-11 SHLIB_LD_LIBS setting.
-	
+
 	* tcl.m4: add the CFLAGS definition into TEA_ENABLE_SHARED and
 	make it pick up the env CFLAGS at configure time.
 
@@ -257,7 +696,7 @@
 
 	* tcl.m4: corrected forgotten (UN)SHARED_LIB_SUFFIX and
 	SHLIB_SUFFIX defines for Win.
-	(SC_PATH_X): made this only do the check on unix platforms. 
+	(SC_PATH_X): made this only do the check on unix platforms.
 
 2002-03-12  Jeff Hobbs  &lt;jeffh@ActiveState.com&gt;
 
@@ -296,7 +735,7 @@
 
 2001-03-08    Karl Lehenbauer &lt;karl@procplace.com&gt;
 
-	* installFile.tcl: Added support for converting new-style (1.1+) 
+	* installFile.tcl: Added support for converting new-style (1.1+)
 	  Cygnus drive paths to Tcl-style.
 
 2001-01-15    &lt;brent.welch@interwoven.com&gt;

Modified: tcl/rivet/trunk/tclconfig/README.txt
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/README.txt?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/README.txt (original)
+++ tcl/rivet/trunk/tclconfig/README.txt Wed Jun 24 19:41:49 2009
@@ -23,4 +23,4 @@
 		to their install locations.
 
 tcl.m4		Collection of Tcl autoconf macros.  Included by a package's
-		aclocal.m4 to define SC_* macros.
+		aclocal.m4 to define TEA_* macros.

Modified: tcl/rivet/trunk/tclconfig/config.guess
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/config.guess?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/config.guess (original)
+++ tcl/rivet/trunk/tclconfig/config.guess Wed Jun 24 19:41:49 2009
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2006-07-02'
+timestamp='2003-07-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -18,15 +17,13 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-
 # Originally written by Per Bothner &lt;per@bothner.com&gt;.
 # Please send patches to &lt;config-patches@gnu.org&gt;.  Submit a context
 # diff and a properly formatted ChangeLog entry.
@@ -56,7 +53,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -69,11 +66,11 @@
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
+       echo "$timestamp" ; exit 0 ;;
     --version | -v )
-       echo "$version" ; exit ;;
+       echo "$version" ; exit 0 ;;
     --help | --h* | -h )
-       echo "$usage"; exit ;;
+       echo "$usage"; exit 0 ;;
     -- )     # Stop option processing
        shift; break ;;
     - )	# Use stdin as input.
@@ -107,7 +104,7 @@
 trap "exitcode=\$?; (rm -f \$tmpfiles 2&gt;/dev/null; rmdir \$tmp 2&gt;/dev/null) &amp;&amp; exit \$exitcode" 0 ;
 trap "rm -f \$tmpfiles 2&gt;/dev/null; rmdir \$tmp 2&gt;/dev/null; exit 1" 1 2 13 15 ;
 : ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 &amp;&amp; mktemp -d "$TMPDIR/cgXXXXXX") 2&gt;/dev/null` &amp;&amp; test -n "$tmp" &amp;&amp; test -d "$tmp" ; } ||
+ { tmp=`(umask 077 &amp;&amp; mktemp -d -q "$TMPDIR/cgXXXXXX") 2&gt;/dev/null` &amp;&amp; test -n "$tmp" &amp;&amp; test -d "$tmp" ; } ||
  { test -n "$RANDOM" &amp;&amp; tmp=$TMPDIR/cg$$-$RANDOM &amp;&amp; (umask 077 &amp;&amp; mkdir $tmp) ; } ||
  { tmp=$TMPDIR/cg-$$ &amp;&amp; (umask 077 &amp;&amp; mkdir $tmp) &amp;&amp; echo "Warning: creating insecure temp directory" &gt;&amp;2 ; } ||
  { echo "$me: cannot create a temporary directory in $TMPDIR" &gt;&amp;2 ; exit 1 ; } ;
@@ -126,7 +123,7 @@
 	;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+esac ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
 # (ghazi@noc.rutgers.edu 1994-08-24)
@@ -199,32 +196,50 @@
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
-	exit ;;
+	exit 0 ;;
+    amiga:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    arc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    hp300:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mac68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    macppc:OpenBSD:*:*)
+	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvmeppc:OpenBSD:*:*)
+	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    pmax:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sgi:OpenBSD:*:*)
+	echo mipseb-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sun3:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
+	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
+	if test $UNAME_RELEASE = "V4.0"; then
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
+	fi
 	# According to Compaq, /usr/sbin/psrinfo has been available on
 	# OSF/1 and Tru64 systems produced since 1995.  I hope that
 	# covers most systems running today.  This code pipes the CPU
@@ -262,49 +277,42 @@
 	    "EV7.9 (21364A)")
 		UNAME_MACHINE="alphaev79" ;;
 	esac
-	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit 0 ;;
+    Alpha*:OpenVMS:*:*)
+	echo alpha-hp-vms
+	exit 0 ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
 	# of the specific Alpha model?
 	echo alpha-pc-interix
-	exit ;;
+	exit 0 ;;
     21064:Windows_NT:50:3)
 	echo alpha-dec-winnt3.5
-	exit ;;
+	exit 0 ;;
     Amiga*:UNIX_System_V:4.0:*)
 	echo m68k-unknown-sysv4
-	exit ;;
+	exit 0;;
     *:[Aa]miga[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
+	exit 0 ;;
     *:[Mm]orph[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
+	exit 0 ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-	exit ;;
+	exit 0 ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
+	exit 0;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
 	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
+	exit 0;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
 	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
 	if test "`(/bin/universe) 2&gt;/dev/null`" = att ; then
@@ -312,32 +320,32 @@
 	else
 		echo pyramid-pyramid-bsd
 	fi
-	exit ;;
+	exit 0 ;;
     NILE*:*:*:dcosx)
 	echo pyramid-pyramid-svr4
-	exit ;;
+	exit 0 ;;
     DRS?6000:unix:4.0:6*)
 	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	exit 0 ;;
+    DRS?6000:UNIX_SV:4.2*:7*)
 	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
+	    sparc) echo sparc-icl-nx7 &amp;&amp; exit 0 ;;
 	esac ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
+	exit 0 ;;
     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
+	exit 0 ;;
     i86pc:SunOS:5.*:*)
 	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
+	exit 0 ;;
     sun4*:SunOS:6*:*)
 	# According to config.sub, this is the proper way to canonicalize
 	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
 	# it's likely to be more like Solaris than SunOS4.
 	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
+	exit 0 ;;
     sun4*:SunOS:*:*)
 	case "`/usr/bin/arch -k`" in
 	    Series*|S4*)
@@ -346,10 +354,10 @@
 	esac
 	# Japanese Language versions have a version number like `4.1.3-JL'.
 	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
+	exit 0 ;;
     sun3*:SunOS:*:*)
 	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2&gt;/dev/null`
 	test "x${UNAME_RELEASE}" = "x" &amp;&amp; UNAME_RELEASE=3
@@ -361,10 +369,10 @@
 		echo sparc-sun-sunos${UNAME_RELEASE}
 		;;
 	esac
-	exit ;;
+	exit 0 ;;
     aushp:SunOS:*:*)
 	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -375,40 +383,37 @@
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+        exit 0 ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
         echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
         echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+        exit 0 ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
         echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+        exit 0 ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
+        exit 0 ;;
     powerpc:machten:*:*)
 	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     RISC*:Mach:*:*)
 	echo mips-dec-mach_bsd4.3
-	exit ;;
+	exit 0 ;;
     RISC*:ULTRIX:*:*)
 	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     VAX*:ULTRIX*:*:*)
 	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     2020:CLIX:*:* | 2430:CLIX:*:*)
 	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
 	eval $set_cc_for_build
 	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c
@@ -432,33 +437,32 @@
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp;
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &amp;&amp;
-	  SYSTEM_NAME=`$dummy $dummyarg` &amp;&amp;
-	    { echo "$SYSTEM_NAME"; exit; }
+	$CC_FOR_BUILD -o $dummy $dummy.c \
+	  &amp;&amp; $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+	  &amp;&amp; exit 0
 	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     Motorola:PowerMAX_OS:*:*)
 	echo powerpc-motorola-powermax
-	exit ;;
+	exit 0 ;;
     Motorola:*:4.3:PL8-*)
 	echo powerpc-harris-powermax
-	exit ;;
+	exit 0 ;;
     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
 	echo powerpc-harris-powermax
-	exit ;;
+	exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
 	echo powerpc-harris-powerunix
-	exit ;;
+	exit 0 ;;
     m88k:CX/UX:7*:*)
 	echo m88k-harris-cxux7
-	exit ;;
+	exit 0 ;;
     m88k:*:4*:R4*)
 	echo m88k-motorola-sysv4
-	exit ;;
+	exit 0 ;;
     m88k:*:3*:R3*)
 	echo m88k-motorola-sysv3
-	exit ;;
+	exit 0 ;;
     AViiON:dgux:*:*)
         # DG/UX returns AViiON for all architectures
         UNAME_PROCESSOR=`/usr/bin/uname -p`
@@ -474,29 +478,29 @@
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit ;;
+ 	exit 0 ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
-	exit ;;
+	exit 0 ;;
     M88*:*:R3*:*)
 	# Delta 88k system running SVR3
 	echo m88k-motorola-sysv3
-	exit ;;
+	exit 0 ;;
     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
 	echo m88k-tektronix-sysv3
-	exit ;;
+	exit 0 ;;
     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
 	echo m68k-tektronix-bsd
-	exit ;;
+	exit 0 ;;
     *:IRIX*:*:*)
 	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
+	exit 0 ;;
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
     i*86:AIX:*:*)
 	echo i386-ibm-aix
-	exit ;;
+	exit 0 ;;
     ia64:AIX:*:*)
 	if [ -x /usr/bin/oslevel ] ; then
 		IBM_REV=`/usr/bin/oslevel`
@@ -504,7 +508,7 @@
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
 	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
+	exit 0 ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then
 		eval $set_cc_for_build
@@ -519,18 +523,14 @@
 			exit(0);
 			}
 EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
+		$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; $dummy &amp;&amp; exit 0
+		echo rs6000-ibm-aix3.2.5
 	elif grep bos324 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then
 		echo rs6000-ibm-aix3.2.4
 	else
 		echo rs6000-ibm-aix3.2
 	fi
-	exit ;;
+	exit 0 ;;
     *:AIX:*:[45])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' &gt;/dev/null 2&gt;&amp;1; then
@@ -544,28 +544,28 @@
 		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
 	fi
 	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
+	exit 0 ;;
     *:AIX:*:*)
 	echo rs6000-ibm-aix
-	exit ;;
+	exit 0 ;;
     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
 	echo romp-ibm-bsd4.4
-	exit ;;
+	exit 0 ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
 	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
+	exit 0 ;;                           # report: romp-ibm BSD 4.3
     *:BOSX:*:*)
 	echo rs6000-bull-bosx
-	exit ;;
+	exit 0 ;;
     DPX/2?00:B.O.S.:*:*)
 	echo m68k-bull-sysv3
-	exit ;;
+	exit 0 ;;
     9000/[34]??:4.3bsd:1.*:*)
 	echo m68k-hp-bsd
-	exit ;;
+	exit 0 ;;
     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
 	echo m68k-hp-bsd4.4
-	exit ;;
+	exit 0 ;;
     9000/[34678]??:HP-UX:*:*)
 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	case "${UNAME_MACHINE}" in
@@ -627,19 +627,9 @@
 	esac
 	if [ ${HP_ARCH} = "hppa2.0w" ]
 	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # =&gt; hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # =&gt; hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2&gt;/dev/null) |
-		grep __LP64__ &gt;/dev/null
+	    # avoid double evaluation of $set_cc_for_build
+	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ &gt;/dev/null
 	    then
 		HP_ARCH="hppa2.0w"
 	    else
@@ -647,11 +637,11 @@
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
+	exit 0 ;;
     ia64:HP-UX:*:*)
 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
+	exit 0 ;;
     3050*:HI-UX:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c
@@ -679,179 +669,153 @@
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; SYSTEM_NAME=`$dummy` &amp;&amp;
-		{ echo "$SYSTEM_NAME"; exit; }
+	$CC_FOR_BUILD -o $dummy $dummy.c &amp;&amp; $dummy &amp;&amp; exit 0
 	echo unknown-hitachi-hiuxwe2
-	exit ;;
+	exit 0 ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
 	echo hppa1.1-hp-bsd
-	exit ;;
+	exit 0 ;;
     9000/8??:4.3bsd:*:*)
 	echo hppa1.0-hp-bsd
-	exit ;;
+	exit 0 ;;
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
-	exit ;;
+	exit 0 ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
 	echo hppa1.1-hp-osf
-	exit ;;
+	exit 0 ;;
     hp8??:OSF1:*:*)
 	echo hppa1.0-hp-osf
-	exit ;;
+	exit 0 ;;
     i*86:OSF1:*:*)
 	if [ -x /usr/sbin/sysversion ] ; then
 	    echo ${UNAME_MACHINE}-unknown-osf1mk
 	else
 	    echo ${UNAME_MACHINE}-unknown-osf1
 	fi
-	exit ;;
+	exit 0 ;;
     parisc*:Lites*:*:*)
 	echo hppa1.1-hp-lites
-	exit ;;
+	exit 0 ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit ;;
+        exit 0 ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit ;;
+        exit 0 ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit ;;
+        exit 0 ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit ;;
+        exit 0 ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit ;;
+        exit 0 ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	exit 0 ;;
     CRAY*[A-Z]90:*:*:*)
 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
 	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
 	      -e 's/\.[^.]*$/.X/'
-	exit ;;
+	exit 0 ;;
     CRAY*TS:*:*:*)
 	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	exit 0 ;;
     CRAY*T3E:*:*:*)
 	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	exit 0 ;;
     CRAY*SV1:*:*:*)
 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	exit 0 ;;
     *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
+	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
+	exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
+        exit 0 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     sparc*:BSD/OS:*:*)
 	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:BSD/OS:*:*)
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
+	exit 0 ;;
+    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+	# Determine whether the default compiler uses glibc.
+	eval $set_cc_for_build
+	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c
+	#include &lt;features.h&gt;
+	#if __GLIBC__ &gt;= 2
+	LIBC=gnu
+	#else
+	LIBC=
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^LIBC=`
+	# GNU/FreeBSD systems have a "k" prefix to indicate we are using
+	# FreeBSD's kernel, but not the complete OS.
+	case ${LIBC} in gnu) kernel_only='k' ;; esac
+	echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+	exit 0 ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
+	exit 0 ;;
     i*:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
+	exit 0 ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    x86:Interix*:[3456]*)
-	echo i586-pc-interix${UNAME_RELEASE}
-	exit ;;
-    EM64T:Interix*:[3456]*)
-	echo x86_64-unknown-interix${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit 0 ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
+	exit 0 ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&amp;T UWIN. Should we
 	# UNAME_MACHINE based on the output of uname instead of i386?
 	echo i586-pc-interix
-	exit ;;
+	exit 0 ;;
     i*:UWIN*:*)
 	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
+	exit 0 ;;
     p*:CYGWIN*:*)
 	echo powerpcle-unknown-cygwin
-	exit ;;
+	exit 0 ;;
     prep*:SunOS:5.*:*)
 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
+	exit 0 ;;
     *:GNU:*:*)
-	# the GNU system
 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-	exit ;;
+	exit 0 ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
+	exit 0 ;;
     arm*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     cris:Linux:*:*)
 	echo cris-axis-linux-gnu
-	exit ;;
-    crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
-	exit ;;
-    frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     m68*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     mips:Linux:*:*)
 	eval $set_cc_for_build
 	sed 's/^	//' &lt;&lt; EOF &gt;$dummy.c
@@ -868,12 +832,8 @@
 	#endif
 	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x &amp;&amp; { echo "${CPU}-unknown-linux-gnu"; exit; }
+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^CPU=`
+	test x"${CPU}" != x &amp;&amp; echo "${CPU}-unknown-linux-gnu" &amp;&amp; exit 0
 	;;
     mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -891,22 +851,15 @@
 	#endif
 	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x &amp;&amp; { echo "${CPU}-unknown-linux-gnu"; exit; }
+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^CPU=`
+	test x"${CPU}" != x &amp;&amp; echo "${CPU}-unknown-linux-gnu" &amp;&amp; exit 0
 	;;
-    or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
-	exit ;;
     ppc:Linux:*:*)
 	echo powerpc-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     ppc64:Linux:*:*)
 	echo powerpc64-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' &lt; /proc/cpuinfo` in
 	  EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -920,7 +873,7 @@
 	objdump --private-headers /bin/sh | grep ld.so.1 &gt;/dev/null
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
+	exit 0 ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2&gt;/dev/null | cut -d' ' -f2` in
@@ -928,28 +881,25 @@
 	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
 	  *)    echo hppa-unknown-linux-gnu ;;
 	esac
-	exit ;;
+	exit 0 ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
 	echo hppa64-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux
-	exit ;;
+	exit 0 ;;
     sh64*:Linux:*:*)
     	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
-	exit ;;
+	exit 0 ;;
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
-	exit ;;
+	exit 0 ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
@@ -967,15 +917,15 @@
 		;;
 	  a.out-i386-linux)
 		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
+		exit 0 ;;
 	  coff-i386)
 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
+		exit 0 ;;
 	  "")
 		# Either a pre-BFD a.out linker (linux-gnuoldld) or
 		# one that does not give us useful --help.
 		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
+		exit 0 ;;
 	esac
 	# Determine whether the default compiler is a.out or elf
 	eval $set_cc_for_build
@@ -992,33 +942,23 @@
 	LIBC=gnulibc1
 	# endif
 	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+	#ifdef __INTEL_COMPILER
 	LIBC=gnu
 	#else
 	LIBC=gnuaout
 	#endif
 	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
 EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x &amp;&amp; {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x &amp;&amp; { echo "${TENTATIVE}"; exit; }
+	eval `$CC_FOR_BUILD -E $dummy.c 2&gt;/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x &amp;&amp; echo "${UNAME_MACHINE}-pc-linux-${LIBC}" &amp;&amp; exit 0
+	test x"${TENTATIVE}" != x &amp;&amp; echo "${TENTATIVE}" &amp;&amp; exit 0
 	;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
 	# earlier versions are messed up and put the nodename in both
 	# sysname and nodename.
 	echo i386-sequent-sysv4
-	exit ;;
+	exit 0 ;;
     i*86:UNIX_SV:4.2MP:2.*)
         # Unixware is an offshoot of SVR4, but it has its own version
         # number series starting with 2...
@@ -1026,27 +966,24 @@
 	# I just have to hope.  -- rms.
         # Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
+	exit 0 ;;
     i*86:OS/2:*:*)
 	# If we were able to find `uname', then EMX Unix compatibility
 	# is probably installed.
 	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
+	exit 0 ;;
     i*86:XTS-300:*:STOP)
 	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
+	exit 0 ;;
     i*86:atheos:*:*)
 	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
+	exit 0 ;;
     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
 	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     i*86:*DOS:*:*)
 	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
+	exit 0 ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h &gt;/dev/null 2&gt;/dev/null; then
@@ -1054,16 +991,15 @@
 	else
 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
 	fi
-	exit ;;
-    i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	exit 0 ;;
+    i*86:*:5:[78]*)
 	case `/bin/uname -X | grep "^Machine"` in
 	    *486*)	     UNAME_MACHINE=i486 ;;
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
 	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
 	esac
 	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
+	exit 0 ;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' &lt;/usr/options/cb.name`
@@ -1081,73 +1017,73 @@
 	else
 		echo ${UNAME_MACHINE}-pc-sysv32
 	fi
-	exit ;;
+	exit 0 ;;
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
         # the processor, so we play safe by assuming i386.
 	echo i386-pc-msdosdjgpp
-        exit ;;
+        exit 0 ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
-	exit ;;
+	exit 0 ;;
     paragon:*:*:*)
 	echo i860-intel-osf1
-	exit ;;
+	exit 0 ;;
     i860:*:4.*:*) # i860-SVR4
 	if grep Stardent /usr/include/sys/uadmin.h &gt;/dev/null 2&gt;&amp;1 ; then
 	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
 	else # Add other i860-SVR4 vendors below as they are discovered.
 	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
 	fi
-	exit ;;
+	exit 0 ;;
     mini*:CTIX:SYS*5:*)
 	# "miniframe"
 	echo m68010-convergent-sysv
-	exit ;;
+	exit 0 ;;
     mc68k:UNIX:SYSTEM5:3.51m)
 	echo m68k-convergent-sysv
-	exit ;;
+	exit 0 ;;
     M680?0:D-NIX:5.3:*)
 	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 &amp;&amp; { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	exit 0 ;;
+    M68*:*:R3V[567]*:*)
+	test -r /sysV68 &amp;&amp; echo 'm68k-motorola-sysv' &amp;&amp; exit 0 ;;
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&amp;&amp; OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' &lt; /etc/.relid`
 	/bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \
-	  &amp;&amp; { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	  &amp;&amp; echo i486-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0
 	/bin/uname -p 2&gt;/dev/null | /bin/grep entium &gt;/dev/null \
-	  &amp;&amp; { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+	  &amp;&amp; echo i586-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0 ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \
-          &amp;&amp; { echo i486-ncr-sysv4; exit; } ;;
+          &amp;&amp; echo i486-ncr-sysv4 &amp;&amp; exit 0 ;;
     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
 	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
-	exit ;;
+	exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
 	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     SM[BE]S:UNIX_SV:*:*)
 	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     RM*:ReliantUNIX-*:*:*)
 	echo mips-sni-sysv4
-	exit ;;
+	exit 0 ;;
     RM*:SINIX-*:*:*)
 	echo mips-sni-sysv4
-	exit ;;
+	exit 0 ;;
     *:SINIX-*:*:*)
 	if uname -p 2&gt;/dev/null &gt;/dev/null ; then
 		UNAME_MACHINE=`(uname -p) 2&gt;/dev/null`
@@ -1155,72 +1091,68 @@
 	else
 		echo ns32k-sni-sysv
 	fi
-	exit ;;
+	exit 0 ;;
     PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                       # says &lt;Richard.M.Bartel@ccMail.Census.GOV&gt;
         echo i586-unisys-sysv4
-        exit ;;
+        exit 0 ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes &lt;hewes@openmarket.com&gt;.
 	# How about differentiating between stratus architectures? -djm
 	echo hppa1.1-stratus-sysv4
-	exit ;;
+	exit 0 ;;
     *:*:*:FTX*)
 	# From seanf@swdc.stratus.com.
 	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
+	exit 0 ;;
     *:VOS:*:*)
 	# From Paul.Green@stratus.com.
 	echo hppa1.1-stratus-vos
-	exit ;;
+	exit 0 ;;
     mc68*:A/UX:*:*)
 	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     news*:NEWS-OS:6*:*)
 	echo mips-sony-newsos6
-	exit ;;
+	exit 0 ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
 	        echo mips-nec-sysv${UNAME_RELEASE}
 	else
 	        echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit ;;
+        exit 0 ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
-	exit ;;
+	exit 0 ;;
     BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
 	echo powerpc-apple-beos
-	exit ;;
+	exit 0 ;;
     BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
 	echo i586-pc-beos
-	exit ;;
+	exit 0 ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     SX-5:SUPER-UX:*:*)
 	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:Rhapsody:*:*)
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    unknown) UNAME_PROCESSOR=powerpc ;;
+	case `uname -p` in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    powerpc) UNAME_PROCESSOR=powerpc ;;
 	esac
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
 	if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1228,25 +1160,22 @@
 		UNAME_MACHINE=pc
 	fi
 	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
-	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+	exit 0 ;;
+    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
-	exit ;;
+	exit 0 ;;
     BS2000:POSIX*:*:*)
 	echo bs2000-siemens-sysv
-	exit ;;
+	exit 0 ;;
     DS/*:UNIX_System_V:*:*)
 	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
+	exit 0 ;;
     *:Plan9:*:*)
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
@@ -1257,47 +1186,28 @@
 	    UNAME_MACHINE="$cputype"
 	fi
 	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
+	exit 0 ;;
     *:TOPS-10:*:*)
 	echo pdp10-unknown-tops10
-	exit ;;
+	exit 0 ;;
     *:TENEX:*:*)
 	echo pdp10-unknown-tenex
-	exit ;;
+	exit 0 ;;
     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
 	echo pdp10-dec-tops20
-	exit ;;
+	exit 0 ;;
     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
 	echo pdp10-xkl-tops20
-	exit ;;
+	exit 0 ;;
     *:TOPS-20:*:*)
 	echo pdp10-unknown-tops20
-	exit ;;
+	exit 0 ;;
     *:ITS:*:*)
 	echo pdp10-unknown-its
-	exit ;;
+	exit 0 ;;
     SEI:*:*:SEIUX)
         echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2&gt;/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
+	exit 0 ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1&gt;&amp;2
@@ -1329,7 +1239,7 @@
 #endif
 
 #if defined (__arm) &amp;&amp; defined (__acorn) &amp;&amp; defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
+  printf ("arm-acorn-riscix"); exit (0);
 #endif
 
 #if defined (hp300) &amp;&amp; !defined (hpux)
@@ -1418,12 +1328,11 @@
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2&gt;/dev/null &amp;&amp; SYSTEM_NAME=`$dummy` &amp;&amp;
-	{ echo "$SYSTEM_NAME"; exit; }
+$CC_FOR_BUILD -o $dummy $dummy.c 2&gt;/dev/null &amp;&amp; $dummy &amp;&amp; exit 0
 
 # Apollos put the system type in the environment.
 
-test -d /usr/apollo &amp;&amp; { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+test -d /usr/apollo &amp;&amp; { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
 
 # Convex versions that predate uname can use getsysinfo(1)
 
@@ -1432,22 +1341,22 @@
     case `getsysinfo -f cpu_type` in
     c1*)
 	echo c1-convex-bsd
-	exit ;;
+	exit 0 ;;
     c2*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-	exit ;;
+	exit 0 ;;
     c34*)
 	echo c34-convex-bsd
-	exit ;;
+	exit 0 ;;
     c38*)
 	echo c38-convex-bsd
-	exit ;;
+	exit 0 ;;
     c4*)
 	echo c4-convex-bsd
-	exit ;;
+	exit 0 ;;
     esac
 fi
 
@@ -1458,9 +1367,7 @@
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
-and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+    ftp://ftp.gnu.org/pub/gnu/config/
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be

Modified: tcl/rivet/trunk/tclconfig/config.sub
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/config.sub?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/config.sub (original)
+++ tcl/rivet/trunk/tclconfig/config.sub Wed Jun 24 19:41:49 2009
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2006-09-20'
+timestamp='2003-07-04'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -22,15 +21,14 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-
 # Please send patches to &lt;config-patches@gnu.org&gt;.  Submit a context
 # diff and a properly formatted ChangeLog entry.
 #
@@ -72,7 +70,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -85,11 +83,11 @@
 while test $# -gt 0 ; do
   case $1 in
     --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
+       echo "$timestamp" ; exit 0 ;;
     --version | -v )
-       echo "$version" ; exit ;;
+       echo "$version" ; exit 0 ;;
     --help | --h* | -h )
-       echo "$usage"; exit ;;
+       echo "$usage"; exit 0 ;;
     -- )     # Stop option processing
        shift; break ;;
     - )	# Use stdin as input.
@@ -101,7 +99,7 @@
     *local*)
        # First pass through any local machine types.
        echo $1
-       exit ;;
+       exit 0;;
 
     * )
        break ;;
@@ -120,9 +118,7 @@
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -148,7 +144,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
+	-apple | -axis)
 		os=
 		basic_machine=$1
 		;;
@@ -173,10 +169,6 @@
 	-hiux*)
 		os=-hiuxwe2
 		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
 	-sco5)
 		os=-sco3.2v5
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -193,10 +185,6 @@
 		# Don't forget version if it is 3.2v4 or newer.
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
 		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
 	-sco*)
 		os=-sco3.2v2
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -240,17 +228,14 @@
 	| a29k \
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-	| bfin \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore \
+	| ip2k \
+	| m32r | m68000 | m68k | m88k | mcore \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -259,33 +244,27 @@
 	| mips64vr4100 | mips64vr4100el \
 	| mips64vr4300 | mips64vr4300el \
 	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
 	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
-	| mt \
 	| msp430 \
-	| nios | nios2 \
 	| ns16k | ns32k \
-	| or32 \
+	| openrisc | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| score \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
+	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+	| strongarm \
 	| tahoe | thumb | tic4x | tic80 | tron \
 	| v850 | v850e \
 	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xscale | xstormy16 | xtensa \
 	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
@@ -296,9 +275,6 @@
 		;;
 	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
 		;;
-	ms1)
-		basic_machine=mt-unknown
-		;;
 
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
@@ -316,22 +292,22 @@
 	| a29k-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| bfin-* | bs2000-* \
+	| avr-* \
+	| bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| clipper-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| m32c-* | m32r-* | m32rle-* \
+	| ip2k-* \
+	| m32r-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| m88110-* | m88k-* | mcore-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -340,36 +316,30 @@
 	| mips64vr4100-* | mips64vr4100el-* \
 	| mips64vr4300-* | mips64vr4300el-* \
 	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
 	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
 	| msp430-* \
-	| nios-* | nios2-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
+	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
 	| pyramid-* \
 	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
 	| tahoe-* | thumb-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tron-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+	| xtensa-* \
 	| ymp-* \
 	| z8k-*)
 		;;
@@ -389,9 +359,6 @@
 		basic_machine=a29k-amd
 		os=-udi
 		;;
-    	abacus)
-		basic_machine=abacus-unknown
-		;;
 	adobe68k)
 		basic_machine=m68010-adobe
 		os=-scout
@@ -409,9 +376,6 @@
 	amd64)
 		basic_machine=x86_64-pc
 		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
 	amdahl)
 		basic_machine=580-amdahl
 		os=-sysv
@@ -471,27 +435,12 @@
 		basic_machine=j90-cray
 		os=-unicos
 		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16c)
-		basic_machine=cr16c-unknown
-		os=-elf
-		;;
 	crds | unos)
 		basic_machine=m68k-crds
 		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
 	cris | cris-* | etrax*)
 		basic_machine=cris-axis
 		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
 	da30 | da30-*)
 		basic_machine=m68k-da30
 		;;
@@ -514,10 +463,6 @@
 		basic_machine=m88k-motorola
 		os=-sysv3
 		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
 	dpx20 | dpx20-*)
 		basic_machine=rs6000-bull
 		os=-bosx
@@ -696,6 +641,10 @@
 	mips3*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
 		;;
+	mmix*)
+		basic_machine=mmix-knuth
+		os=-mmixware
+		;;
 	monitor)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -708,9 +657,6 @@
 		basic_machine=i386-pc
 		os=-msdos
 		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
 	mvs)
 		basic_machine=i370-ibm
 		os=-mvs
@@ -779,6 +725,10 @@
 	np1)
 		basic_machine=np1-gould
 		;;
+	nv1)
+		basic_machine=nv1-cray
+		os=-unicosmp
+		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -786,12 +736,9 @@
 		basic_machine=hppa1.1-oki
 		os=-proelf
 		;;
-	openrisc | openrisc-*)
+	or32 | or32-*)
 		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
+		os=-coff
 		;;
 	OSE68000 | ose68000)
 		basic_machine=m68000-ericsson
@@ -818,12 +765,6 @@
 	pc532 | pc532-*)
 		basic_machine=ns32k-pc532
 		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
 	pentium | p5 | k5 | k6 | nexgen | viac3)
 		basic_machine=i586-pc
 		;;
@@ -880,10 +821,6 @@
 		basic_machine=i586-unknown
 		os=-pw32
 		;;
-	rdos)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
 	rom68k)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -910,10 +847,6 @@
 	sb1el)
 		basic_machine=mipsisa64sb1el-unknown
 		;;
-	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
-		;;
 	sei)
 		basic_machine=mips-sei
 		os=-seiux
@@ -1027,10 +960,6 @@
 	tower | tower-32)
 		basic_machine=m68k-ncr
 		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
-		;;
 	udi29k)
 		basic_machine=a29k-amd
 		os=-udi
@@ -1074,10 +1003,6 @@
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
 	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
@@ -1108,9 +1033,6 @@
 	romp)
 		basic_machine=romp-ibm
 		;;
-	mmix)
-		basic_machine=mmix-knuth
-		;;
 	rs6000)
 		basic_machine=rs6000-ibm
 		;;
@@ -1127,10 +1049,13 @@
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparc | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
 	cydra)
@@ -1203,23 +1128,19 @@
 	      | -aos* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
-	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers*)
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1237,15 +1158,12 @@
 		os=`echo $os | sed -e 's|nto|nto-qnx|'`
 		;;
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
 	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
 		;;
 	-mac*)
 		os=`echo $os | sed -e 's|mac|macos|'`
 		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
 	-linux*)
 		os=`echo $os | sed -e 's|linux|linux-gnu|'`
 		;;
@@ -1258,9 +1176,6 @@
 	-opened*)
 		os=-openedition
 		;;
-        -os400*)
-		os=-os400
-		;;
 	-wince*)
 		os=-wince
 		;;
@@ -1282,9 +1197,6 @@
 	-atheos*)
 		os=-atheos
 		;;
-	-syllable*)
-		os=-syllable
-		;;
 	-386bsd)
 		os=-bsd
 		;;
@@ -1307,9 +1219,6 @@
 	-sinix*)
 		os=-sysv4
 		;;
-        -tpf*)
-		os=-tpf
-		;;
 	-triton*)
 		os=-sysv3
 		;;
@@ -1346,9 +1255,6 @@
 	-kaos*)
 		os=-kaos
 		;;
-	-zvmoe)
-		os=-zvmoe
-		;;
 	-none)
 		;;
 	*)
@@ -1371,12 +1277,6 @@
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
-		os=-elf
-		;;
-        spu-*)
-		os=-elf
-		;;
 	*-acorn)
 		os=-riscix1.2
 		;;
@@ -1386,9 +1286,9 @@
 	arm*-semi)
 		os=-aout
 		;;
-        c4x-* | tic4x-*)
-        	os=-coff
-		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
 	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
@@ -1432,15 +1332,9 @@
 	*-be)
 		os=-beos
 		;;
-	*-haiku)
-		os=-haiku
-		;;
 	*-ibm)
 		os=-aix
 		;;
-    	*-knuth)
-		os=-mmixware
-		;;
 	*-wec)
 		os=-proelf
 		;;
@@ -1573,15 +1467,9 @@
 			-mvs* | -opened*)
 				vendor=ibm
 				;;
-			-os400*)
-				vendor=ibm
-				;;
 			-ptx*)
 				vendor=sequent
 				;;
-			-tpf*)
-				vendor=ibm
-				;;
 			-vxsim* | -vxworks* | -windiss*)
 				vendor=wrs
 				;;
@@ -1606,7 +1494,7 @@
 esac
 
 echo $basic_machine$os
-exit
+exit 0
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)

Modified: tcl/rivet/trunk/tclconfig/install-sh
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/install-sh?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/install-sh (original)
+++ tcl/rivet/trunk/tclconfig/install-sh Wed Jun 24 19:41:49 2009
@@ -1,52 +1,22 @@
 #!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2003-09-24.23
 
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
+# install - install a program, script, or datafile
+# This comes from X11R5; it is not part of GNU.
 #
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
+# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.  It can only install one file at a time, a restriction
-# shared with many OS's install programs.
+# from scratch.
+#
+
 
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
 doit="${DOITPROG-}"
 
+
 # put in absolute paths if you don't have them in your path; or use env. vars.
 
 mvprog="${MVPROG-mv}"
@@ -56,240 +26,94 @@
 chgrpprog="${CHGRPPROG-chgrp}"
 stripprog="${STRIPPROG-strip}"
 rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
 
-transformbasename=
-transform_arg=
 instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=
-chgrpcmd=
-stripcmd=
+chmodcmd=""
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
 rmcmd="$rmprog -f"
 mvcmd="$mvprog"
-src=
-dst=
-dir_arg=
-
-usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
-   or: $0 -d DIR1 DIR2...
-
-In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
-In the second, create the directory path DIR.
-
-Options:
--b=TRANSFORMBASENAME
--c         copy source (using $cpprog) instead of moving (using $mvprog).
--d         create directories instead of installing files.
--g GROUP   $chgrp installed files to GROUP.
--m MODE    $chmod installed files to MODE.
--o USER    $chown installed files to USER.
--s         strip installed files (using $stripprog).
--t=TRANSFORM
---help     display this help and exit.
---version  display version info and exit.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
-"
-
-while test -n "$1"; do
-  case $1 in
-    -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-        shift
-        continue;;
-
-    -c) instcmd=$cpprog
-        shift
-        continue;;
-
-    -d) dir_arg=true
-        shift
-        continue;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-        shift
-        shift
-        continue;;
-
-    --help) echo "$usage"; exit 0;;
-
-    -m) chmodcmd="$chmodprog $2"
-        shift
-        shift
-        continue;;
-
-    -o) chowncmd="$chownprog $2"
-        shift
-        shift
-        continue;;
-
-    -s) stripcmd=$stripprog
-        shift
-        continue;;
-
-    -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-        shift
-        continue;;
-
-    --version) echo "$0 $scriptversion"; exit 0;;
-
-    *)  if test -z "$src"; then
-          src=$1
-        else
-          # this colon is to work around a 386BSD /bin/sh bug
-          :
-          dst=$1
-        fi
-        shift
-        continue;;
-  esac
+src=""
+dst=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+	-c) instcmd="$cpprog"
+	    shift
+	    continue;;
+
+	-m) chmodcmd="$chmodprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-o) chowncmd="$chownprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-g) chgrpcmd="$chgrpprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-s) stripcmd="$stripprog"
+	    shift
+	    continue;;
+
+	*)  if [ x"$src" = x ]
+	    then
+		src=$1
+	    else
+		dst=$1
+	    fi
+	    shift
+	    continue;;
+    esac
 done
 
-if test -z "$src"; then
-  echo "$0: no input file specified." &gt;&amp;2
-  exit 1
+if [ x"$src" = x ]
+then
+	echo "install:  no input file specified"
+	exit 1
 fi
 
-# Protect names starting with `-'.
-case $src in
-  -*) src=./$src ;;
-esac
-
-if test -n "$dir_arg"; then
-  dst=$src
-  src=
-
-  if test -d "$dst"; then
-    instcmd=:
-    chmodcmd=
-  else
-    instcmd=$mkdirprog
-  fi
-else
-  # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-  # might cause directories to be created, which would be especially bad
-  # if $src (and thus $dsttmp) contains '*'.
-  if test ! -f "$src" &amp;&amp; test ! -d "$src"; then
-    echo "$0: $src does not exist." &gt;&amp;2
-    exit 1
-  fi
-
-  if test -z "$dst"; then
-    echo "$0: no destination specified." &gt;&amp;2
-    exit 1
-  fi
-
-  # Protect names starting with `-'.
-  case $dst in
-    -*) dst=./$dst ;;
-  esac
-
-  # If destination is a directory, append the input filename; won't work
-  # if double slashes aren't ignored.
-  if test -d "$dst"; then
-    dst=$dst/`basename "$src"`
-  fi
+if [ x"$dst" = x ]
+then
+	echo "install:  no destination specified"
+	exit 1
 fi
 
-# This sed command emulates the dirname command.
-dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
-# Make sure that the destination directory exists.
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
 
-# Skip lots of stat calls in the usual case.
-if test ! -d "$dstdir"; then
-  defaultIFS='
-	'
-  IFS="${IFS-$defaultIFS}"
-
-  oIFS=$IFS
-  # Some sh's can't handle IFS=/ for some reason.
-  IFS='%'
-  set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
-  IFS=$oIFS
-
-  pathcomp=
-
-  while test $# -ne 0 ; do
-    pathcomp=$pathcomp$1
-    shift
-    test -d "$pathcomp" || $mkdirprog "$pathcomp"
-    pathcomp=$pathcomp/
-  done
+if [ -d $dst ]
+then
+	dst="$dst"/`basename $src`
 fi
 
-if test -n "$dir_arg"; then
-  $doit $instcmd "$dst" \
-    &amp;&amp; { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
-    &amp;&amp; { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
-    &amp;&amp; { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
-    &amp;&amp; { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
-
-else
-  # If we're going to rename the final executable, determine the name now.
-  if test -z "$transformarg"; then
-    dstfile=`basename "$dst"`
-  else
-    dstfile=`basename "$dst" $transformbasename \
-             | sed $transformarg`$transformbasename
-  fi
-
-  # don't allow the sed command to completely eliminate the filename.
-  test -z "$dstfile" &amp;&amp; dstfile=`basename "$dst"`
-
-  # Make a couple of temp file names in the proper directory.
-  dsttmp=$dstdir/_inst.$$_
-  rmtmp=$dstdir/_rm.$$_
-
-  # Trap to clean up those temp files at exit.
-  trap 'status=$?; rm -f "$dsttmp" "$rmtmp" &amp;&amp; exit $status' 0
-  trap '(exit $?); exit' 1 2 13 15
-
-  # Move or copy the file name to the temp name
-  $doit $instcmd "$src" "$dsttmp" &amp;&amp;
-
-  # and set any options; do chmod last to preserve setuid bits.
-  #
-  # If any of these fail, we abort the whole thing.  If we want to
-  # ignore errors from any of these, just make sure not to ignore
-  # errors from the above "$doit $instcmd $src $dsttmp" command.
-  #
-  { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
-    &amp;&amp; { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
-    &amp;&amp; { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
-    &amp;&amp; { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &amp;&amp;
-
-  # Now remove or move aside any old file at destination location.  We
-  # try this two ways since rm can't unlink itself on some systems and
-  # the destination file might be busy for other reasons.  In this case,
-  # the final cleanup might fail but the new file should still install
-  # successfully.
-  {
-    if test -f "$dstdir/$dstfile"; then
-      $doit $rmcmd -f "$dstdir/$dstfile" 2&gt;/dev/null \
-      || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2&gt;/dev/null \
-      || {
-	  echo "$0: cannot unlink or rename $dstdir/$dstfile" &gt;&amp;2
-	  (exit 1); exit
-      }
-    else
-      :
-    fi
-  } &amp;&amp;
-
-  # Now rename the file to the real destination.
-  $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
-fi &amp;&amp;
-
-# The final little trick to "correctly" pass the exit status to the exit trap.
-{
-  (exit 0); exit
-}
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
+# Make a temp file name in the proper directory.
+
+dstdir=`dirname $dst`
+dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+$doit $instcmd $src $dsttmp
+
+# and set any options; do chmod last to preserve setuid bits
+
+if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
+if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
+if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
+if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
+
+# Now rename the file to the real destination.
+
+$doit $rmcmd $dst
+$doit $mvcmd $dsttmp $dst
+
+
+exit 0



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788155 [2/4] - in /tcl/rivet/trunk: ./ tclconfig/</title>
<author><name>karl@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624194150.9484723888A0@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624194150-9484723888A0@eris-apache-org%3e</id>
<updated>2009-06-24T19:41:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Modified: tcl/rivet/trunk/tclconfig/libtool.m4
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/tclconfig/libtool.m4?rev=788155&amp;r1=788154&amp;r2=788155&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/tclconfig/libtool.m4 (original)
+++ tcl/rivet/trunk/tclconfig/libtool.m4 Wed Jun 24 19:41:49 2009
@@ -1,28 +1,13 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
-## Free Software Foundation, Inc.
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007,
+## 2008  Free Software Foundation, Inc.
 ## Originally by Gordon Matzigkeit &lt;gord@gnu.ai.mit.edu&gt;, 1996
 ##
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-## General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program; if not, write to the Free Software
-## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-##
-## As a special exception to the GNU General Public License, if you
-## distribute this file as part of a program that contains a
-## configuration script generated by Autoconf, you may include it under
-## the same distribution terms that you use for the rest of that program.
+## This file is free software; the Free Software Foundation gives
+## unlimited permission to copy and/or distribute it, with or without
+## modifications, as long as this notice is preserved.
 
-# serial 47 AC_PROG_LIBTOOL
+# serial 52 AC_PROG_LIBTOOL
 
 
 # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
@@ -110,7 +95,6 @@
 AC_REQUIRE([AC_OBJEXT])dnl
 AC_REQUIRE([AC_EXEEXT])dnl
 dnl
-
 AC_LIBTOOL_SYS_MAX_CMD_LEN
 AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
 AC_LIBTOOL_OBJDIR
@@ -132,7 +116,7 @@
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e s/^X//'
+Xsed='sed -e 1s/^X//'
 [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
 
 # Same as above, but do not quote variable references.
@@ -152,7 +136,7 @@
 default_ofile=libtool
 can_build_shared=yes
 
-# All known linkers require a `.a' archive for static linking (except M$VC,
+# All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
 ltmain="$ac_aux_dir/ltmain.sh"
@@ -172,6 +156,7 @@
 test -z "$AS" &amp;&amp; AS=as
 test -z "$CC" &amp;&amp; CC=cc
 test -z "$LTCC" &amp;&amp; LTCC=$CC
+test -z "$LTCFLAGS" &amp;&amp; LTCFLAGS=$CFLAGS
 test -z "$DLLTOOL" &amp;&amp; DLLTOOL=dlltool
 test -z "$LD" &amp;&amp; LD=ld
 test -z "$LN_S" &amp;&amp; LN_S="ln -s"
@@ -184,23 +169,23 @@
 test -z "$ac_objext" &amp;&amp; ac_objext=o
 
 # Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs'
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
 old_postinstall_cmds='chmod 644 $oldlib'
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
     ;;
   *)
-    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
     ;;
   esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # Only perform the check for file, if the check method requires it
 case $deplibs_check_method in
@@ -211,6 +196,8 @@
   ;;
 esac
 
+_LT_REQUIRED_DARWIN_CHECKS
+
 AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 enable_win32_dll=yes, enable_win32_dll=no)
@@ -242,11 +229,129 @@
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
 # Allow CC to be a program name with arguments.
 compiler=$CC
 ])# _LT_AC_SYS_COMPILER
 
 
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" &gt;conftest.$ac_ext
+eval "$ac_compile" 2&gt;&amp;1 &gt;/dev/null | $SED '/^$/d; /^ *+/d' &gt;conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" &gt;conftest.$ac_ext
+eval "$ac_link" 2&gt;&amp;1 &gt;/dev/null | $SED '/^$/d; /^ *+/d' &gt;conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# --------------------------
+# Check for some things on darwin
+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+   # By default we will add the -single_module flag. You can override
+   # by either setting the environment variable LT_MULTI_MODULE
+   # non-empty at configure time, or by adding -multi_module to the
+   # link flags.
+   echo "int foo(void){return 1;}" &gt; conftest.c
+   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+     -dynamiclib ${wl}-single_module conftest.c
+   if test -f libconftest.dylib; then
+     lt_cv_apple_cc_single_mod=yes
+     rm -rf libconftest.dylib*
+   fi
+   rm conftest.c
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" &gt; conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+   [lt_cv_ld_exported_symbols_list=yes],
+   [lt_cv_ld_exported_symbols_list=no])
+   LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[0123]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*)
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+   10.[[012]]*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+   10.*)
+     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil="~$DSYMUTIL \$lib || :"
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
 # _LT_AC_SYS_LIBPATH_AIX
 # ----------------------
 # Links a minimal program and checks the executable
@@ -256,12 +361,20 @@
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
 AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-aix_libpath=`dump -H conftest$ac_exeext 2&gt;/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2&gt;/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
 # Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2&gt;/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`; fi],[])
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2&gt;/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 ])# _LT_AC_SYS_LIBPATH_AIX
 
@@ -326,8 +439,8 @@
 # find a string as large as possible, as long as the shell can cope with it
   for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
     # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string="`eval $cmd`") 2&gt;/dev/null &amp;&amp;
-       echo_test_string="`eval $cmd`" &amp;&amp;
+    if (echo_test_string=`eval $cmd`) 2&gt;/dev/null &amp;&amp;
+       echo_test_string=`eval $cmd` &amp;&amp;
        (test "X$echo_test_string" = "X$echo_test_string") 2&gt;/dev/null
     then
       break
@@ -492,13 +605,17 @@
   rm -rf conftest*
   ;;
 
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' &gt; conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
-    case "`/usr/bin/file conftest.o`" in
+    case `/usr/bin/file conftest.o` in
     *32-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_i386_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_i386"
           ;;
@@ -515,6 +632,9 @@
       ;;
     *64-bit*)
       case $host in
+        x86_64-*kfreebsd*-gnu)
+          LD="${LD-ld} -m elf_x86_64_fbsd"
+          ;;
         x86_64-*linux*)
           LD="${LD-ld} -m elf_x86_64"
           ;;
@@ -547,6 +667,26 @@
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' &gt; conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+        if ${LD-ld} -64 -r -o conftest2.o conftest.o &gt;/dev/null 2&gt;&amp;1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
 AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
 [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
@@ -570,7 +710,7 @@
 AC_CACHE_CHECK([$1], [$2],
   [$2=no
   ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   printf "$lt_simple_compile_test_code" &gt; conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" &gt; conftest.$ac_ext
    lt_compiler_flag="$3"
    # Insert the option either (1) after the last *FLAGS variable, or
    # (2) before a word containing "conftest.", or (3) at the end.
@@ -578,7 +718,7 @@
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    # The option is referenced via a variable to avoid confusing sed.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&amp;$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&amp;$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&amp;:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" &gt;&amp;AS_MESSAGE_LOG_FD)
@@ -588,8 +728,10 @@
    echo "$as_me:__oline__: \$? = $ac_status" &gt;&amp;AS_MESSAGE_LOG_FD
    if (exit $ac_status) &amp;&amp; test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test ! -s conftest.err; then
+     # So say no if there are warnings other than the usual output.
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' &gt;conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err &gt;conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 &gt;/dev/null; then
        $2=yes
      fi
    fi
@@ -609,22 +751,28 @@
 # ------------------------------------------------------------
 # Check whether the given compiler option works
 AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_CACHE_CHECK([$1], [$2],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
   [$2=no
    save_LDFLAGS="$LDFLAGS"
    LDFLAGS="$LDFLAGS $3"
-   printf "$lt_simple_link_test_code" &gt; conftest.$ac_ext
+   echo "$lt_simple_link_test_code" &gt; conftest.$ac_ext
    if (eval $ac_link 2&gt;conftest.err) &amp;&amp; test -s conftest$ac_exeext; then
-     # The compiler can only warn and ignore the option if not recognized
+     # The linker can only warn and ignore the option if not recognized
      # So say no if there are warnings
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1&gt;&amp;AS_MESSAGE_LOG_FD
+       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' &gt; conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err &gt;conftest.er2
+       if diff conftest.exp conftest.er2 &gt;/dev/null; then
+         $2=yes
+       fi
      else
        $2=yes
      fi
    fi
-   $rm conftest*
+   $rm -r conftest*
    LDFLAGS="$save_LDFLAGS"
 ])
 
@@ -678,38 +826,71 @@
     lt_cv_sys_max_cmd_len=8192;
     ;;
 
-  netbsd* | freebsd* | openbsd* | darwin* )
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
     # This has been around since 386BSD, at least.  Likely further.
     if test -x /sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
     elif test -x /usr/sbin/sysctl; then
       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
     else
-      lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
     fi
     # And add a safety zone
     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
     ;;
 
- *)
-    # If test is not a shell built-in, we'll probably end up computing a
-    # maximum length that is only half of the actual maximum length, but
-    # we can't tell.
-    SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-    while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2&gt;/dev/null` \
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2&gt;/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2&gt; /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2&gt;/dev/null` \
 	       = "XX$teststring") &gt;/dev/null 2&gt;&amp;1 &amp;&amp;
-	    new_result=`expr "X$teststring" : ".*" 2&gt;&amp;1` &amp;&amp;
-	    lt_cv_sys_max_cmd_len=$new_result &amp;&amp;
-	    test $i != 17 # 1/2 MB should be enough
-    do
-      i=`expr $i + 1`
-      teststring=$teststring$teststring
-    done
-    teststring=
-    # Add a significant safety factor because C++ compilers can tack on massive
-    # amounts of additional arguments before passing them to the linker.
-    # It appears as though 1/2 is a usable value.
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+	      new_result=`expr "X$teststring" : ".*" 2&gt;&amp;1` &amp;&amp;
+	      lt_cv_sys_max_cmd_len=$new_result &amp;&amp;
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on massive
+      # amounts of additional arguments before passing them to the linker.
+      # It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
     ;;
   esac
 ])
@@ -722,7 +903,7 @@
 
 
 # _LT_AC_CHECK_DLFCN
-# --------------------
+# ------------------
 AC_DEFUN([_LT_AC_CHECK_DLFCN],
 [AC_CHECK_HEADERS(dlfcn.h)dnl
 ])# _LT_AC_CHECK_DLFCN
@@ -730,7 +911,7 @@
 
 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
 #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ------------------------------------------------------------------
+# ---------------------------------------------------------------------
 AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
 if test "$cross_compiling" = yes; then :
@@ -796,17 +977,19 @@
       else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
       /* dlclose (self); */
     }
+  else
+    puts (dlerror ());
 
     exit (status);
 }]
 EOF
   if AC_TRY_EVAL(ac_link) &amp;&amp; test -s conftest${ac_exeext} 2&gt;/dev/null; then
-    (./conftest; exit; ) 2&gt;/dev/null
+    (./conftest; exit; ) &gt;&amp;AS_MESSAGE_LOG_FD 2&gt;/dev/null
     lt_status=$?
     case x$lt_status in
       x$lt_dlno_uscore) $1 ;;
       x$lt_dlneed_uscore) $2 ;;
-      x$lt_unknown|x*) $3 ;;
+      x$lt_dlunknown|x*) $3 ;;
     esac
   else :
     # compilation failed
@@ -818,7 +1001,7 @@
 
 
 # AC_LIBTOOL_DLOPEN_SELF
-# -------------------
+# ----------------------
 AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
 [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
 if test "x$enable_dlopen" != xyes; then
@@ -860,7 +1043,7 @@
     AC_CHECK_FUNC([shl_load],
 	  [lt_cv_dlopen="shl_load"],
       [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
 	[AC_CHECK_FUNC([dlopen],
 	      [lt_cv_dlopen="dlopen"],
 	  [AC_CHECK_LIB([dl], [dlopen],
@@ -868,7 +1051,7 @@
 	    [AC_CHECK_LIB([svld], [dlopen],
 		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
 	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
 	      ])
 	    ])
 	  ])
@@ -889,7 +1072,7 @@
     test "x$ac_cv_header_dlfcn_h" = xyes &amp;&amp; CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
 
     save_LDFLAGS="$LDFLAGS"
-    eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
 
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
@@ -902,7 +1085,7 @@
     ])
 
     if test "x$lt_cv_dlopen_self" = xyes; then
-      LDFLAGS="$LDFLAGS $link_static_flag"
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
     	  lt_cv_dlopen_self_static, [dnl
 	  _LT_AC_TRY_DLOPEN_SELF(
@@ -934,7 +1117,8 @@
 # ---------------------------------
 # Check to see if options -c and -o are simultaneously supported by compiler
 AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
   [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
@@ -942,7 +1126,7 @@
    mkdir conftest
    cd conftest
    mkdir out
-   printf "$lt_simple_compile_test_code" &gt; conftest.$ac_ext
+   echo "$lt_simple_compile_test_code" &gt; conftest.$ac_ext
 
    lt_compiler_flag="-o out/conftest2.$ac_objext"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -950,7 +1134,7 @@
    # Note that $ac_compile itself does not contain backslashes and begins
    # with a dollar sign (not a hyphen), so the echo should work correctly.
    lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}? :&amp;$lt_compiler_flag :; t' \
+   -e 's:.*FLAGS}\{0,1\} :&amp;$lt_compiler_flag :; t' \
    -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&amp;:; t' \
    -e 's:$: $lt_compiler_flag:'`
    (eval echo "\"\$as_me:__oline__: $lt_compile\"" &gt;&amp;AS_MESSAGE_LOG_FD)
@@ -962,11 +1146,13 @@
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     if test ! -s out/conftest.err; then
+     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' &gt; out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err &gt;out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 &gt;/dev/null; then
        _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      fi
    fi
-   chmod u+w .
+   chmod u+w . 2&gt;&amp;AS_MESSAGE_LOG_FD
    $rm conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
@@ -1080,6 +1266,7 @@
    darwin*)
        if test -n "$STRIP" ; then
          striplib="$STRIP -x"
+         old_striplib="$STRIP -S"
          AC_MSG_RESULT([yes])
        else
   AC_MSG_RESULT([no])
@@ -1097,7 +1284,8 @@
 # -----------------------------
 # PORTME Fill in your ld.so characteristics
 AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_MSG_CHECKING([dynamic linker characteristics])
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -1111,20 +1299,58 @@
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
 if test "$GCC" = yes; then
-  sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$sys_lib_search_path_spec" | grep ';' &gt;/dev/null ; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' &gt;/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2&gt;/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" &amp;&amp; \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i &gt; 0; lt_i--) {
+    if ($lt_i != "" &amp;&amp; $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
+fi])
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -1142,7 +1368,7 @@
   soname_spec='${libname}${release}${shared_ext}$major'
   ;;
 
-aix4* | aix5*)
+aix[[4-9]]*)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1226,7 +1452,8 @@
       dlpath=`$SHELL 2&gt;&amp;1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname'
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname'
     postuninstall_cmds='dldll=`$SHELL 2&gt;&amp;1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
        $rm \$dlpath'
@@ -1256,7 +1483,7 @@
       ;;
     pw32*)
       # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
     ;;
@@ -1279,13 +1506,9 @@
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='$(test .$module = .yes &amp;&amp; echo .so || echo .dylib)'
-  # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
-  if test "$GCC" = yes; then
-    sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,&amp; /lib /usr/lib /usr/local/lib,g"`
-  else
-    sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib'
-  fi
+  shrext_cmds='`test .$module = .yes &amp;&amp; echo .so || echo .dylib`'
+  m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
   sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
   ;;
 
@@ -1302,20 +1525,17 @@
   dynamic_linker=no
   ;;
 
-kfreebsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
-freebsd*)
-  objformat=`test -x /usr/bin/objformat &amp;&amp; /usr/bin/objformat || echo aout`
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
   version_type=freebsd-$objformat
   case $version_type in
     freebsd-elf*)
@@ -1333,14 +1553,19 @@
   freebsd2*)
     shlibpath_overrides_runpath=yes
     ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
     shlibpath_overrides_runpath=yes
     hardcode_into_libs=yes
     ;;
-  *) # from 3.2 on
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
     shlibpath_overrides_runpath=no
     hardcode_into_libs=yes
     ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
   esac
   ;;
 
@@ -1360,7 +1585,7 @@
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     shrext_cmds='.so'
     hardcode_into_libs=yes
@@ -1400,6 +1625,18 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
+interix[[3-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $host_os in
     nonstopux*) version_type=nonstopux ;;
@@ -1443,7 +1680,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   version_type=linux
   need_lib_prefix=no
   need_version=no
@@ -1459,7 +1696,7 @@
 
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`$SED -e 's/[:,\t]/ /g;s/=[^=]*$//;s/=[^= ]* / /g' /etc/ld.so.conf | tr '\n' ' '`
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2&gt;/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' &lt; /etc/ld.so.conf | $SED -e 's/#.*//;/^[ 	]*hwcap[ 	]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -1472,18 +1709,6 @@
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-knetbsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='GNU ld.so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -1521,8 +1746,13 @@
 
 openbsd*)
   version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
   need_lib_prefix=no
-  need_version=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
@@ -1560,11 +1790,8 @@
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
   ;;
 
-sco3.2v5*)
-  version_type=osf
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
+rdos*)
+  dynamic_linker=no
   ;;
 
 solaris*)
@@ -1592,7 +1819,7 @@
   need_version=yes
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -1625,6 +1852,29 @@
   fi
   ;;
 
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -1638,13 +1888,26 @@
 esac
 AC_MSG_RESULT([$dynamic_linker])
 test "$dynamic_linker" = no &amp;&amp; can_build_shared=no
+
+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
 
 
 # _LT_AC_TAGCONFIG
 # ----------------
 AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_ARG_WITH([tags],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
     [AC_HELP_STRING([--with-tags@&lt;:@=TAGS@:&gt;@],
         [include additional configurations @&lt;:@automatic@:&gt;@])],
     [tagnames="$withval"])
@@ -1662,6 +1925,9 @@
       AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
     fi
   fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
 
   # Extract list of available tagged configurations in $ofile.
   # Note that this assumes the entire list is on one line.
@@ -1689,7 +1955,7 @@
       case $tagname in
       CXX)
 	if test -n "$CXX" &amp;&amp; ( test "X$CXX" != "Xno" &amp;&amp;
-	    ( (test "X$CXX" = "Xg++" &amp;&amp; `g++ -v &gt;/dev/null 2&gt;&amp;1` ) || 
+	    ( (test "X$CXX" = "Xg++" &amp;&amp; `g++ -v &gt;/dev/null 2&gt;&amp;1` ) ||
 	    (test "X$CXX" != "Xg++"))) ; then
 	  AC_LIBTOOL_LANG_CXX_CONFIG
 	else
@@ -1752,7 +2018,7 @@
 
 # AC_LIBTOOL_WIN32_DLL
 # --------------------
-# declare package support for building win32 dll's
+# declare package support for building win32 DLLs
 AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
 [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
 ])# AC_LIBTOOL_WIN32_DLL
@@ -1790,7 +2056,7 @@
 
 # AC_DISABLE_SHARED
 # -----------------
-#- set the default shared flag to --disable-shared
+# set the default shared flag to --disable-shared
 AC_DEFUN([AC_DISABLE_SHARED],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
 AC_ENABLE_SHARED(no)
@@ -1902,7 +2168,7 @@
 
 # AC_PATH_TOOL_PREFIX
 # -------------------
-# find a file program which can recognise shared library
+# find a file program which can recognize shared library
 AC_DEFUN([AC_PATH_TOOL_PREFIX],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_MSG_CHECKING([for $1])
@@ -1926,7 +2192,7 @@
       if test -n "$file_magic_test_file"; then
 	case $deplibs_check_method in
 	"file_magic "*)
-	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
 	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 	  if eval $file_magic_cmd \$file_magic_test_file 2&gt; /dev/null |
 	    $EGREP "$file_magic_regex" &gt; /dev/null; then
@@ -1965,7 +2231,7 @@
 
 # AC_PATH_MAGIC
 # -------------
-# find a file program which can recognise a shared library
+# find a file program which can recognize a shared library
 AC_DEFUN([AC_PATH_MAGIC],
 [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
 if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -2036,7 +2302,7 @@
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
       lt_cv_path_LD="$ac_dir/$ac_prog"
       # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
+      # but apparently some variants of GNU ld only accept -v.
       # Break only if it was the GNU/non-GNU ld that we prefer.
       case `"$lt_cv_path_LD" -v 2&gt;&amp;1 &lt;/dev/null` in
       *GNU* | *'with BFD'*)
@@ -2068,7 +2334,7 @@
 AC_DEFUN([AC_PROG_LD_GNU],
 [AC_REQUIRE([AC_PROG_EGREP])dnl
 AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
 case `$LD -v 2&gt;&amp;1 &lt;/dev/null` in
 *GNU* | *'with BFD'*)
   lt_cv_prog_gnu_ld=yes
@@ -2098,7 +2364,7 @@
 case $host_os in
   darwin*)
     if test "$GCC" = yes; then
-      reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs'
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
     else
       reload_cmds='$LD$reload_flag -o $output$reload_objs'
     fi
@@ -2112,7 +2378,7 @@
 # how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependent libraries],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
@@ -2129,7 +2395,7 @@
 # whether `pass_all' will *always* work, you probably want this one.
 
 case $host_os in
-aix4* | aix5*)
+aix[[4-9]]*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -2151,22 +2417,28 @@
 
 mingw* | pw32*)
   # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump'.
-  lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) &gt;/dev/null 2&gt;&amp;1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
   ;;
 
 darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* | kfreebsd*-gnu)
+freebsd* | dragonfly*)
   if echo __ELF__ | $CC -E - | grep __ELF__ &gt; /dev/null; then
     case $host_cpu in
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
       ;;
@@ -2182,7 +2454,7 @@
 
 hpux10.20* | hpux11*)
   lt_cv_file_magic_cmd=/usr/bin/file
-  case "$host_cpu" in
+  case $host_cpu in
   ia64*)
     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@@ -2198,6 +2470,11 @@
   esac
   ;;
 
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
 irix5* | irix6* | nonstopux*)
   case $LD in
   *-32|*"-32 ") libmagic=32-bit;;
@@ -2209,7 +2486,7 @@
   ;;
 
 # This must be Linux ELF.
-linux*)
+linux* | k*bsd*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -2243,7 +2520,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-sco3.2v5*)
+rdos*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
@@ -2251,7 +2528,7 @@
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+sysv4 | sysv4.3*)
   case $host_vendor in
   motorola)
     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
@@ -2272,10 +2549,13 @@
   siemens)
     lt_cv_deplibs_check_method=pass_all
     ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
   esac
   ;;
 
-sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*)
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 esac
@@ -2295,36 +2575,43 @@
   # Let the user override the test.
   lt_cv_path_NM="$NM"
 else
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" &amp;&amp; ac_dir=.
-    tmp_nm="$ac_dir/${ac_tool_prefix}nm"
-    if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-      # Check to see if the nm accepts a BSD-compat flag.
-      # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-      #   nm: unknown option "B" ignored
-      # Tru64's nm complains that /dev/null is an invalid object file
-      case `"$tmp_nm" -B /dev/null 2&gt;&amp;1 | sed '1q'` in
-      */dev/null* | *'Invalid file or object type'*)
-	lt_cv_path_NM="$tmp_nm -B"
-	break
-        ;;
-      *)
-	case `"$tmp_nm" -p /dev/null 2&gt;&amp;1 | sed '1q'` in
-	*/dev/null*)
-	  lt_cv_path_NM="$tmp_nm -p"
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" &amp;&amp; test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" &amp;&amp; ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2&gt;&amp;1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
 	  break
 	  ;;
 	*)
-	  lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	  continue # so that we can try to find one that supports BSD flags
+	  case `"$tmp_nm" -p /dev/null 2&gt;&amp;1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
 	  ;;
 	esac
-      esac
-    fi
+      fi
+    done
+    IFS="$lt_save_ifs"
   done
-  IFS="$lt_save_ifs"
   test -z "$lt_cv_path_NM" &amp;&amp; lt_cv_path_NM=nm
 fi])
 NM="$lt_cv_path_NM"
@@ -2356,13 +2643,13 @@
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl convenience library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and
-# top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
   case $enable_ltdl_convenience in
@@ -2381,13 +2668,13 @@
 # -----------------------------------
 # sets LIBLTDL to the link flags for the libltdl installable library and
 # LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that LIBLTDL
-# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If
-# DIRECTORY is not provided and an installed libltdl is not found, it is
-# assumed to be `libltdl'.  LIBLTDL will be prefixed with '${top_builddir}/'
-# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
-# quotes!).  If your package is not flat and you're not using automake,
-# define top_builddir and top_srcdir appropriately in the Makefiles.
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
@@ -2430,12 +2717,12 @@
 ])# _LT_AC_LANG_CXX
 
 # _LT_AC_PROG_CXXCPP
-# ---------------
+# ------------------
 AC_DEFUN([_LT_AC_PROG_CXXCPP],
 [
 AC_REQUIRE([AC_PROG_CXX])
 if test -n "$CXX" &amp;&amp; ( test "X$CXX" != "Xno" &amp;&amp;
-    ( (test "X$CXX" = "Xg++" &amp;&amp; `g++ -v &gt;/dev/null 2&gt;&amp;1` ) || 
+    ( (test "X$CXX" = "Xg++" &amp;&amp; `g++ -v &gt;/dev/null 2&gt;&amp;1` ) ||
     (test "X$CXX" != "Xg++"))) ; then
   AC_PROG_CXXCPP
 fi
@@ -2479,7 +2766,7 @@
 
 
 # AC_LIBTOOL_RC
-# --------------
+# -------------
 # enable support for Windows resource files
 AC_DEFUN([AC_LIBTOOL_RC],
 [AC_REQUIRE([LT_AC_PROG_RC])
@@ -2505,43 +2792,16 @@
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}\n'
+lt_simple_link_test_code='int main(){return(0);}'
 
 _LT_AC_SYS_COMPILER
 
-#
-# Check for any special shared library compilation flags.
-#
-_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)=
-if test "$GCC" = no; then
-  case $host_os in
-  sco3.2v5*)
-    _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf'
-    ;;
-  esac
-fi
-if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then
-  AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries])
-  if echo "$old_CC $old_CFLAGS " | grep "[[ 	]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ 	]]" &gt;/dev/null; then :
-  else
-    AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure])
-    _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no
-  fi
-fi
-
-
-#
-# Check to make sure the static flag actually works.
-#
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works],
-  _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
-  $_LT_AC_TAGVAR(lt_prog_compiler_static, $1),
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
 
 ## CAVEAT EMPTOR:
 ## There is no encapsulation within the following macros, do not change
@@ -2555,9 +2815,9 @@
 AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
 AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
 AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF($1)
+AC_LIBTOOL_DLOPEN_SELF
 
-# Report which librarie types wil actually be built
+# Report which library types will actually be built
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
 
@@ -2566,7 +2826,7 @@
 
 # On AIX, shared libraries and static libraries use the same namespace, and
 # are all built from PIC.
-case "$host_os" in
+case $host_os in
 aix3*)
   test "$enable_shared" = yes &amp;&amp; enable_static=no
   if test -n "$RANLIB"; then
@@ -2575,7 +2835,7 @@
   fi
   ;;
 
-aix4* | aix5*)
+aix[[4-9]]*)
   if test "$host_cpu" != ia64 &amp;&amp; test "$aix_use_runtimelinking" = no ; then
     test "$enable_shared" = yes &amp;&amp; enable_static=no
   fi
@@ -2616,6 +2876,7 @@
 _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
 _LT_AC_TAGVAR(hardcode_automatic, $1)=no
 _LT_AC_TAGVAR(module_cmds, $1)=
 _LT_AC_TAGVAR(module_expsym_cmds, $1)=
@@ -2631,23 +2892,28 @@
 _LT_AC_TAGVAR(predeps, $1)=
 _LT_AC_TAGVAR(postdeps, $1)=
 _LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
 
 # Source file extension for C++ test sources.
-ac_ext=cc
+ac_ext=cpp
 
 # Object file extension for compiled C++ test sources.
 objext=o
 _LT_AC_TAGVAR(objext, $1)=$objext
 
 # Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;\n"
+lt_simple_compile_test_code="int some_variable = 0;"
 
 # Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n'
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
 
 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
 _LT_AC_SYS_COMPILER
 
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
 # Allow CC to be a program name with arguments.
 lt_save_CC=$CC
 lt_save_LD=$LD
@@ -2658,18 +2924,18 @@
 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
   lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
 else
-  unset lt_cv_prog_gnu_ld
+  $as_unset lt_cv_prog_gnu_ld
 fi
 if test -n "${lt_cv_path_LDCXX+set}"; then
   lt_cv_path_LD=$lt_cv_path_LDCXX
 else
-  unset lt_cv_path_LD
+  $as_unset lt_cv_path_LD
 fi
 test -z "${LDCXX+set}" || LD=$LDCXX
 CC=${CXX-"c++"}
 compiler=$CC
 _LT_AC_TAGVAR(compiler, $1)=$CC
-cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'`
+_LT_CC_BASENAME([$compiler])
 
 # We don't want -fno-exception wen compiling C++ code, so set the
 # no_builtin_flag separately
@@ -2736,7 +3002,7 @@
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
-  aix4* | aix5*)
+  aix[[4-9]]*)
     if test "$host_cpu" = ia64; then
       # On IA64, the linker does run time linking by default, so we don't
       # have to do anything special.
@@ -2749,7 +3015,7 @@
       # Test if we are trying to use run time linking or normal
       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
       # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
 	for ld_flag in $LDFLAGS; do
 	  case $ld_flag in
 	  *-brtl*)
@@ -2758,6 +3024,7 @@
 	    ;;
 	  esac
 	done
+	;;
       esac
 
       exp_sym_flag='-bexport'
@@ -2776,7 +3043,7 @@
     _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
     if test "$GXX" = yes; then
-      case $host_os in aix4.[012]|aix4.[012].*)
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
       # We only want to do this on AIX 4.2 and lower, the check
       # below for broken collect2 doesn't work under 4.3+
 	collect2name=`${CC} -print-prog-name=collect2`
@@ -2784,7 +3051,7 @@
 	   strings "$collect2name" | grep resolve_lib_name &gt;/dev/null
 	then
 	  # We have reworked collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  :
 	else
 	  # We have old collect2
 	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
@@ -2795,8 +3062,12 @@
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
 	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
 	fi
+	;;
       esac
       shared_flag='-shared'
+      if test "$aix_use_runtimelinking" = yes; then
+	shared_flag="$shared_flag "'${wl}-G'
+      fi
     else
       # not using gcc
       if test "$host_cpu" = ia64; then
@@ -2823,12 +3094,12 @@
       _LT_AC_SYS_LIBPATH_AIX
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
      else
       if test "$host_cpu" = ia64; then
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
       else
 	# Determine the default libpath from the value encoded in an empty executable.
 	_LT_AC_SYS_LIBPATH_AIX
@@ -2837,16 +3108,26 @@
 	# -berok will link without error, but may produce a broken library.
 	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	# -bexpall does not export symbols beginning with underscore (_)
-	_LT_AC_TAGVAR(always_export_symbols, $1)=yes
 	# Exported symbols can be pulled into shared objects from archives
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
 	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	# This is similar to how AIX traditionally builds it's shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
+
+  beos*)
+    if $LD --help 2&gt;&amp;1 | grep ': supported targets:.* elf' &gt; /dev/null; then
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Joseph Beckenbach &lt;jrb3@best.com&gt; says some releases of gcc
+      # support --undefined.  This deserves some investigation.  FIXME
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
   chorus*)
     case $cc_basename in
       *)
@@ -2856,7 +3137,6 @@
     esac
     ;;
 
-
   cygwin* | mingw* | pw32*)
     # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
     # as there is no search path for DLLs.
@@ -2866,7 +3146,7 @@
     _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
 
     if $LD --help 2&gt;&amp;1 | grep 'auto-import' &gt; /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
       # If the export-symbols file already is a .def file (1st line
       # is EXPORTS), use it as is; otherwise, prepend...
       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
@@ -2875,65 +3155,37 @@
 	echo EXPORTS &gt; $output_objdir/$soname.def;
 	cat $export_symbols &gt;&gt; $output_objdir/$soname.def;
       fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
+      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     else
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
   ;;
       darwin* | rhapsody*)
-        case "$host_os" in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-        esac
       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes ; then
-      lt_int_apple_cc_single_mod=no
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+      if test "$GXX" = yes ; then
       output_verbose_link_cmd='echo'
-      if $CC -dumpspecs 2&gt;&amp;1 | $EGREP 'single_module' &gt;/dev/null ; then
-       lt_int_apple_cc_single_mod=yes
+      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' &lt; \$export_symbols &gt; \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' &lt; \$export_symbols &gt; \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' &lt; \$export_symbols &gt; \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
       fi
-      if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-      else
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
-        fi
-        _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-        # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-          if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          else
-            _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          fi
-            _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
       else
-      case "$cc_basename" in
+      case $cc_basename in
         xlc*)
          output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
           _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&amp;," &lt; $export_symbols &gt; $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
           ;;
        *)
@@ -2945,11 +3197,11 @@
 
   dgux*)
     case $cc_basename in
-      ec++)
+      ec++*)
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
-      ghcx)
+      ghcx*)
 	# Green Hills C++ Compiler
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -2960,14 +3212,14 @@
 	;;
     esac
     ;;
-  freebsd[12]*)
+  freebsd[[12]]*)
     # C++ shared libraries reported to be fairly broken before switch to ELF
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   freebsd-elf*)
     _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
     ;;
-  freebsd* | kfreebsd*-gnu)
+  freebsd* | dragonfly*)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     _LT_AC_TAGVAR(ld_shlibs, $1)=yes
@@ -2984,11 +3236,11 @@
 				# location of the library.
 
     case $cc_basename in
-    CC)
+    CC*)
       # FIXME: insert proper C++ library support
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
-    aCC)
+    aCC*)
       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
@@ -2998,7 +3250,7 @@
       # explicitly linking system object files so we need to strip them
       # from the output so that they don't get included in the library
       # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2&gt;&amp;1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2&gt;&amp;1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
       ;;
     *)
       if test "$GXX" = yes; then
@@ -3012,34 +3264,21 @@
     ;;
   hpux10*|hpux11*)
     if test $with_gnu_ld = no; then
-      case "$host_cpu" in
-      hppa*64*)
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-        ;;
-      ia64*)
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-        ;;
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*) ;;
       *)
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
         ;;
       esac
     fi
-    case "$host_cpu" in
-    hppa*64*)
+    case $host_cpu in
+    hppa*64*|ia64*)
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
-    ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
     *)
       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
@@ -3049,14 +3288,17 @@
     esac
 
     case $cc_basename in
-      CC)
+      CC*)
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
-      aCC)
-	case "$host_cpu" in
-	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	  ;;
 	*)
 	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3075,9 +3317,12 @@
       *)
 	if test "$GXX" = yes; then
 	  if test $with_gnu_ld = no; then
-	    case "$host_cpu" in
-	    ia64*|hppa*64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	      ;;
 	    *)
 	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
@@ -3091,11 +3336,25 @@
 	;;
     esac
     ;;
+  interix[[3-9]]*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+    # Instead, shared libraries are loaded at an image base (0x10000000 by
+    # default) and relocated if they conflict, which is a slow very memory
+    # consuming and fragmenting process.  To avoid this, we pick a random,
+    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols &gt;$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+    ;;
   irix5* | irix6*)
     case $cc_basename in
-      CC)
+      CC*)
 	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" &amp;&amp; echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" &amp;&amp; echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	# Archives containing C++ object files must be created using
 	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
@@ -3106,7 +3365,7 @@
       *)
 	if test "$GXX" = yes; then
 	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	  else
 	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` -o $lib'
 	  fi
@@ -3117,9 +3376,9 @@
     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
     _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
     case $cc_basename in
-      KCC)
+      KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
 	# KCC will only create a shared library if the output file
@@ -3144,7 +3403,7 @@
 	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
 	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
 	;;
-      icpc)
+      icpc*)
 	# Intel C++
 	with_gnu_ld=yes
 	# version 8.0 and above of icpc choke on multiply defined symbols
@@ -3156,8 +3415,12 @@
   	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 	  ;;
 	*)  # Version 8.0 or newer
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  tmp_idyn=
+	  case $host_cpu in
+	    ia64*) tmp_idyn=' -i_dynamic';;
+	  esac
+  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 	  ;;
 	esac
 	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
@@ -3165,7 +3428,16 @@
 	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
 	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
 	;;
-      cxx)
+      pgCC* | pgcpp*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" &amp;&amp; new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
 	# Compaq C++
 	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
@@ -3184,6 +3456,29 @@
 	# dependencies.
 	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2&gt;&amp;1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
 	;;
+      *)
+	case `$CC -V 2&gt;&amp;1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2&gt;&amp;1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # Archives containing C++ object files must be created using
+	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	  # necessary to make sure instantiated templates are included
+	  # in the archive.
+	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
     esac
     ;;
   lynxos*)
@@ -3196,7 +3491,7 @@
     ;;
   mvs*)
     case $cc_basename in
-      cxx)
+      cxx*)
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
@@ -3222,20 +3517,24 @@
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
   openbsd*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    if test -f /usr/libexec/ld.so; then
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
     fi
-    output_verbose_link_cmd='echo'
     ;;
   osf3*)
     case $cc_basename in
-      KCC)
+      KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
 	# KCC will only create a shared library if the output file
@@ -3251,14 +3550,14 @@
 	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
 
 	;;
-      RCC)
+      RCC*)
 	# Rational C++ 2.4.1
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
-      cxx)
+      cxx*)
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3276,7 +3575,7 @@
       *)
 	if test "$GXX" = yes &amp;&amp; test "$with_gnu_ld" = no; then
 	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3295,7 +3594,7 @@
     ;;
   osf4* | osf5*)
     case $cc_basename in
-      KCC)
+      KCC*)
 	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
 	# KCC will only create a shared library if the output file
@@ -3310,17 +3609,17 @@
 	# the KAI C++ compiler.
 	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
 	;;
-      RCC)
+      RCC*)
 	# Rational C++ 2.4.1
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
-      cxx)
+      cxx*)
 	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" &amp;&amp; echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" &amp;&amp; echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" &gt;&gt; $lib.exp; done~
 	  echo "-hidden"&gt;&gt; $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" &amp;&amp; echo -set_version	$verstring` -update_registry $objdir/so_locations -o $lib~
+	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" &amp;&amp; echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
 	  $rm $lib.exp'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -3339,7 +3638,7 @@
       *)
 	if test "$GXX" = yes &amp;&amp; test "$with_gnu_ld" = no; then
 	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" &amp;&amp; echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -3360,27 +3659,14 @@
     # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;
-  sco*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    case $cc_basename in
-      CC)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
   sunos4*)
     case $cc_basename in
-      CC)
+      CC*)
 	# Sun C++ 4.x
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
 	;;
-      lcc)
+      lcc*)
 	# Lucid
 	# FIXME: insert proper C++ library support
 	_LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3393,36 +3679,28 @@
     ;;
   solaris*)
     case $cc_basename in
-      CC)
+      CC*)
 	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
 	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" &gt; $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" &gt;&gt; $lib.exp~$echo "local: *; };" &gt;&gt; $lib.exp~
-	$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
 
 	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
 	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
 	case $host_os in
-	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
 	  *)
-	    # The C++ compiler is used as linker so we must use $wl
-	    # flag to pass the commands to the underlying system
-	    # linker.
+	    # The compiler driver will combine and reorder linker options,
+	    # but understands `-z linker_flag'.
 	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
 	    ;;
 	esac
 	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
 
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2&gt;&amp;1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+	output_verbose_link_cmd='echo'
 
 	# Archives containing C++ object files must be created using
 	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
@@ -3430,7 +3708,7 @@
 	# in the archive.
 	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
 	;;
-      gcx)
+      gcx*)
 	# Green Hills C++ Compiler
 	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 
@@ -3464,16 +3742,73 @@
 	  fi
 
 	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    ;;
+	  esac
 	fi
 	;;
     esac
     ;;
-  sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*)
+  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+    esac
+    ;;
+  sysv5* | sco3.2v5* | sco5v6*)
+    # Note: We can NOT use -z defs as we might desire, because we do not
+    # link with -lc, and that would cause any symbols used from libc to
+    # always be unresolved, which means just about no library would
+    # ever link correctly.  If we're not using GNU ld we use -z text
+    # though, which does catch some bad symbols but isn't as heavy-handed
+    # as -z defs.
+    # For security reasons, it is highly recommended that you always
+    # use absolute paths for naming shared libraries, and exclude the
+    # DT_RUNPATH tag from executables and libraries.  But doing so
+    # requires that you compile everything twice, which is a pain.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.

[... 1707 lines stripped ...]


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



</pre>
</div>
</content>
</entry>
<entry>
<title>OK got AX_PREFIX_CONFIG_H</title>
<author><name>Karl Lehenbauer &lt;karllehenbauer@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3cE8020A53-1B66-4F7B-8331-3FDB2C04B86C@gmail.com%3e"/>
<id>urn:uuid:%3cE8020A53-1B66-4F7B-8331-3FDB2C04B86C@gmail-com%3e</id>
<updated>2009-06-24T19:34:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I added

m4_include([m4/ax_prefix_config_h.m4])

to acinclude.m4, and the configure script works now.

-karl


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



</pre>
</div>
</content>
</entry>
<entry>
<title>trouble producing a working configure script</title>
<author><name>Karl Lehenbauer &lt;karllehenbauer@gmail.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c6E5E974B-EAC6-4560-98EF-CC4FF922F806@gmail.com%3e"/>
<id>urn:uuid:%3c6E5E974B-EAC6-4560-98EF-CC4FF922F806@gmail-com%3e</id>
<updated>2009-06-24T19:09:19Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
I am having a hellacious time getting a working configure script for  
Rivet.  If I run aclocal (1.10), it gives a ton of errors complaining  
about stuff in tclconfig/libtool.m4.

OK, so libtool.m4 is old.  I copied a newer version out of libtool.

I then ran aclocal, and "libtoolize --force --copy" to install new  
config.guess, config.sub and ltmain.sh in tclconfig dir.

Ran autoheader, automake, autoconf.  Cool.

Then try to run configure, it barfs...

./configure: line 2747: syntax error near unexpected token  
`rivet_config.h,rivet'
./configure: line 2747: `AX_PREFIX_CONFIG_H(rivet_config.h,rivet)'

This is because AX_PREFIX_CONFIG_H isn't defined.

It's defined in m4/ax_prefix_config_h.m4 but I haven't found anywhere  
where that file is getting pulled in.

I have also pulled in newer Tcl Extension Architecture (TEA) support  
files into tclconfig.sh and edited configure.ac to reference the  
slightly newer version of TEA (3.7 versus 3.6).

Mostly probably I just need to get that AX_PREFIX_CONFIG_H macro  
pulled in somehow.

Any suggestions?

-karl


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



</pre>
</div>
</content>
</entry>
<entry>
<title>Re: Rivet website</title>
<author><name>David Welton &lt;davidw@dedasys.com&gt;</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c9877cd600906241111gca6904bs67d6f02406fa91d9@mail.gmail.com%3e"/>
<id>urn:uuid:%3c9877cd600906241111gca6904bs67d6f02406fa91d9@mail-gmail-com%3e</id>
<updated>2009-06-24T18:11:24Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
&gt; I'd like to commit the scripts and pages to Rivet's svn repository as an
&gt; example of possible development with Rivet  and other Tcl related tools. I
&gt; would like to commit also the html pages to the website.

I'm a bit late to the game, but by all means go ahead!

-- 
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/

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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788041 [6/6] - in /tcl/rivet/trunk/doc: html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624144002.057AD2388909@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624144002-057AD2388909@eris-apache-org%3e</id>
<updated>2009-06-24T14:40:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Added: tcl/rivet/trunk/doc/html/session_package.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/session_package.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/session_package.html (added)
+++ tcl/rivet/trunk/doc/html/session_package.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,185 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Session Package&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="diodisplay_package.html" title="DIODisplay"&gt;&lt;link rel="next" href="help.html" title="Resources - How to Get Help"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Session Package&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="diodisplay_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="help.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;
 /table&gt;&lt;/div&gt;&lt;div class="section" title="Session Package"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="session_package"&gt;&lt;/a&gt;Session Package&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Introduction"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id512930"&gt;&lt;/a&gt;Introduction&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	This is session management code.  It provides an interface
+	to allow you to generate and track a browser's visit as a
+	"session", giving you a unique session ID and an interface
+	for storing and retrieving data for that session on the
+	server.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	This is an alpha/beta release -- documentation is not in
+	final form, but everything you need should be in this file.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	Using sessions and their included ability to store and
+	retrieve session-related data on the server, programmers can
+	generate more secure and higher-performance websites.  For
+	example, hidden fields do not have to be included in forms
+	(and the risk of them being manipulated by the user
+	mitigated) since data that would be stored in hidden fields
+	can now be stored in the session cache on the server.  Forms
+	are then faster since no hidden data is transmitted --
+	hidden fields must be sent twice, once in the form to the
+	broswer and once in the response from it.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	Robust login systems, etc, can be built on top of this code.
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Requirements"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="requirements"&gt;&lt;/a&gt;Requirements&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  Currently has only been tested with Postgresql, MySql and Oracle.
+	  All DB interfacing is done through DIO, though, so it
+	  should be relatively easy to add support for other
+	  databases.
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Preparing To Use It"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513285"&gt;&lt;/a&gt;Preparing To Use It&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;Create the tables in your SQL server.  With Postgres,
+	  do a &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;psql www&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; or whatever DB you
+	  connect as, then a backslash-i on
+	  &lt;code class="filename"&gt;session-create.sql&lt;/code&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;(If you need to delete the tables, use &lt;code class="filename"&gt;session-drop.sql&lt;/code&gt;)&lt;/p&gt;&lt;p style="width:90%"&gt;The session code by default requires a DIO handle
+	  called &lt;code class="varname"&gt;DIO&lt;/code&gt; (the name of which can be
+	  overridden).  We get it by doing a&lt;/p&gt;&lt;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"&gt;
+	      RivetServerConf ChildInitScript "package require DIO"
+	      RivetServerConf ChildInitScript "::DIO::handle Postgresql DIO -user www"
+	    &lt;/pre&gt;&lt;/div&gt;&lt;div class="section" title="Example Usage"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513331"&gt;&lt;/a&gt;Example Usage&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;In your httpd.conf, add:&lt;/p&gt;&lt;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"&gt;RivetServerConf ChildInitScript "package require Session; Session SESSION"&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  This tells Rivet you want to create a session object named
+	  SESSION in every child process Apache creates.&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  You can configure the session at this point using numerous
+	  key-value pairs (which are defined later in this doc).
+	  Here's a quick example:&lt;/p&gt;&lt;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"&gt;RivetServerConf ChildInitScript "package require Session; Session SESSION \
+  -cookieLifetime 120 -debugMode 1"&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  Turn debugging on -debugMode 1 to figure
+	  out what's going on -- it's really useful, if
+	  verbose.&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  In your .rvt file, when you're generating the &amp;lt;HEAD&amp;gt;
+	  section:
+	&lt;/p&gt;&lt;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"&gt;SESSION activate&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  Activate handles everything for you with respect to
+	  creating new sessions, and for locating, validating, and
+	  updating existing sessions.  Activate will either locate
+	  an existing session, or create a new one.  Sessions will
+	  automatically be refreshed (their lifetimes extended) as
+	  additional requests are received during the session, all
+	  under the control of the key-value pairs controlling the
+	  session object.
+	&lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Using Sessions From Your Code"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513387"&gt;&lt;/a&gt;Using Sessions From Your Code&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The main methods your code will use are:&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION&lt;/span&gt; &lt;span style="font-weight:bold ; font-family:monospace"&gt;id&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		After doing a &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;SESSION activate&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
+		this will return a 32-byte ASCII-encoded random
+		hexadecimal string.  Every time this browser comes
+		to us with a request within the timeout period, this
+		same string will be returned (assuming they have
+		cookies enabled).
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION&lt;/span&gt; &lt;span style="font-weight:bold ; font-family:monospace"&gt;is_new_session&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;returns 1 if it's a new session or 0 if it has
+		previously existed (i.e. it's a zero if this request
+		represents a "return" or subsequent visit to a
+		current session.)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION new_session_reason&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		This will return why this request is the first
+		request of a new session, either "no_cookie" saying
+		the browser didn't give us a session cookie,
+		"no_session" indicating we got a cookie but couldn't
+		find it in our session table, or "timeout" where
+		they had a cookie and we found the matching session
+		but the session has timed out.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION store&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;packageName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;key&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;data&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Given the name of a package, a key, and some data.
+		Stores the data in the rivet session cache table.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION fetch&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;packageName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;key&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Given a package name and a key, return the data
+		stored by the store method, or an empty string if
+		none was set.  (Status is set to the DIO error that
+		occurred, it can be fetched using the status
+		method.)
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Session Configuration Options"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513584"&gt;&lt;/a&gt;Session Configuration Options&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;The following key-value pairs can be specified when a
+	  session object (like SESSION above) is created:&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionLifetime&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;how many seconds the session will live for.
+		7200 == 2 hours
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionRefreshInterval&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		If a request is processed for a browser that
+		currently has a session and this long has elapsed
+		since the session update time was last updated,
+		update it.  900 == 15 minutes.  so if at least 15
+		minutes has elapsed and we've gotten a new request
+		for a page, update the session update time,
+		extending the session lifetime (sessions that are in
+		use keep getting extended).
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;cookieName&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;&lt;/div&gt;
+	      name of the cookie stored on the user's web browser
+	      default rivetSession
+	    &lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;dioObject&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		The name of the DIO object we'll use to access the
+		database (default DIO)
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;gcProbability&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		The probability that garbage collection will occur
+		in percent.  (default 1%, i.e. 1)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;gcMaxLifetime&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;the number of seconds after which
+		data will be seen as "garbage" and cleaned up --
+		defaults to 1 day (86400)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;refererCheck&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The substring you want to check each
+		HTTP referer for.  If the referer was sent by the
+		browser and the substring is not found, the session
+		will be deleted. (not coded yet)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;entropyFile&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The
+		name of a file that random binary data can be read
+		from.  (&lt;code class="filename"&gt;/dev/urandom&lt;/code&gt;) Data will
+		be used from this file to help generate a
+		super-hard-to-guess session ID.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;entropyLength&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The number of bytes which will be
+		read from the entropy file.  If 0, the entropy file
+		will not be read (default 0)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;scrambleCode&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Set the scramble code to something unique for the
+		site or your app or whatever, to slightly increase
+		the unguessability of session ids (default "some
+		random string")&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;cookieLifetime&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The lifetime of the cookie in
+		minutes.  0 means until the browser is closed (I
+		think). (default 0)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;cookiePath&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The
+		webserver subpath that the session cookie applies to
+		(defaults to
+		&lt;code class="filename"&gt;/&lt;/code&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;cookieDomain&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The domain to set in the session cookie
+	  (FIXME - not coded yet)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;cookieSecure&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Specifies whether the cookie should
+		only be sent over secure connections, 0 = any, 1 =
+		secure connections only (default
+		0)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionTable&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The name of the table that session
+		info will be stored in (default
+		&lt;code class="varname"&gt;rivet_session&lt;/code&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;sessionCacheTable&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The name of the table that contains
+		cached session data (default
+		&lt;code class="varname"&gt;rivet_session_cache&lt;/code&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;debugMode&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Set
+		debug mode to 1 to trace through and see the session
+		object do its thing (default 0)&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;debugFile&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The
+		file handle that debugging messages will be written
+		to (default
+		&lt;code class="varname"&gt;stdout&lt;/code&gt;)
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Session Methods"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id513818"&gt;&lt;/a&gt;Session Methods&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  The following methods can be invoked to find out
+	  information about the current session, store and fetch
+	  server data identified with this session, etc:
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION status&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Return the status of the last operation
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION id&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Get the session ID of the current browser.  Returns
+		an empty string if there's no session (will not
+		happen is SESSION activate has been issued.)
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION new_session_reason&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the reason why there wasn't a previous
+		session, either "no_cookie" saying the browser
+		didn't give us a session cookie, "no_session"
+		indicating we got a cookie but couldn't find it in
+		the session table, or "timeout" when we had a cookie
+		and a session but the session had timed out.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION store&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;packageName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;key&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;data&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Given a package name, a key string, and a data
+		string, store the data in the rivet session
+		cache.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION fetch&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;packageName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;key&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Given a package name and a key, return the data
+		stored by the store method, or an empty string if
+		none was set.  Status is set to the DIO error that
+		occurred, it can be fetched using the status
+		method.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION delete&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Given a user ID and looking at their IP address we
+		inherited from the environment (thanks, Apache),
+		remove them from the session table.  (the session
+		table is how the server remembers stuff about
+		sessions). If the session ID was not specified the
+		current session is deleted.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;SESSION activate&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Find and validate the session ID if they have one.
+		If they don't have one or it isn't valid (timed out,
+		etc), create a session and drop a cookie on
+		them.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Getting Additional Randomness From The Entropy File"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id514044"&gt;&lt;/a&gt;Getting Additional Randomness From The Entropy File&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;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"&gt;RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
+  -entropyLength 10 -debugMode 1"&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  This options say we want to get randomness from an entropy
+	  file (random data pseudo-device) of /dev/urandom, to get ten
+	  bytes of random data from that entropy device, and to turn
+	  on debug mode, which will cause the SESSION object to output
+	  all manner of debugging information as it does stuff.  This
+	  has been tested on FreeBSD and appears to work.
+      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="diodisplay_package.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="help.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;DIODisplayÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â Resources - How to Get Help&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/tcl_packages.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/tcl_packages.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/tcl_packages.html (added)
+++ tcl/rivet/trunk/doc/html/tcl_packages.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,7 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Rivet Tcl Packages&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="examples.html" title="Examples and Usage"&gt;&lt;link rel="next" href="dio.html" title="DIO - Database Interface Objects"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Rivet Tcl Packages&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/ta
 ble&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Packages"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="tcl_packages"&gt;&lt;/a&gt;Rivet Tcl Packages&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      In addition to the core Apache module, Rivet provides a number
+      of Tcl packages that include potentially useful code.
+    &lt;/p&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;commserver is a package providing a server that can be
+	used for IPC.  Still experimental.  Requires the comm package
+	from tcllib.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dio is a database abstraction layer.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;dtcl is a compatibility package for mod_dtcl
+	applications.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;form - for creating forms.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;rivet - some additional, useful routines.&lt;/div&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;tclrivet&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="examples.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="dio.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Examples and UsageÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â DIO - Database Interface Objects&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/d
 iv&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/unescape_string.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/unescape_string.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/unescape_string.html (added)
+++ tcl/rivet/trunk/doc/html/unescape_string.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,12 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;unescape_string&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="escape_shell_command.html" title="escape_shell_command"&gt;&lt;link rel="next" href="examples.html" title="Examples and Usage"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;unescape_string&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="escape_shell_command.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="ex
 amples.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="unescape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id498492"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Scans through each character in the specified string looking
+	  for escaped character sequences (characters containing a
+	  percent sign and two hexadecimal characters, unescaping them 
+	  back to their original character values, as needed, also mapping
+	  plus signs to spaces, and returning the result.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    This is useful for unquoting strings that have been quoted to
+	    be part of a URL.
+	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	    You must require the Rivet package in order to gain access to this command
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="escape_shell_command.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="examples.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;escape_shell_commandÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â Examples and Usage&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/upgrading.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/upgrading.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/upgrading.html (added)
+++ tcl/rivet/trunk/doc/html/upgrading.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,12 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="index.html" title="Apache Rivet"&gt;&lt;link rel="prev" href="internals.html" title="Rivet Internals"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Â &lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="section" title="Upgrading from mod_dtcl or NeoWebScript"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;
 div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="upgrading"&gt;&lt;/a&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      Rivet is a break from the past, in that we, the authors, have
+      attempted to take what we like best about our past efforts, and
+      leave out or change things we no longer care for.  Backwards
+      compatibility was not a primary goal when creating Rivet, but we
+      do provide this information which may be of use to those wishing
+      to upgrade from mod_dtcl or NWS installations.
+    &lt;/p&gt;&lt;div class="section" title="mod_dtcl"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515646"&gt;&lt;/a&gt;mod_dtcl&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	Rivet was originally based on the dtcl code, but it has
+	changed (improved!) quite a bit.  The concepts remain the
+	same, but many of the commands have changed.
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="NeoWebScript"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h3 class="title"&gt;&lt;a name="id515657"&gt;&lt;/a&gt;NeoWebScript&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;TODO&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="internals.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;Â &lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet InternalsÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/upload.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/upload.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/upload.html (added)
+++ tcl/rivet/trunk/doc/html/upload.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,55 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;upload&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="var.html" title="var"&gt;&lt;link rel="next" href="load_response.html" title="load_response"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;upload&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="var.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_response.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr
 &gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="upload"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-w
 eight: bold;"&gt;filename&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id496664"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
+	  See the relevant Apache Directives to further configure the
+	  behavior of this Rivet feature.
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		When given the name of a file upload
+		&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;,
+		returns a Tcl channel that can be used to access the
+		uploaded file.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Saves the
+		&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt; in
+		the file
+		&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns data uploaded to the server.  This is binary clean
+		- in other words, it will work even with files like
+		images, executables, compressed files, and so on.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns true if an upload named  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;uploadname&lt;/span&gt;?
+		exists.  This can be used in scripts that are meant to
+		be run by different forms that send over uploads that
+		might need specific processing.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the size of the file uploaded.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		If the &lt;code class="varname"&gt;Content-type&lt;/code&gt; is set, it is
+		returned, otherwise, an empty string.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;filename&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the filename on the remote host that uploaded the file.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;tempname&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the name of the temporary file on the local host that the file was uploaded into.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;names&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the variable names, as a list, of all the files
+		uploaded.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  See &lt;a class="xref" href="upload.html" title="upload"&gt;upload&lt;/a&gt;.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="var.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="load_response.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;varÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â load_response&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/var.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/var.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/var.html (added)
+++ tcl/rivet/trunk/doc/html/var.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,44 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;var&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="next" href="upload.html" title="upload"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;var&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="20%" align="left"&gt;&lt;a accesskey="p" href="commands.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="upload.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;
 /a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="var"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-
 spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-
 weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id496326"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command retrieves information
+	  about GET or POST variables sent to the script via client
+	  request.  It treats both GET and POST variables the same,
+	  regardless of their origin.  Note that there are two
+	  additional forms of &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;:
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var_qs&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var_post&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;.
+	  These two restrict the retrieval of information to
+	  parameters arriving via the querystring
+	  (?foo=bar&amp;amp;bee=bop) or POSTing, respectively.
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;default&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the value of variable
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;
+		as a string (even if there are multiple values).  If
+		the variable doesn't exist as a GET or POST
+		variable, the
+		&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;default&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;
+		value is returned, otherwise "" - an empty string -
+		is returned.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the value of variable
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt; as a
+		list, if there are multiple values.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns 1 if
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;
+		exists, 0 if it doesn't.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the number of variables.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Return a list of variable names and values.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  See &lt;a class="xref" href="examples.html#variable_access" title="ExampleÂ 3.Â Variable Access"&gt;ExampleÂ 3, &amp;#8220;Variable Access&amp;#8221;&lt;/a&gt;.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%" summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p" href="commands.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png" alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n" href="upload.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="40%" align="left" valign="top"&gt;Rivet Tcl Commands and VariablesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right" valign="top"&gt;Â upload&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Modified: tcl/rivet/trunk/doc/xml/install.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/xml/install.xml?rev=788041&amp;r1=788040&amp;r2=788041&amp;view=diff
==============================================================================
--- tcl/rivet/trunk/doc/xml/install.xml (original)
+++ tcl/rivet/trunk/doc/xml/install.xml Wed Jun 24 14:39:58 2009
@@ -14,8 +14,7 @@
       &lt;step&gt;
 	&lt;title&gt;Get Rivet&lt;/title&gt;
 	&lt;para&gt;
-	  Download the sources at &lt;ulink
-	    url="http://tcl.apache.org/rivet/download"/&gt;.  Currently
+	  Download the sources at &lt;ulink url="http://tcl.apache.org/rivet/download.html"/&gt;.  Currently
 	  the only way to obtain Rivet.  In the future, we hope to
 	  have a FreeBSD port, Debian package, RPM's, and windows
 	  binaries.
@@ -140,7 +139,9 @@
 	  adding the module itself:
 	&lt;/para&gt;
 
-	&lt;programlisting&gt;LoadModule rivet_module	&lt;replaceable&gt;/usr/lib/apache/1.3/mod_rivet.so&lt;/replaceable&gt;&lt;/programlisting&gt;
+	&lt;programlisting&gt;LoadModule rivet_module	
+	    &lt;replaceable&gt;/usr/lib/apache/1.3/mod_rivet.so&lt;/replaceable&gt;
+	&lt;/programlisting&gt;
 
 	&lt;para&gt;
 	  This tells Apache to load the Rivet shared object, wherever



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788041 [4/6] - in /tcl/rivet/trunk/doc: html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624144001.E50AB23888EA@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624144001-E50AB23888EA@eris-apache-org%3e</id>
<updated>2009-06-24T14:40:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Added: tcl/rivet/trunk/doc/html/load_env.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_env.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/load_env.html (added)
+++ tcl/rivet/trunk/doc/html/load_env.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,10 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_env&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="load_cookies.html" title="load_cookies"&gt;&lt;link rel="next" href="env.html" title="env"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_env&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="load_cookies.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="env.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/t
 r&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry" title="load_env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env
&amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span
style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497262"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+	  Load the array of environment variables into the specified
+	  array name.  Uses array ::request::env by
+	  default.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  As Rivet pages are run in the ::request
+	  namespace, it isn't necessary to qualify the array name
+	  for most uses - it's ok to access it as
+	  env.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="load_cookies.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="env.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;load_cookiesÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â env&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/load_headers.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_headers.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/load_headers.html (added)
+++ tcl/rivet/trunk/doc/html/load_headers.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,5 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_headers&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="load_response.html" title="load_response"&gt;&lt;link rel="next" href="load_cookies.html"
title="load_cookies"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation
header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_headers&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="load_response.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_cookies.html"&gt;&lt;img
src="im
 ages/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div
class="refentry" title="load_headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers
&amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;
 ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497161"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+	  Load the headers that come from a client request into the
+	  provided array name, or use headers if no
+	  name is provided.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="load_response.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="load_cookies.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;load_responseÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â load_cookies&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/load_response.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/load_response.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/load_response.html (added)
+++ tcl/rivet/trunk/doc/html/load_response.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,18 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;load_response&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="upload.html" title="upload"&gt;&lt;link rel="next" href="load_headers.html" title="load_headers"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;load_response&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="upload.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="load_headers.html"&gt;&lt;img
src="images/next.png" alt=
 "Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry"
title="load_response"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response
&amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;
 ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497092"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
+	Load any form variables passed to this page into an
+	array. If &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
is called without 
+	arguments the array response is created in 
+	the scope of the caller. If the variables var1,var2,var3...
+	having values val1,val2,val3... are passed to the page, the
+	resulting array will be a collection mapping var1,var2,var3...
+	to their corresponding values. &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
+	was inspired by the same NeoWebScript procedure in the way
+	it deals with multiple assignments: if a variable 
+	is assigned more than once the corresponding array element will be a 
+	list of the values for the variable. This can be useful in the case 
+	of forms with checkbox options that are given the same name.
+	Calling &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
several times for the same
+	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.  
+      &lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="upload.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="load_headers.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;uploadÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â load_headers&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/makeurl.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/makeurl.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/makeurl.html (added)
+++ tcl/rivet/trunk/doc/html/makeurl.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,8 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;makeurl&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="headers.html" title="headers"&gt;&lt;link rel="next" href="cookie.html" title="cookie"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;makeurl&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="headers.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="cookie.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tabl
 e&gt;&lt;/div&gt;&lt;div class="refentry" title="makeurl"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl
&amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span
style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497785"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+	  Create a self referencing URL from a filename.  For example:
+	  &lt;/p&gt;&lt;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"&gt;makeurl /tclp.gif&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  returns
+	  &lt;code class="computeroutput"&gt;http://[hostname]:[port]/tclp.gif&lt;/code&gt;.
+	  where hostname and port are the hostname and port of the
+	  server in question.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="headers.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="cookie.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;headersÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â cookie&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/no_body.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/no_body.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/no_body.html (added)
+++ tcl/rivet/trunk/doc/html/no_body.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,5 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;no_body&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="abort_page.html" title="abort_page"&gt;&lt;link rel="next" href="escape_string.html"
title="escape_string"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF"
vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table width="100%" summary="Navigation
header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;no_body&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="abort_page.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="escape_string.html"&gt;&lt;img
src="images/next.png" a
 lt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="refentry"
title="no_body"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div
class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body
&amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id498282"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+	  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.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="abort_page.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="escape_string.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;abort_pageÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â escape_string&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/parray.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/parray.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/parray.html (added)
+++ tcl/rivet/trunk/doc/html/parray.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,6 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parray&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="incr0.html" title="incr0"&gt;&lt;link rel="next" href="abort_page.html" title="abort_page"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parray&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="incr0.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="abort_page.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/
 table&gt;&lt;/div&gt;&lt;div class="refentry" title="parray"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray
&amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div
class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ;
padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold
; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight:
bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?
?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span
class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id498186"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:9
 0%"&gt;
+	  An html version of the standard Tcl
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
command.  Displays the entire
+	  contents of an array in a sorted, nicely-formatted way.
+	  Mostly used for debugging purposes.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="incr0.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="abort_page.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;incr0Â &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â abort_page&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;

Added: tcl/rivet/trunk/doc/html/parse.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/parse.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/parse.html (added)
+++ tcl/rivet/trunk/doc/html/parse.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,5 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;parse&lt;/title&gt;&lt;link
rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook
XSL Stylesheets V1.75.1"&gt;&lt;link rel="home" href="index.html" title="Apache Rivet"&gt;&lt;link
rel="up" href="commands.html" title="Rivet Tcl Commands and Variables"&gt;&lt;link rel="prev"
href="include.html" title="include"&gt;&lt;link rel="next" href="headers.html" title="headers"&gt;&lt;/head&gt;&lt;body
bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="navheader"&gt;&lt;table
width="100%" summary="Navigation header"&gt;&lt;tr&gt;&lt;th colspan="3" align="center"&gt;parse&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="20%" align="left"&gt;&lt;a accesskey="p" href="include.html"&gt;&lt;img src="images/prev.png"
alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;th width="60%" align="center"&gt;Rivet Tcl Commands
and Variables&lt;/th&gt;&lt;td width="20%" align="right"&gt;Â &lt;a accesskey="n" href="headers.html"&gt;&lt;img
src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table
 &gt;&lt;/div&gt;&lt;div class="refentry" title="parse"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a
name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse
&amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv"
title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div
style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex
"&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span
style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div
class="refsect1" title="Description"&gt;&lt;a name="id497422"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p
style="width:90%"&gt;
+	  Like the Tcl &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
command, but also
+	  parses for Rivet &amp;lt;?  and ?&amp;gt; processing tags.  Using
+	  this command, you can use one .rvt file from another.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="navfooter"&gt;&lt;hr&gt;&lt;table width="100%"
summary="Navigation footer"&gt;&lt;tr&gt;&lt;td width="40%" align="left"&gt;&lt;a accesskey="p"
href="include.html"&gt;&lt;img src="images/prev.png" alt="Prev"&gt;&lt;/a&gt;Â &lt;/td&gt;&lt;td
width="20%" align="center"&gt;&lt;a accesskey="u" href="commands.html"&gt;&lt;img src="images/up.png"
alt="Up"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td width="40%" align="right"&gt;Â &lt;a accesskey="n"
href="headers.html"&gt;&lt;img src="images/next.png" alt="Next"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td
width="40%" align="left" valign="top"&gt;includeÂ &lt;/td&gt;&lt;td width="20%" align="center"&gt;&lt;a
accesskey="h" href="index.html"&gt;&lt;img src="images/home.png" alt="Home"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td
width="40%" align="right" valign="top"&gt;Â headers&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;



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



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r788041 [5/6] - in /tcl/rivet/trunk/doc: html/ xml/</title>
<author><name>mxmanghi@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/tcl-rivet-dev/200906.mbox/%3c20090624144001.EF6622388907@eris.apache.org%3e"/>
<id>urn:uuid:%3c20090624144001-EF6622388907@eris-apache-org%3e</id>
<updated>2009-06-24T14:40:00Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Added: tcl/rivet/trunk/doc/html/rivet.html
URL: http://svn.apache.org/viewvc/tcl/rivet/trunk/doc/html/rivet.html?rev=788041&amp;view=auto
==============================================================================
--- tcl/rivet/trunk/doc/html/rivet.html (added)
+++ tcl/rivet/trunk/doc/html/rivet.html Wed Jun 24 14:39:58 2009
@@ -0,0 +1,2059 @@
+&lt;html&gt;&lt;head&gt;&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;&lt;title&gt;Apache Rivet&lt;/title&gt;&lt;link rel="stylesheet" href="rivet.css" type="text/css"&gt;&lt;meta name="generator" content="DocBook XSL Stylesheets V1.75.1"&gt;&lt;/head&gt;&lt;body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"&gt;&lt;div class="article" title="Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;h2 class="title"&gt;&lt;a name="id450340"&gt;&lt;/a&gt;Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="author"&gt;&lt;h3 class="author"&gt;&lt;span class="firstname"&gt;The Rivet Team&lt;/span&gt;&lt;/h3&gt;&lt;div class="affiliation"&gt;&lt;span class="orgname"&gt;The Apache Software Foundation&lt;br&gt;&lt;/span&gt;&lt;div class="address"&gt;&lt;p&gt;&lt;br&gt;
+	Â Â &lt;code class="email"&gt;&amp;lt;&lt;a class="email" href="mailto:rivet-dev@tcl.apache.org"&gt;rivet-dev@tcl.apache.org&lt;/a&gt;&amp;gt;&lt;/code&gt;&lt;br&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p class="copyright"&gt;Copyright Â© 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apache Software Foundation&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr&gt;&lt;/div&gt;&lt;div class="toc"&gt;&lt;p&gt;&lt;b&gt;Table of Contents&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#introduction"&gt;Introduction to Apache Rivet&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#installation"&gt;Apache Rivet Installation&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#directives"&gt;Rivet Apache Directives&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#commands"&gt;Rivet Tcl Commands and Variables&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#var"&gt;var&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the value of a form variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#upload"&gt;upload&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; handle a file uploaded by a client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_response"&gt;load_response&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;
 #8212; load form variables into an array.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_headers"&gt;load_headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get client request's headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_cookies"&gt;load_cookies&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get any cookie variables sent by the client.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#load_env"&gt;load_env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get the request's environment variables.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#env"&gt;env&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Loads a single
+	"environmental variable" into a Tcl variable.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#include"&gt;include&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; includes a file into the output stream without modification.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#parse"&gt;parse&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; parses a Rivet template file.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#headers"&gt;headers&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; set and parse HTTP headers.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#makeurl"&gt;makeurl&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct url's based on hostname, port.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#cookie"&gt;cookie&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; get and set cookies.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#clock_to_rfc"&gt;clock_to_rfc850_gmt&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; create a rfc850 time from [clock seconds].&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span cl
 ass="refentrytitle"&gt;&lt;a href="#html"&gt;html&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; construct html tagged text.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#incr0"&gt;incr0&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#parray"&gt;parray&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#abort_page"&gt;abort_page&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Stops outputing data to web page, similar in
+	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#no_body"&gt;no_body&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Prevents Rivet from sending any content.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_string"&gt;escape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; convert a string into escaped characters.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_sgml_chars"&gt;escape_sgml_chars&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape special SGML characters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#escape_shell_command"&gt;escape_shell_command&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; escape shell metacharacters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#unescape_string"&gt;unescape_string&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; unescape escaped characters in a string.&lt;/span&gt;&lt;/dt&gt;&lt;/d
 l&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#examples"&gt;Examples and Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#tcl_packages"&gt;Rivet Tcl Packages&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#dio"&gt;DIO - Database Interface Objects&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#dio_package"&gt;DIO&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#diodisplay"&gt;DIODisplay - Database Interface Objects Display Class&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="refentrytitle"&gt;&lt;a href="#diodisplay_package"&gt;DIODisplay&lt;/a&gt;&lt;/span&gt;&lt;span class="refpurpose"&gt; &amp;#8212; Database Interface Objects Display Class&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#session_package"&gt;Session Package&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id490862"&gt;Introduction&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#requirements"&gt;Requirements&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="secti
 on"&gt;&lt;a href="#id491217"&gt;Preparing To Use It&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491262"&gt;Example Usage&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491318"&gt;Using Sessions From Your Code&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491516"&gt;Session Configuration Options&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491749"&gt;Session Methods&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id491975"&gt;Getting Additional Randomness From The Entropy File&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#help"&gt;Resources - How to Get Help&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492588"&gt;Mailing Lists&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492929"&gt;Newsgroup&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#websites"&gt;Web Sites&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493008"&gt;Bug Tracking System&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493024"&gt;IRC&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="
 section"&gt;&lt;a href="#id493035"&gt;Editing Rivet Template Files&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#internals"&gt;Rivet Internals&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492760"&gt;Initialization&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id492823"&gt;RivetChan&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493364"&gt;The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;global&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; Command&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493408"&gt;Page Parsing, Execution and Caching&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493450"&gt;Debugging Rivet and Apache&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#upgrading"&gt;Upgrading from mod_dtcl or NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493578"&gt;mod_dtcl&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;dt&gt;&lt;span class="section"&gt;&lt;a href="#id493589"&gt;NeoWebScript&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="list-of-examples"&gt;&lt;p&gt;&lt;
 b&gt;List of Examples&lt;/b&gt;&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;1. &lt;a href="#hello%20world"&gt;Hello World&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;2. &lt;a href="#id478912"&gt;Generate a Table&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;3. &lt;a href="#variable_access"&gt;Variable Access&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;4. &lt;a href="#file_upload"&gt;File Upload&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;5. &lt;a href="#file_download"&gt;File Download&lt;/a&gt;&lt;/dt&gt;&lt;dt&gt;6. &lt;a href="#ajax_xml_messaging"&gt;XML Messages and Ajax&lt;/a&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+    Document revision: $Revision: 787687 $, last modified 2009-06-23Â 17:35:01+02:00$ by $Author: mxmanghi $.
+  &lt;/p&gt;&lt;div class="section" title="Introduction to Apache Rivet"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="introduction"&gt;&lt;/a&gt;Introduction to Apache Rivet&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      Apache Rivet is a system for creating dynamic web content via a
+      programming language integrated with Apache Web Server.  It is
+      designed to be fast, powerful and extensible, consume few system
+      resources, be easy to learn, and to provide the user with a
+      platform that can also be used for other programming tasks
+      outside the web (GUI's, system administration tasks, text
+      processing, database manipulation, XML, and so on).  In order to
+      meet these goals, we have chosen the Tcl programming language to
+      combine with the Apache Web Server.
+    &lt;/p&gt;&lt;p style="width:90%"&gt;
+      In this manual, we aim to help get you started, and then
+      writing productive code as quickly as possible, as well as
+      giving you ideas on how to best take advantage of Rivet's
+      architecture to create different styles of web site.
+    &lt;/p&gt;&lt;p style="width:90%"&gt;
+      This documentation is a work in progress, and, like everything
+      else about Apache Rivet, it is Free Software.  If you see
+      something that needs improving, and have ideas or suggestions,
+      don't hesitate to let us know.  If you want to contribute
+      directly, better yet!
+    &lt;/p&gt;&lt;/div&gt;&lt;div class="section" title="Apache Rivet Installation"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="installation"&gt;&lt;/a&gt;Apache Rivet Installation&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="procedure"&gt;&lt;ol class="procedure" type="1"&gt;&lt;li class="step" title="Check Dependencies"&gt;&lt;p class="title"&gt;&lt;b&gt;Check Dependencies&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  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.
+	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Get Rivet&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  Download the sources at &lt;a class="ulink" href="http://tcl.apache.org/rivet/download.html" target="_top"&gt;http://tcl.apache.org/rivet/download.html&lt;/a&gt;.  Currently
+	  the only way to obtain Rivet.  In the future, we hope to
+	  have a FreeBSD port, Debian package, RPM's, and windows
+	  binaries.
+	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install Tcl"&gt;&lt;p class="title"&gt;&lt;b&gt;Install Tcl&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  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
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Get and Install Apache Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Get and Install Apache Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+          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
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;configure.tcl&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; (see below).
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+          The source code for the Apache web server may be found by
+          following the links here: &lt;a class="ulink" href="http://httpd.apache.org/" target="_top"&gt;http://httpd.apache.org/&lt;/a&gt;.
+	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Uncompress Sources"&gt;&lt;p class="title"&gt;&lt;b&gt;Uncompress Sources&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  We will assume that you have Apache installed at this point.
+	  You must uncompress the Rivet sources in the directory where you
+	  wish to compile them.
+
+	  &lt;/p&gt;&lt;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"&gt;gunzip tcl-rivet-X.X.X.tar.gz
+tar -xvf tcl-rivet-X.X.X.tar.gz&lt;/pre&gt;&lt;p style="width:90%"&gt;
+
+	&lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Building Rivet"&gt;&lt;p class="title"&gt;&lt;b&gt;Building Rivet&lt;/b&gt;&lt;/p&gt;&lt;ol type="a" class="substeps"&gt;&lt;li class="step" title="Step 6.a"&gt;&lt;p style="width:90%"&gt;
+	      On Linux or Unix systems, Rivet uses the standard
+	      ./configure ; make ; make install technique.
+	    &lt;/p&gt;&lt;p style="width:90%"&gt;
+	      There are several options to configure that might be useful
+	      or necessary:
+	      &lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;--with-tcl&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		      This points to the directory where the
+		      &lt;code class="filename"&gt;tclConfig.sh&lt;/code&gt; file is located.
+		    &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;--with-tclsh&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;This points to the location of the
+		      &lt;code class="filename"&gt;tclsh&lt;/code&gt; executable.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;--with-apxs&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;The location of the &lt;code class="filename"&gt;apxs&lt;/code&gt;
+		      program that provides information about the
+		      configuration and compilation of Apache modules.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	    &lt;/p&gt;&lt;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"&gt;cd src/
+./configure --with-tcl=/usr/lib/tcl8.4/ --with-tclsh=/usr/bin/tclsh8.4 \
+	    --with-apxs=/usr/bin/apxs
+&lt;/pre&gt;&lt;/li&gt;&lt;li class="step" title="Run make"&gt;&lt;p class="title"&gt;&lt;b&gt;Run make&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	      At this point, you are ready to run make, which should
+	      run to completion without any errors (a warning or two
+	      is ok, generally).
+	    &lt;/p&gt;&lt;/li&gt;&lt;li class="step" title="Install"&gt;&lt;p class="title"&gt;&lt;b&gt;Install&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	      Now, you are ready to run the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;make
+		install&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; to install the resulting files.
+		This should copy the shared object (like
+		&lt;code class="filename"&gt;mod_rivet.so&lt;/code&gt;, if one was
+		successfully created, into Apache's
+		&lt;code class="filename"&gt;libexec&lt;/code&gt; directory, as well as
+		install some support scripts and various code.
+	    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li class="step" title="Apache Configuration Files"&gt;&lt;p class="title"&gt;&lt;b&gt;Apache Configuration Files&lt;/b&gt;&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  Rivet is relatively easy to configure - we start off by
+	  adding the module itself:
+	&lt;/p&gt;&lt;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"&gt;LoadModule rivet_module	
+	    &lt;em class="replaceable"&gt;&lt;code&gt;/usr/lib/apache/1.3/mod_rivet.so&lt;/code&gt;&lt;/em&gt;
+	&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  This tells Apache to load the Rivet shared object, wherever
+	  it happens to reside on your file system.  Now we have to
+	  tell Apache what kind of files are "Rivet" files and how to
+	  process them:
+	&lt;/p&gt;&lt;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"&gt;AddType application/x-httpd-rivet .rvt
+AddType application/x-rivet-tcl .tcl&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  These tell Apache to process files with the
+	  &lt;code class="filename"&gt;.rvt&lt;/code&gt; and &lt;code class="filename"&gt;.tcl&lt;/code&gt;
+	  extensions as Rivet files.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  The characters encoding can be changed using the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;header type&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command,
+	  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.
+	&lt;/p&gt;&lt;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"&gt;AddType 'application/x-httpd-rivet;charset=utf-8' rvt&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	   Pages which this configuration applies to send back to the client
+	   a &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Content-Type:'text/html;charset=utf-8'&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; header.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;You may also wish to use Rivet files as index files for
+	directories.  In that case, you would do the following:&lt;/p&gt;&lt;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"&gt;DirectoryIndex index.html index.htm index.shtml index.cgi index.tcl index.rvt&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  For other directives that Rivet provides for Apache
+	  configuration, please see &lt;a class="xref" href="#directives" title="Rivet Apache Directives"&gt;the section called &amp;#8220;Rivet Apache Directives&amp;#8221;&lt;/a&gt;.
+	&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Apache Directives"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="directives"&gt;&lt;/a&gt;Rivet Apache Directives&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      These directives are used within the Apache httpd server
+      configuration files to modify Apache Rivet's behavior.  Their
+      precedence is as follows: &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetDirConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
+      &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetUserConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;,
+      &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, meaning that DirConf will
+      override UserConf, which will in turn override ServerConf.
+    &lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetServerConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;CacheSize&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;GlobalInitScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ChildInitScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ChildExitScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadMaxSize&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: b
 old;"&gt;UploadFilesToVar&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;SeparateVirtualInterps&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;HonorHeaderOnlyRequests&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; specifies a global
+	    option that is valid for the whole server.  If you have a
+	    virtual host, in some cases, the option specified in the
+	    virtualhost takes precedence over the 'global' version.
+	  &lt;/div&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;CacheSize&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;size&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Sets the size of the internal page cache, where
+		  &lt;em class="replaceable"&gt;&lt;code&gt;size&lt;/code&gt;&lt;/em&gt; is
+		  the number of byte-compiled pages to be cached for
+		  future use.  Default is
+		  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;MaxRequestsPerChild&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; / 5, or 50,
+		  if &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;MaxRequestsPerChild&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; is 0.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  This option is completely global, even when using
+		  separate, per-virtual host interpreters.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;GlobalInitScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Tcl script that is run when each interpreter is
+		  initialized. &lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;
+		  is an actual Tcl script, so to run a file, you would
+		  do:
+
+		  &lt;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"&gt;RivetServerConf GlobalInitScript "source /var/www/foobar.tcl"&lt;/pre&gt;
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  This option is ignored in virtual hosts.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;ChildInitScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Script to be evaluated when each Apache child
+		  process is initialized.  This is the recommended
+		  place to load modules, create global variables, open
+		  connections to other facilities (such as databases)
+		  and so on.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this script is run in addition to
+		  any global childinitscript.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;ChildExitScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Script to be evaluated when each Apache child
+		  process exits.  This is the logical place to clean
+		  up resources created in
+		  ChildInitScript, if necessary.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this script is run in addition to
+		  any global childexitscript.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Script to be evaluated before each server parsed
+		  (.rvt) page.  This can be used to create a standard
+		  header, for instance.  It could also be used to load
+		  code that you need for every page, if you don't want
+		  to put it in a GlobalInitScript
+		  ChildInitScript when you are first
+		  developing a web site.
+		  &lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;
+		    This code is evaluated at the global level, not
+		    inside the request namespace where pages are
+		    evaluated.
+		  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this option takes precedence over
+		  the global setting.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  Script to be called after each server parsed (.rvt) page.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this option takes precedence over
+		  the global setting.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;script&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  When Rivet encounters an error in a script, it
+		  constructs an HTML page with some information about
+		  the error, and the script that was being
+		  evaluated. If an ErrorScript is
+		  specified, it is possible to create custom error
+		  pages.  This may be useful if you want to make sure
+		  that users never view your source code.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this option takes precedence over
+		  the global setting.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Directory to place uploaded files.&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this option takes precedence over
+		  the global setting.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadMaxSize&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;size&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Maximum size for uploaded files.&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  In virtual hosts, this option takes precedence over
+		  the global setting.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadFilesToVar&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;yes&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;no&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  This option controls whether it is possible to
+		  upload files to a Tcl variable.  If you have a size
+		  limit, and don't have to deal with large files, this
+		  might be more convenient than sending the data to a
+		  file on disk.
+		&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;SeparateVirtualInterps&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;yes&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;no&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  If on, Rivet will create a separate Tcl interpreter
+		  for each Apache virtual host.  This is useful in an
+		  ISP type situation where it is desirable to separate
+		  clients into separate interpreters, so that they
+		  don't accidentally interfere with one another.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;This option is, by nature, only available at the
+		global level.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+		&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt; &lt;span style="font-family:monospace; font-weight: bold;"&gt;HonorHeaderOnlyRequests&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;yes&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;no&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	      &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		  If a HEAD requests is issued by the client Rivet detects
+		  this case and sends back to the client a standard header 
+		  response. If the real header has to be examined (e.g. 
+		  for debugging) you can turn on this options which 
+		  causes Rivet to parse and run the script the requests refers 
+		  to. In this case the real header is returned to the client.
+		&lt;/div&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;This option is, by nature, only available at the global level&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetDirConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	    These options are the same as for
+	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, except that they are
+	    only valid for the directory where they are specified, and
+	    its subdirectories.  It may be specified in
+	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;Directory&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; sections.
+	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	  &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;RivetUserConf&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;BeforeScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;AfterScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;ErrorScript&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;UploadDirectory&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;
+	&lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+	    These options are the same as for
+	    &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;RivetServerConf&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;, except that they are
+	    only valid for the directory where they are specified, and
+	    its subdirectories.
+	  &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Rivet Tcl Commands and Variables"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="commands"&gt;&lt;/a&gt;Rivet Tcl Commands and Variables&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="var"&gt;&lt;a name="var"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;var, var_qs, var_post &amp;#8212; get the value of a form variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;n
 umber&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_qs&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var_post&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt; | &lt;span style="font-family:monos
 pace; font-weight: bold;"&gt;list&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id474254"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command retrieves information
+	  about GET or POST variables sent to the script via client
+	  request.  It treats both GET and POST variables the same,
+	  regardless of their origin.  Note that there are two
+	  additional forms of &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;:
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var_qs&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;var_post&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;.
+	  These two restrict the retrieval of information to
+	  parameters arriving via the querystring
+	  (?foo=bar&amp;amp;bee=bop) or POSTing, respectively.
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;default&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the value of variable
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;
+		as a string (even if there are multiple values).  If
+		the variable doesn't exist as a GET or POST
+		variable, the
+		&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;default&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;
+		value is returned, otherwise "" - an empty string -
+		is returned.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;list&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the value of variable
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt; as a
+		list, if there are multiple values.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns 1 if
+		&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;
+		exists, 0 if it doesn't.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;number&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the number of variables.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;var&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;all&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Return a list of variable names and values.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  See &lt;a class="xref" href="#variable_access" title="ExampleÂ 3.Â Variable Access"&gt;ExampleÂ 3, &amp;#8220;Variable Access&amp;#8221;&lt;/a&gt;.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="upload"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="upload"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;upload &amp;#8212; handle a file uploaded by a client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font
 -weight: bold;"&gt;filename&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id474593"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;The upload command is for file upload manipulation.
+	  See the relevant Apache Directives to further configure the
+	  behavior of this Rivet feature.
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;channel&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		When given the name of a file upload
+		&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;,
+		returns a Tcl channel that can be used to access the
+		uploaded file.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;save&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Saves the
+		&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt; in
+		the file
+		&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;data&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns data uploaded to the server.  This is binary clean
+		- in other words, it will work even with files like
+		images, executables, compressed files, and so on.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;exists&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns true if an upload named  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;uploadname&lt;/span&gt;?
+		exists.  This can be used in scripts that are meant to
+		be run by different forms that send over uploads that
+		might need specific processing.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;size&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the size of the file uploaded.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		If the &lt;code class="varname"&gt;Content-type&lt;/code&gt; is set, it is
+		returned, otherwise, an empty string.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;filename&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the filename on the remote host that uploaded the file.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;tempname&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uploadname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the name of the temporary file on the local host that the file was uploaded into.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;upload&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;names&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Returns the variable names, as a list, of all the files
+		uploaded.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	  See &lt;a class="xref" href="#upload" title="upload"&gt;upload&lt;/a&gt;.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_response"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_response"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_response &amp;#8212; load form variables into an array.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_response&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475020"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;
+	Load any form variables passed to this page into an
+	array. If &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; is called without 
+	arguments the array response is created in 
+	the scope of the caller. If the variables var1,var2,var3...
+	having values val1,val2,val3... are passed to the page, the
+	resulting array will be a collection mapping var1,var2,var3...
+	to their corresponding values. &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
+	was inspired by the same NeoWebScript procedure in the way
+	it deals with multiple assignments: if a variable 
+	is assigned more than once the corresponding array element will be a 
+	list of the values for the variable. This can be useful in the case 
+	of forms with checkbox options that are given the same name.
+	Calling &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;load_response&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; several times for the same
+	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.  
+      &lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_headers &amp;#8212; get client request's headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_headers&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475090"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Load the headers that come from a client request into the
+	  provided array name, or use headers if no
+	  name is provided.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="load_cookies"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_cookies"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_cookies &amp;#8212; get any cookie variables sent by the client.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_cookies&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475140"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+	Load the array of cookie variables into the specified
+	array name.  Uses array cookies by
+	default.
+      &lt;/p&gt;&lt;/div&gt;&lt;div class="refentry" title="load_env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="load_env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;load_env &amp;#8212; get the request's environment variables.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;load_env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;array_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475190"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Load the array of environment variables into the specified
+	  array name.  Uses array ::request::env by
+	  default.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  As Rivet pages are run in the ::request
+	  namespace, it isn't necessary to qualify the array name
+	  for most uses - it's ok to access it as
+	  env.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="env"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="env"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;env &amp;#8212; Loads a single
+	"environmental variable" into a Tcl variable.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;env&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475252"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  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.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="include"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="include"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;include &amp;#8212; includes a file into the output stream without modification.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;include&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename_name&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475300"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Include a file without parsing it for processing tags &amp;lt;?
+	  and ?&amp;gt;.  This is the best way to include an HTML file or
+	  any other static content.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="parse"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parse"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parse &amp;#8212; parses a Rivet template file.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parse&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475350"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Like the Tcl &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command, but also
+	  parses for Rivet &amp;lt;?  and ?&amp;gt; processing tags.  Using
+	  this command, you can use one .rvt file from another.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="headers"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="headers"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;headers &amp;#8212; set and parse HTTP headers.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;  (&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt; | &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475439"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="wid
 th:90%"&gt;
+	  The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;headers&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command is for setting and
+	  parsing HTTP headers.
+	&lt;/p&gt;&lt;div class="variablelist"&gt;&lt;dl&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;headername&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Set arbitrary header names and values.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;redirect&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;uri&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		Redirect from the current page to a new
+		URI. &lt;span class="emphasis"&gt;&lt;em&gt;Must&lt;/em&gt;&lt;/span&gt; be done in the first block
+		of TCL code.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;add&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;headername&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;value&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Add text to header
+		&lt;code class="varname"&gt;headername&lt;/code&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;type&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;content-type&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;
+		This command sets the &lt;code class="constant"&gt;Content-type&lt;/code&gt;
+		header returned by the script, which is useful if you wish
+		to send content other than HTML with Rivet - PNG or jpeg
+		images, for example.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;dt&gt;&lt;span class="term"&gt;
+	      &lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;headers&lt;/span&gt;   &lt;span style="font-family:monospace; font-weight: bold;"&gt;numeric&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;response code&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;
+	    &lt;/span&gt;&lt;/dt&gt;&lt;dd&gt;&lt;div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"&gt;&lt;div style="margin-bottom:1.5ex ; padding .5ex"&gt;Set a numeric response code, such as 200, 404 or 500.
+	      &lt;/div&gt;&lt;/div&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="makeurl"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="makeurl"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;makeurl &amp;#8212; construct url's based on hostname, port.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;makeurl&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;filename&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475713"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Create a self referencing URL from a filename.  For example:
+	  &lt;/p&gt;&lt;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"&gt;makeurl /tclp.gif&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  returns
+	  &lt;code class="computeroutput"&gt;http://[hostname]:[port]/tclp.gif&lt;/code&gt;.
+	  where hostname and port are the hostname and port of the
+	  server in question.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="cookie"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="cookie"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;cookie &amp;#8212; get and set cookies.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;set&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;cookiValue&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-days &lt;em class="replaceable"&gt;&lt;code&gt;expireInDays&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font
 -family:monospace; font-weight: bold;"&gt;-hours &lt;em class="replaceable"&gt;&lt;code&gt;expireInHours&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-minutes &lt;em class="replaceable"&gt;&lt;code&gt;expireInMinutes&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-expires &lt;em class="replaceable"&gt;&lt;code&gt;Wdy, DD-Mon-YYYY HH:MM:SS GMT&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-path &lt;em class="replaceable"&gt;&lt;code&gt;uriPathCookieAppliesTo&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;-secure &lt;em class="replaceable"&gt;&lt;code&gt;1/0&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;cookie&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;get&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: b
 old;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;cookieName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475870"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;cookie&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; 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.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="clock_to_rfc850_gmt"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="clock_to_rfc"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;clock_to_rfc850_gmt &amp;#8212; create a rfc850 time from [clock seconds].&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;clock_to_rfc850_gmt&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;seconds&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475923"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Convert an integer-seconds-since-1970 click value to
+	  RFC850 format, with the additional requirement that it be
+	  GMT only.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="html"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="html"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;html &amp;#8212; construct html tagged text.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;html&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;string&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arg&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;...?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id475978"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Print text with the added ability to pass HTML tags
+	  following the string.  Example:
+	  &lt;/p&gt;&lt;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"&gt;html "Test" b i&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	  produces: &lt;code class="computeroutput"&gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;Test&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;/code&gt;
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="incr0"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="incr0"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;incr0 &amp;#8212; increment a variable or set it to 1 if nonexistant.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;incr0&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476044"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Increment a variable
+	  &lt;em class="replaceable"&gt;&lt;code&gt;varname&lt;/code&gt;&lt;/em&gt; by
+	  &lt;em class="replaceable"&gt;&lt;code&gt;num&lt;/code&gt;&lt;/em&gt;.  If the
+	  variable doesn't exist, create it instead of returning an
+	  error.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="parray"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="parray"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;parray &amp;#8212; Tcl's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; with html formatting.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;parray&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;arrayName&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;&lt;em class="replaceable"&gt;&lt;code&gt;?&lt;span class="optional"&gt;pattern&lt;/span&gt;?&lt;/code&gt;&lt;/em&gt;&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476114"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="wi
 dth:90%"&gt;
+	  An html version of the standard Tcl
+	  &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;parray&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.  Displays the entire
+	  contents of an array in a sorted, nicely-formatted way.
+	  Mostly used for debugging purposes.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="abort_page"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="abort_page"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;abort_page &amp;#8212; Stops outputing data to web page, similar in
+	  purpose to PHP's &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;die&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;abort_page&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476165"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;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
+	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;exit&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command, but that cannot be used in
+	Rivet without actually exiting the apache child
+	process!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="no_body"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="no_body"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;no_body &amp;#8212; Prevents Rivet from sending any content.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;no_body&lt;/span&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476210"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  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.
+	&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_string &amp;#8212; convert a string into escaped characters.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476257"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	    Scans through each character in the specified string looking
+	    for special characters, escaping them as needed, mapping
+	    special characters to a quoted hexadecimal equivalent,
+	    returning the result.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    This is useful for quoting strings that are going to be
+	    part of a URL.
+	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	    You must require the Rivet package in order to gain access to this command
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_sgml_chars"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_sgml_chars"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_sgml_chars &amp;#8212; escape special SGML characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_sgml_chars&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476312"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  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.  
+	  For example, the right angle
+	  bracket is escaped to the corrected ampersand gt symbol.
+	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	    You must require the Rivet package in order to gain access to this command
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="escape_shell_command"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="escape_shell_command"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;escape_shell_command &amp;#8212; escape shell metacharacters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;escape_shell_command&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476364"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  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 
+	  brackets, dollar signs, backslashes, semicolons, ampersands,
+	  vertical bars, etc. 	
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	  For each metacharacter found, it is quoted in the result by
+	  prepending it with a backslash, returning the result.
+	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	    You must require the Rivet package in order to gain access to this command
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refentry" title="unescape_string"&gt;&lt;div class="refentry.separator"&gt;&lt;hr&gt;&lt;/div&gt;&lt;a name="unescape_string"&gt;&lt;/a&gt;&lt;div class="titlepage"&gt;&lt;/div&gt;&lt;div class="refnamediv"&gt;&lt;h2&gt;Name&lt;/h2&gt;&lt;p&gt;unescape_string &amp;#8212; unescape escaped characters in a string.&lt;/p&gt;&lt;/div&gt;&lt;div class="refsynopsisdiv" title="Synopsis"&gt;&lt;h2&gt;Synopsis&lt;/h2&gt;&lt;div class="cmdsynopsis" style="width:80%"&gt;&lt;div style="background:#ccccff ; margin:1ex ; padding:.4ex; padding-left: 0.8ex;   word-spacing:1ex "&gt;&lt;span style="font-weight:bold ; font-family:monospace"&gt;unescape_string&lt;/span&gt;  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;string&lt;/span&gt;?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="refsect1" title="Description"&gt;&lt;a name="id476420"&gt;&lt;/a&gt;&lt;h2&gt;Description&lt;/h2&gt;&lt;p style="width:90%"&gt;
+	  Scans through each character in the specified string looking
+	  for escaped character sequences (characters containing a
+	  percent sign and two hexadecimal characters, unescaping them 
+	  back to their original character values, as needed, also mapping
+	  plus signs to spaces, and returning the result.
+	&lt;/p&gt;&lt;p style="width:90%"&gt;
+	    This is useful for unquoting strings that have been quoted to
+	    be part of a URL.
+	&lt;/p&gt;&lt;div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"&gt;&lt;table border="0" summary="Note"&gt;&lt;tr&gt;&lt;td rowspan="2" align="center" valign="top" width="25"&gt;&lt;img alt="[Note]" src="images/note.png"&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt; 
+	    You must require the Rivet package in order to gain access to this command
+	&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="section" title="Examples and Usage"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;hr&gt;&lt;h2 class="title" style="clear: both"&gt;&lt;a name="examples"&gt;&lt;/a&gt;Examples and Usage&lt;/h2&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="width:90%"&gt;
+      Some examples of Rivet usage follow.  Some prior Tcl knowledge
+      is assumed.  If you don't know much Tcl, don't worry, it's easy,
+      and there are some good resources available on the web that will
+      get you up to speed quickly.  Go to the &lt;a class="link" href="#websites" title="Web Sites"&gt;web sites&lt;/a&gt; section and have a look.
+    &lt;/p&gt;&lt;div class="example"&gt;&lt;a name="hello%20world"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 1.Â Hello World&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+	As with any tool, it's always nice to see something work, so
+	let's create a small "Hello World" page.&lt;/p&gt;&lt;p style="width:90%"&gt;
+	Assuming you have Apache configured correctly, create a file
+	called &lt;code class="filename"&gt;hello.rvt&lt;/code&gt; where Apache can find
+	it, with the following content:
+      &lt;/p&gt;&lt;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"&gt;&amp;lt;?
+puts "Hello World"
+?&amp;gt;
+&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	If you then access it with your browser, you should see a
+	blank page with the text "Hello World" (without the quotes) on
+	it.
+      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="id478912"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 2.Â Generate a Table&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+	    In another simple example, we dynamically generate a table:
+	  &lt;/p&gt;&lt;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"&gt;&amp;lt;? puts "&amp;lt;table&amp;gt;\n"
+for {set i 1} { $i &amp;lt;= 8 } {incr i} {
+    puts "&amp;lt;tr&amp;gt;\n"
+    for {set j 1} {$j &amp;lt;= 8} {incr j} {
+        set num [ expr $i * $j * 4 - 1]
+        puts [ format "&amp;lt;td bgcolor=\"%02x%02x%02x\" &amp;gt; $num $num $num &amp;lt;/td&amp;gt;\n" \
+		   $num $num $num ]
+    }
+    puts "&amp;lt;/tr&amp;gt;\n"
+}
+puts "&amp;lt;/table&amp;gt;\n" ?&amp;gt;
+&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	    If you read the code, you can see that this is pure Tcl.  We
+	    could take the same code, run it outside of Rivet, and it
+	    would generate the same HTML!
+	  &lt;/p&gt;&lt;p style="width:90%"&gt;
+	    The result should look something like this:
+	  &lt;/p&gt;&lt;div&gt;&lt;img src="table.png"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="variable_access"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 3.Â Variable Access&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+	Here, we demonstrate how to access variables set by GET or
+	POST operations.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	Given an HTML form like the following:
+      &lt;/p&gt;&lt;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"&gt;     &amp;lt;form action="vars.rvt"&amp;gt;
+      &amp;lt;table&amp;gt;
+	&amp;lt;tbody&amp;gt;
+	  &amp;lt;tr&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Title:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;input name="title"&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;/tr&amp;gt;
+	  &amp;lt;tr&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Salary:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;input name="salary"&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;/tr&amp;gt;
+	  &amp;lt;tr&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Boss:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;input name="boss"&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
+	  &amp;lt;tr&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Skills:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	    &amp;lt;td&amp;gt;
+	      &amp;lt;select name="skills" multiple="multiple"&amp;gt;
+		&amp;lt;option&amp;gt;c&amp;lt;/option&amp;gt;
+		&amp;lt;option&amp;gt;java&amp;lt;/option&amp;gt;
+		&amp;lt;option&amp;gt;Tcl&amp;lt;/option&amp;gt;
+		&amp;lt;option&amp;gt;Perl&amp;lt;/option&amp;gt;
+	      &amp;lt;/select&amp;gt;
+	    &amp;lt;/td&amp;gt;
+	  &amp;lt;/tr&amp;gt;
+	  &amp;lt;tr&amp;gt;
+	    &amp;lt;td&amp;gt;&amp;lt;input type="submit"&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;/tr&amp;gt;
+	&amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+    &amp;lt;/form&amp;gt;
+&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	We can use this Rivet script to get the variable values:
+      &lt;/p&gt;&lt;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"&gt;&amp;lt;?
+set errlist {}
+if { [var exists title] } {
+    set title [var get title]
+} else {
+    set errlist "You need to enter a title"
+}
+
+if { [var exists salary] } {
+    set salary [var get salary]
+    if { ! [string is digit $salary] } {
+	lappend errlist "Salary must be a number"
+    }
+} else {
+    lappend errlist "You need to enter a salary"
+}
+
+if { [var exists boss] } {
+    set boss [var get boss]
+} else {
+    set boss "Mr. Burns"
+}
+
+if { [var exists skills] } {
+    set skills [var list skills]
+} else {
+    lappend errlist "You need to enter some skills"
+}
+
+if { [llength $errlist] != 0 } {
+    foreach err $errlist {
+	puts "&amp;lt;b&amp;gt; $err &amp;lt;/b&amp;gt;"
+    }
+} else {
+    puts "Thanks for the information!"
+    ?&amp;gt;
+    &amp;lt;table&amp;gt;
+      &amp;lt;tbody&amp;gt;
+	&amp;lt;tr&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Title:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;? puts $title ?&amp;gt;&amp;lt;/td&amp;gt;
+	&amp;lt;/tr&amp;gt;
+	&amp;lt;tr&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Boss:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;? puts $boss ?&amp;gt;&amp;lt;/td&amp;gt;
+	&amp;lt;/tr&amp;gt;
+	&amp;lt;tr&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Salary:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;? puts $salary ?&amp;gt;&amp;lt;/td&amp;gt;
+	&amp;lt;/tr&amp;gt;
+	&amp;lt;tr&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;b&amp;gt;Skills:&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;
+	  &amp;lt;td&amp;gt;&amp;lt;? puts $skills ?&amp;gt;&amp;lt;/td&amp;gt;
+	&amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+    &amp;lt;?
+}
+?&amp;gt;
+&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	The first statement checks to make sure that the
+	&lt;code class="varname"&gt;boss&lt;/code&gt; variable has been passed to the
+	script, and then does something with that information.  If
+	it's not present, an error is added to the list of errors.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	In the second block of code, the variable
+	&lt;code class="varname"&gt;salary&lt;/code&gt; is fetched, with one more error
+	check - because it's a number, it needs to be composed of
+	digits.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	The &lt;code class="varname"&gt;boss&lt;/code&gt; variable isn't required to have
+	been sent - we set it to "Mr. Burns" if it isn't among the
+	information we received.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	The last bit of variable handing code is a bit trickier.
+	Because &lt;code class="varname"&gt;skills&lt;/code&gt; is a listbox, and can
+	potentially have multiple values, we opt to receive them as a
+	list, so that at some point, we could iterate over them.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	The script then checks to make sure that
+	&lt;code class="varname"&gt;errlist&lt;/code&gt; is empty and outputting a thankyou
+	message.  If &lt;code class="varname"&gt;errlist&lt;/code&gt; is not empty, the list
+	of errors it contains is printed.
+      &lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;br class="example-break"&gt;&lt;div class="example"&gt;&lt;a name="file_upload"&gt;&lt;/a&gt;&lt;p class="title"&gt;&lt;b&gt;ExampleÂ 4.Â File Upload&lt;/b&gt;&lt;/p&gt;&lt;div class="example-contents"&gt;&lt;p style="width:90%"&gt;
+	The &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; command endows Rivet with an
+	interface to access files transferred over http as parts of a
+	multipart form.  The following HTML in one file, say,
+	&lt;code class="filename"&gt;upload.html&lt;/code&gt; creates a form with a text
+	input entry. By clicking the file chooser button the file
+	browser shows up and the user selects the file to be uploaded
+	(the file path will appear in the text input).  In order to make
+	sure you're uploading the whole file you must combine the
+	action of the enctype and method attributes of the
+	&amp;lt;form...&amp;gt; tag in the way shown in the example.  Failure
+	to do so would result in the client sending only the file's
+	path, rather than the actual contents.
+      &lt;/p&gt;&lt;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"&gt;&amp;lt;form action="foo.rvt" enctype="multipart/form-data" method="post"&amp;gt;
+&amp;lt;input type="file" name="MyUpload"&amp;gt;&amp;lt;/input&amp;gt;
+&amp;lt;input type="submit" value="Send File"&amp;gt;&amp;lt;/input&amp;gt;
+&amp;lt;/form&amp;gt;
+&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	In the script invoked by the form
+	(&lt;code class="filename"&gt;upload.rvt&lt;/code&gt;) &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
+	 ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;argument ...&lt;/span&gt;? commands can be used to manipulate the
+	various files uploaded.
+      &lt;/p&gt;&lt;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"&gt;&amp;lt;?
+upload save MyUpload /tmp/uploadfiles/file1
+puts "Saved file [upload filename MyUpload] \
+	([upload size MyUpload] bytes) to server"
+?&amp;gt;&lt;/pre&gt;&lt;p style="width:90%"&gt;
+	Don't forget that the apache server must have write access to
+	the directory where files are being created.  The Rivet Apache
+	directives have a substantial impact on the upload process,
+	you have to carefully read the docs in order to set the
+	appropriate directives values that would match your
+	requirements.
+      &lt;/p&gt;&lt;p style="width:90%"&gt;
+	It is also important to understand that some 
+	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; commands are effective only when
+	used in a mutually exclusive way.  Apache stores the data in
+	temporary files which are read by the &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload save
+	 ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;upload name&lt;/span&gt;? ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;filename&lt;/span&gt;?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; or by the
+	&lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload data  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;upload name&lt;/span&gt;?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;
+	command. Subsequent calls to these 2 commands using the same
+	 ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;upload name&lt;/span&gt;? argument will return no data on the
+	second call.  Likewise &lt;span style="font-family:monospace"&gt;&lt;span class="command"&gt;&lt;strong&gt;upload channel  ?&lt;span style="font-family:monospace; font-weight: bold;"&gt;upload
+	name&lt;/span&gt;?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt; will return a Tcl file channel that you
+	can use in regular Tcl scripts only if you haven't already

[... 1339 lines stripped ...]


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



</pre>
</div>
</content>
</entry>
</feed>
