diff --git a/src/python/build_pyrte.com b/src/python/build_pyrte.com
index 71534601d7006db15dfe4d5a188c28f5423ea783_c3JjL3B5dGhvbi9idWlsZF9weXJ0ZS5jb20=..fd3282a48af92ab896c871604ab1de697f9f2cae_c3JjL3B5dGhvbi9idWlsZF9weXJ0ZS5jb20= 100755
--- a/src/python/build_pyrte.com
+++ b/src/python/build_pyrte.com
@@ -61,7 +61,7 @@
 $!
 $    SET NOON
 $    SET VERIFY
-$ LINK /THREADS_ENABLE/EXECUTABLE=HT_EXE:PYRTE.EXE -
+$ LINK /THREADS_ENABLE/EXECUTABLE=WASD_EXE:PYRTE.EXE -
 [.OBJ_'ARCH_NAME']PYRTE.OBJ, -
 SYS$INPUT:/OPTIONS 
 IDENTIFICATION="''IMAGE_IDENT'"
diff --git a/src/python/pyrte.c b/src/python/pyrte.c
index 71534601d7006db15dfe4d5a188c28f5423ea783_c3JjL3B5dGhvbi9weXJ0ZS5j..fd3282a48af92ab896c871604ab1de697f9f2cae_c3JjL3B5dGhvbi9weXJ0ZS5j 100755
--- a/src/python/pyrte.c
+++ b/src/python/pyrte.c
@@ -187,7 +187,7 @@
 
 PYRTE COPYRIGHT
 ---------------
-Copyright (C) 2007-2011 Mark G.Daniel
+Copyright (C) 2007-2013 Mark G.Daniel
 This package comes with ABSOLUTELY NO WARRANTY.
 This is free software, and you are welcome to redistribute it under the
 conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
@@ -291,8 +291,8 @@
 -------------
 $ @BUILD_PYRTE BUILD  !compile+link
 $ @BUILD_PYRTE LINK   !link-only
-$ COPY HT_EXE:PYRTE.EXE CGI_EXE:
+$ COPY WASD_EXE:PYRTE.EXE CGI_EXE:
 
 
 VERSION HISTORY (update SOFTWAREVN as well!)
 ---------------
@@ -295,7 +295,11 @@
 
 
 VERSION HISTORY (update SOFTWAREVN as well!)
 ---------------
+20-JUN-2013  MGD  v1.1.11, bugfix; ProcessCachingRte() it appears to be
+                             necessary to destroy *EnvironDict along with
+                             using Py_EndInterpreter()
+                           bugfix; usage limit should be greater than equal to
 05-NOV-2011  MGD  v1.1.10, Python 2.7.2, see changes to includes
 27-FEB-2011  MGD  v1.1.9, /CLI= to allow a command-line script activation
                           logical PYRTE_METRICS enables "?$metrics$" report
@@ -319,8 +323,8 @@
 */
 /*****************************************************************************/
 
-#define SOFTWARECR "Copyright (C) 2007-2011 Mark G.Daniel"
-#define SOFTWAREVN "1.1.10"
+#define SOFTWARECR "Copyright (C) 2007-2013 Mark G.Daniel"
+#define SOFTWAREVN "1.1.11"
 #define SOFTWARENM "PYRTE"
 #ifdef __ALPHA
 #  define SOFTWAREID SOFTWARENM " AXP-" SOFTWAREVN
@@ -352,7 +356,7 @@
 
    with HP C V7.1-011 on OpenVMS IA64 V8.4, and
 
-   ctime_r ((const int*)tsecs,buf);
+   ctime_r (tsecs,buf);
 ............^
 %CC-W-PTRMISMATCH, In this statement, the referenced type of the pointer value
 "(const int ...)tsecs" is "const int", which is not compatible with "const unsigned long".
@@ -468,6 +472,7 @@
           *pMainDict,
           *pMainModule,
           *pOsDict,
+          *pOsEnvironDict,
           *pOsModule,
           *pWasdModule,
           *pWsgiExcInfo,
@@ -1146,7 +1151,7 @@
 
       if (!GlobalDebug) Debug = 0;
 
-      if (UsageLimit && UsageCount > UsageLimit) break;
+      if (UsageLimit && UsageCount >= UsageLimit) break;
    }
 }
 
@@ -1477,8 +1482,12 @@
             PyThreadState_Swap (pStateBuffer);
             ccptr->pInterpState = NULL;
             ccptr->InterpreterUsageCount = 0;
+            /* these seem to need to go after the interpreter */
+            Py_DECREF (pEnvironDict);
+            Py_DECREF (pOsEnvironDict);
+            pEnvironDict = pOsEnvironDict = NULL;
          }
       }
 
       if (!GlobalDebug) Debug = 0;
 
@@ -1480,9 +1489,9 @@
          }
       }
 
       if (!GlobalDebug) Debug = 0;
 
-      if (UsageLimit && UsageCount > UsageLimit) break;
+      if (UsageLimit && UsageCount >= UsageLimit) break;
    }
 
    Py_Finalize();
@@ -1756,7 +1765,6 @@
 
 {
    static char  RequestMethodGet[] = "REQUEST_METHOD=GET";
-   static PyObject  *pOsEnvironDict;
 
    int  retval;
    char  *cptr, *sptr,
diff --git a/src/python/readme.txt b/src/python/readme.txt
deleted file mode 100755
index 71534601d7006db15dfe4d5a188c28f5423ea783_c3JjL3B5dGhvbi9yZWFkbWUudHh0..0000000000000000000000000000000000000000
--- a/src/python/readme.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-PYRTE CGI/CGIplus/RTE/WSGI Python interface for the WASD Web server.
-
-Check READMORE.HTML for build and configuration information.
-
-PYRTE COPYRIGHT
----------------
-Copyright (C) 2007-2011 Mark G.Daniel
-This package comes with ABSOLUTELY NO WARRANTY.
-This is free software, and you are welcome to redistribute it under the
-conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
-
-  http://www.gnu.org/licenses/gpl.txt
-
-PYTHON COPYRIGHT
-----------------
-Python is subject to it's own PSF license.
-
-  http://www.python.org/psf/license.html
diff --git a/src/python/readmore.html b/src/python/readmore.html
index 71534601d7006db15dfe4d5a188c28f5423ea783_c3JjL3B5dGhvbi9yZWFkbW9yZS5odG1s..fd3282a48af92ab896c871604ab1de697f9f2cae_c3JjL3B5dGhvbi9yZWFkbW9yZS5odG1s 100755
--- a/src/python/readmore.html
+++ b/src/python/readmore.html
@@ -1,4 +1,5 @@
-<HTML>
-<HEAD>
-<TITLE>Python Run-Time Environment</TITLE>
+<!DOCTYPE html>
+<html>
+<head>
+<title>Python Run-Time Environment</title>
 
@@ -4,5 +5,10 @@
 
-<STYLE TYPE="text/css">
-body { font-family:arial,helvetica; }
+<style type="text/css">
+body {
+  font-family:arial,helvetica,sans-serif;
+  font-size:11pt;
+  background-color:#ffffff; color:#000000;
+  margin:1.5em; padding:0;
+}
 
 h1 {
@@ -7,6 +13,6 @@
 
 h1 {
-  font-size:150%; font-weight:bold; text-decoration:underline;
+  font-size:150%; font-weight:bold;
 }
 
 h2 {
@@ -17,6 +23,5 @@
 
 h3 {
   font-size:120%; font-weight:bold;
-  padding-top:0.8em;
 }
 
@@ -21,4 +26,11 @@
 }
 
+a:link { color:#0000cc; }
+a:visited { color:#0000cc; }
+
+@media screen { a[target=_blank]::after { font-size:80%; content:"\2924"; } }
+
+tt { font-family:courier,monospace; padding:0 4px 0 4px; }
+
 hr { color:#888888; background-color:#888888; height:1px; border:0; }
 
@@ -23,8 +35,9 @@
 hr { color:#888888; background-color:#888888; height:1px; border:0; }
 
-.code {
-  border-style:solid; border-color:#888888; border-left-width:1;
-  border-top-width:0; border-right-width:0; border-bottom-width:0;
+.code
+{
+  font-family:courier,monospace;
+  border-style:solid; border-color:#888888; border-width:0 0 0 1px;
   background-color:#eeeeee;
   margin-left:2em;
   margin-right:5em;
@@ -33,7 +46,7 @@
 }
 
 .quote {
-  border-style:dotted; border-color:#888888; border-width:1;
+  border-style:dotted; border-color:#888888; border-width:1px;
   font-size:90%;
   background-color:#eeeeee;
   margin-left:2em;
@@ -52,5 +65,5 @@
   border-color:#888888; 
   border-collapse:collapse;
 }
-</STYLE>
+</style>
 
@@ -56,4 +69,4 @@
 
-</HEAD>
-<BODY BGCOLOR="#ffffff" TEXT="#000000" LINK="#0000cc" VLINK="#0000cc">
+</head>
+<body bgcolor="#ffffff" text="#000000" link="#0000cc" vlink="#0000cc">
 
@@ -59,3 +72,3 @@
 
-<CENTER>
+<center>
 
@@ -61,4 +74,4 @@
 
-<H1>Python Run-Time Environment</H1>
-<H3>Version 1.1.10, 5th November 2011</H3>
+<h1>Python Run-Time Environment</h1>
+<h3>Version 1.1.11, 23rd June 2013</h3>
 
@@ -64,7 +77,7 @@
 
-<P><B>Copyright &copy; 2007-2011 Mark G. Daniel</B>
-<BR>This program, comes with ABSOLUTELY NO WARRANTY.
-<BR>This is free software, and you are welcome to redistribute it under the
-<BR>conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
-<BR><A HREF="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</A>
+<p><b>Copyright &copy; 2007-2016 Mark G. Daniel</b>
+<br>This program, comes with ABSOLUTELY NO WARRANTY.
+<br>This is free software, and you are welcome to redistribute it under the
+<br>conditions of the GNU GENERAL PUBLIC LICENSE, version 3, or any later version.
+<br><a target="_blank" href="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</a>
 
@@ -70,3 +83,3 @@
 
-</CENTER>
+</center>
 
@@ -72,3 +85,3 @@
 
-<H2 STYLE="margin-left:1.5em;">Contents</H2>
+<h2 style="margin-left:1.5em;">Contents</h2>
 
@@ -74,11 +87,11 @@
 
-<UL>
-<LI><A HREF="#install">Installation</A>
-<LI><A HREF="#config">Configure WASD</A>
-<LI><A HREF="#example">Example Scripts</A>
-<LI><A HREF="#wsgi">Web Server Gateway Interface</A>
-<LI><A HREF="#lever">Leveraging PyRTE</A>
-<LI><A HREF="#problems">Problems</A>
-<LI><A HREF="#ackn">Acknowlegements</A>
-</UL>
+<ul>
+<li><a href="#install">Installation</a>
+<li><a href="#config">Configure WASD</a>
+<li><a href="#example">Example Scripts</a>
+<li><a href="#wsgi">Web Server Gateway Interface</a>
+<li><a href="#lever">Leveraging PyRTE</a>
+<li><a href="#problems">Problems</a>
+<li><a href="#ackn">Acknowlegements</a>
+</ul>
 
@@ -84,3 +97,3 @@
 
-<BR><HR ALIGN=left SIZE=1 NOSHADE><BR>
+<br><hr align="left" size="1" noshade><br>
 
@@ -86,5 +99,5 @@
 
-<P> PyRTE is an interface to a <A HREF="http://www.python.org/">Python</A>
+<p> PyRTE is an interface to a <a target="_blank" href="http://www.python.org/">Python</a>
 interpreter engine and environment for the WASD VMS Web server.  It is designed
 to be able to be used in standard CGI and CGIplus/RTE persistent scripting
 modes.  The persistent modes (default) provide a ~35x (yes, an approximate
@@ -94,8 +107,8 @@
 be obtained and installed separately (a simple matter as it is provided via a
 PCSI package).
 
-<P> PyRTE is linked against the Python interpreter shareable image and so
+<p> PyRTE is linked against the Python interpreter shareable image and so
 shares a set of Python capabilities in common with command-line OpenVMS Python. 
 Alpha (AXP) and Itanium object modules are provided for the VMS platforms
 available for Python.
 
@@ -98,11 +111,11 @@
 shares a set of Python capabilities in common with command-line OpenVMS Python. 
 Alpha (AXP) and Itanium object modules are provided for the VMS platforms
 available for Python.
 
-<P> PyRTE has been developed and tested on VMS V8.3 and V8.4, Alpha and
-Itanium, using WASD v9.<I>n</I> and v10.<I>n</I> and  VMS Python kit  JFP
-AXPVMS PYTHON272  available from and documented at
-<A HREF="http://www.vmspython.org/">http://www.vmspython.org/</A>.  JFP's
+<p> PyRTE has been developed and tested on VMS V8.3 and V8.4, Alpha and
+Itanium, using WASD v10.<i>n</i> and v11.<i>n</i> and VMS Python kits PYTHON272
+and PYTHON278 available from and documented at 
+<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>.  JFP's
 Python kits are kept very up-to-date as Python updates or implementation
 problems arise.
 
@@ -106,7 +119,14 @@
 Python kits are kept very up-to-date as Python updates or implementation
 problems arise.
 
-<A NAME="install">
-<H2>Installation</H2>
-</A>
+<blockquote>
+<center><b>&copy; 2016 Kit</b></center>
+<hr size="1" width="70%" align="center" noshade>
+This &copy; 2016 kit contains exactly the same Python RTE as the &copy; 2013
+kit of the same version number.  Only this documentation and the build
+procedure have been updated to use the v10.<i>n</i> and later WASD_EXE logical
+name rather than HT_EXE.  No upgrade is required if the original is working for
+your site.  This kit will not build on WASD v9.<i>n</i> without modification.
+<hr size="1" width="70%" align="center" noshade>
+</blockquote>
 
@@ -112,3 +132,5 @@
 
-<UL>
+<a name="install">
+<h2>Installation</h2>
+</a>
 
@@ -114,4 +136,6 @@
 
-<LI> If Python for OpenVMS is not currently installed, or if the version is not
+<ul>
+
+<li> If Python for OpenVMS is not currently installed, or if the version is not
 up-to-date, obtain the latest kit from
 
@@ -116,8 +140,8 @@
 up-to-date, obtain the latest kit from
 
-<BLOCKQUOTE>
-<A HREF="http://www.vmspython.org/">http://www.vmspython.org/</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>
+</blockquote>
 
 and install according to the instructions available.
 
@@ -121,7 +145,7 @@
 
 and install according to the instructions available.
 
-<P><LI> When updating it is suggested that any exisiting PyRTE kit be renamed
+<p><li> When updating it is suggested that any exisiting PyRTE kit be renamed
 out of the way before installing this kit.  After successful installation and
 testing the old kit may be deleted.
 
@@ -125,5 +149,5 @@
 out of the way before installing this kit.  After successful installation and
 testing the old kit may be deleted.
 
-<PRE CLASS="code">
+<pre class="code">
 $ RENAME HT_ROOT:[SRC]PYTHON.DIR HT_ROOT:[SRC]PYTHON_nnn.DIR
@@ -129,3 +153,3 @@
 $ RENAME HT_ROOT:[SRC]PYTHON.DIR HT_ROOT:[SRC]PYTHON_nnn.DIR
-</PRE>
+</pre>
 
@@ -131,3 +155,3 @@
 
-<LI> Obtain the PyRTE kit from (or one of the mirror sites)
+<li> Obtain the PyRTE kit from (or one of the mirror sites)
 
@@ -133,5 +157,5 @@
 
-<BLOCKQUOTE>
-<A HREF="http://wasd.vsm.com.au/wasd/">http://wasd.vsm.com.au/wasd/</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="http://wasd.vsm.com.au/wasd/">http://wasd.vsm.com.au/wasd/</a>
+</blockquote>
 
@@ -137,3 +161,3 @@
 
-<LI> UNZIP the kit
+<li> UNZIP the kit
 
@@ -139,4 +163,4 @@
 
-<PRE CLASS="code">
+<pre class="code">
 $ SET DEFAULT HT_ROOT:[000000]
 $ UNZIP "-V" location:PYRTEnnn.ZIP
@@ -141,4 +165,4 @@
 $ SET DEFAULT HT_ROOT:[000000]
 $ UNZIP "-V" location:PYRTEnnn.ZIP
-</PRE>
+</pre>
 
@@ -144,4 +168,4 @@
 
-<LI> Note that this performs a link-only build against the supplied object
+<li> Note that this performs a link-only build against the supplied object
 modules.  Compilation is also available.
 
@@ -146,5 +170,5 @@
 modules.  Compilation is also available.
 
-<PRE CLASS="code">
+<pre class="code">
 $ SET DEFAULT HT_ROOT:[SRC.PYTHON]
 $ @BUILD_PYRTE LINK
@@ -149,4 +173,4 @@
 $ SET DEFAULT HT_ROOT:[SRC.PYTHON]
 $ @BUILD_PYRTE LINK
-</PRE>
+</pre>
 
@@ -152,3 +176,3 @@
 
-<LI> Copy the PyRTE engine to the script executable location.
+<li> Copy the PyRTE engine to the script executable location.
 
@@ -154,5 +178,5 @@
 
-<PRE CLASS="code">
-$ COPY HT_EXE:PYRTE.EXE CGI_EXE:
-</PRE>
+<pre class="code">
+$ COPY WASD_EXE:PYRTE.EXE CGI_EXE:
+</pre>
 
@@ -158,3 +182,3 @@
 
-<LI> <A HREF="#configure_wasd">Configure</A> the Web server.
+<li> <a href="#configure_wasd">Configure</a> the Web server.
 
@@ -160,4 +184,4 @@
 
-<P><LI> Start scripting&nbsp; <TT>:^)</TT>
-<BR>Try the <A HREF="#example">example scripts</a>.
+<p><li> Start scripting&nbsp; <tt>:^)</tt>
+<br>Try the <a href="#example">example scripts</a>.
 
@@ -163,3 +187,3 @@
 
-</UL>
+</ul>
 
@@ -165,5 +189,5 @@
 
-<A NAME="config">
-<H2>Configure WASD</H2>
-</A>
+<a name="config">
+<h2>Configure WASD</h2>
+</a>
 
@@ -169,9 +193,9 @@
 
-<P> Although there are experimentation modes built into PyRTE basically it will be
-used as a WASD Run-Time Environment providing persistent Python interpreter(s)
-and environment(s) for Python scripts and applications.  Benchmarking indicates
-the CGIplus/RTE use reduces activation time to 3% of CGI (yes, that's correct,
-by a factor 35 - a python interpreter is quite expensive to instantiate). 
-There are subtle differences in the way CGIplus and RTE parse and provide the
-PATH_INFO data (see the "WASD Scripting Overview" for detail).
+<p> Although there are experimentation modes built into PyRTE basically it will
+be used as a WASD Run-Time Environment providing persistent Python
+interpreter(s) and environment(s) for Python scripts and applications. 
+Benchmarking indicates the CGIplus/RTE use reduces activation time to 3% of CGI
+(yes, that's correct, by a factor 35 - a python interpreter is quite expensive
+to instantiate).  There are subtle differences in the way CGIplus and RTE parse
+and provide the PATH_INFO data (see the "WASD Scripting Overview" for detail).
 
@@ -177,5 +201,5 @@
 
-<H3>Configuration and Mapping</H3>
+<h3>Configuration and Mapping</h3>
 
 One or more of the following approaches can be implemented.
 
@@ -179,5 +203,5 @@
 
 One or more of the following approaches can be implemented.
 
-<UL>
+<ul>
 
@@ -183,4 +207,4 @@
 
-<LI> Server global configuration (HTTPD$CONFIG) can be used to indicate which
+<li> Server global configuration (HTTPD$CONFIG) can be used to indicate which
 file types should activate the Python engine and how perform non-script access.
 
@@ -185,6 +209,6 @@
 file types should activate the Python engine and how perform non-script access.
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$CONFIG
 [DclScriptRunTime]
 .PY $CGI-BIN:[000000]PYRTE
@@ -192,5 +216,5 @@
 .PY   text/plain  Python source
 .PYC  application/octet-stream  Python byte-code
 .PYO  application/octet-stream  Python optimised byte-code
-</PRE>
+</pre>
 
@@ -196,4 +220,4 @@
 
-<LI> The following rules require the Python script files to be located in the
+<li> The following rules require the Python script files to be located in the
 site administrator controlled /cgi-bin/ path.
 
@@ -198,6 +222,6 @@
 site administrator controlled /cgi-bin/ path.
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$MAP
 exec /py-bin/* (cgi_exe:pyrte)/cgi-bin/* \
      script=syntax=unix script=query=none map=once ods=5
@@ -201,5 +225,5 @@
 # HTTPD$MAP
 exec /py-bin/* (cgi_exe:pyrte)/cgi-bin/* \
      script=syntax=unix script=query=none map=once ods=5
-</PRE>
+</pre>
 
@@ -205,4 +229,4 @@
 
-<LI> Alternatively, to automatically map scripts ending in .py to the RTE
+<li> Alternatively, to automatically map scripts ending in .py to the RTE
 engine. 
 
@@ -207,7 +231,7 @@
 engine. 
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$MAP for automatic RTE usage
 map /cgi-bin/*.py* /py-bin/*.py*
 exec /py-bin/* (cgi_exe:pyrte)/cgi-bin/* \
        script=syntax=unix script=query=none map=once ods=5
@@ -210,6 +234,6 @@
 # HTTPD$MAP for automatic RTE usage
 map /cgi-bin/*.py* /py-bin/*.py*
 exec /py-bin/* (cgi_exe:pyrte)/cgi-bin/* \
        script=syntax=unix script=query=none map=once ods=5
-</PRE>
+</pre>
 
@@ -215,5 +239,5 @@
 
-<LI> The following rule would allow .py type files anywhere in the mapped
+<li> The following rule would allow .py type files anywhere in the mapped
 directory structure to be executed. This may be what is desired but might be
 dangerous in some circumstances.
 
@@ -217,7 +241,7 @@
 directory structure to be executed. This may be what is desired but might be
 dangerous in some circumstances.
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$MAP
 exec /web/**.py* /web/*.py* \
      script=syntax=unix script=query=none map=once ods=5
@@ -221,5 +245,5 @@
 # HTTPD$MAP
 exec /web/**.py* /web/*.py* \
      script=syntax=unix script=query=none map=once ods=5
-</PRE>
+</pre>
 
@@ -225,7 +249,7 @@
 
-<LI> It is a general principal that Web applications requiring write access to
+<li> It is a general principal that Web applications requiring write access to
 parts of the file-system be run in a unique account with those file-system
 areas being owned by and having protections associated with that account.  WASD
 provides this using its PERSONA facility (see the "WASD Scripting Overview" for
 detail).
 
@@ -227,10 +251,10 @@
 parts of the file-system be run in a unique account with those file-system
 areas being owned by and having protections associated with that account.  WASD
 provides this using its PERSONA facility (see the "WASD Scripting Overview" for
 detail).
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$MAP
 exec /appx/**.py* /appx_root/*.py* \
      script=syntax=unix script=query=none map=once ods=5 \
      script=as=USERX
@@ -233,6 +257,6 @@
 # HTTPD$MAP
 exec /appx/**.py* /appx_root/*.py* \
      script=syntax=unix script=query=none map=once ods=5 \
      script=as=USERX
-</PRE>
+</pre>
 
@@ -238,4 +262,4 @@
 
-<LI> To provide in-situ activation of the example scripts below use the
+<li> To provide in-situ activation of the example scripts below use the
 following configuration.
 
@@ -240,6 +264,6 @@
 following configuration.
 
-<PRE CLASS="code">
+<pre class="code">
 # HTTPD$MAP
 exec /py-bin/* (cgi_exe:pyrte)/ht_root/src/python/scripts/* \
      script=syntax=unix script=query=none map=once ods=5
@@ -243,8 +267,8 @@
 # HTTPD$MAP
 exec /py-bin/* (cgi_exe:pyrte)/ht_root/src/python/scripts/* \
      script=syntax=unix script=query=none map=once ods=5
-</PRE>
+</pre>
 
 Note that the location of the above example scripts has changed to [.SCRIPTS]
 since the v1.0 release.
 
@@ -247,6 +271,6 @@
 
 Note that the location of the above example scripts has changed to [.SCRIPTS]
 since the v1.0 release.
 
-</UL>
+</ul>
 
@@ -252,3 +276,3 @@
 
-<P> Remember to
+<p> Remember to
 
@@ -254,3 +278,3 @@
 
-<PRE CLASS="code">
+<pre class="code">
 $ HTTPD /DO=MAP
@@ -256,5 +280,5 @@
 $ HTTPD /DO=MAP
-</PRE>
+</pre>
 
 after changing mapping rules.
 
@@ -258,7 +282,7 @@
 
 after changing mapping rules.
 
-<A NAME="example">
-<H2>Example Scripts</H2>
-</A>
+<a name="example">
+<h2>Example Scripts</h2>
+</a>
 
@@ -264,4 +288,4 @@
 
-<P> After configuration (as described immediately above) the following scripts
+<p> After configuration (as described immediately above) the following scripts
 may be used to confirm the environment is functioning.
 
@@ -266,11 +290,11 @@
 may be used to confirm the environment is functioning.
 
-<UL>
-<LI> <A HREF="/py-bin/pyrte_test1.py">/py-bin/pyrte_test1.py</A> 
-<LI> <A HREF="/py-bin/pyrte_test2.py">/py-bin/pyrte_test2.py</A>
-<LI> <A HREF="/py-bin/pyrte_test3.py">/py-bin/pyrte_test3.py</A>&nbsp;
-<I>(this tests an error handler and therefore displays an error!)</I>
-<LI> <A HREF="/py-bin/pyrte_test4.py">/py-bin/pyrte_test4.py</A>
-<LI> <A HREF="/py-bin/pyrte_chart_pie.py">/py-bin/pyrte_chart_pie.py</A>
-</UL>
+<ul>
+<li> <a target="_blank" href="/py-bin/pyrte_test1.py">/py-bin/pyrte_test1.py</a> 
+<li> <a target="_blank" href="/py-bin/pyrte_test2.py">/py-bin/pyrte_test2.py</a>
+<li> <a target="_blank" href="/py-bin/pyrte_test3.py">/py-bin/pyrte_test3.py</a>&nbsp;
+<i>(this tests an error handler and therefore displays an error!)</i>
+<li> <a target="_blank" href="/py-bin/pyrte_test4.py">/py-bin/pyrte_test4.py</a>
+<li> <a target="_blank" href="/py-bin/pyrte_chart_pie.py">/py-bin/pyrte_chart_pie.py</a>
+</ul>
 
@@ -276,3 +300,3 @@
 
-<P> Some of these examples also support CGIplus mode for comparison purposes.
+<p> Some of these examples also support CGIplus mode for comparison purposes.
 
@@ -278,4 +302,4 @@
 
-<P> Of course the Python code in the script may be inspected from the source
+<p> Of course the Python code in the script may be inspected from the source
 directory:
 
@@ -280,6 +304,6 @@
 directory:
 
-<BLOCKQUOTE>
-<A HREF="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</a>
+</blockquote>
 
@@ -285,5 +309,5 @@
 
-<A NAME="wsgi">
-<H2>Web Server Gateway Interface</H2>
-</A>
+<a name="wsgi">
+<h2>Web Server Gateway Interface</h2>
+</a>
 
@@ -289,6 +313,6 @@
 
-<P> PyRTE contains a Web Server Gateway Interface v1.0 (WSGI).  This is a
+<p> PyRTE contains a Web Server Gateway Interface v1.0 (WSGI).  This is a
 Python standard specification for web servers and application servers to
 communicate with web applications (though it can also be used for more than
 that).
 
@@ -291,9 +315,9 @@
 Python standard specification for web servers and application servers to
 communicate with web applications (though it can also be used for more than
 that).
 
-<UL>
-<LI><A HREF="http://www.wsgi.org/wsgi/">http://www.wsgi.org/wsgi/</A> 
-<LI><A HREF="http://www.python.org/dev/peps/pep-0333/">http://www.python.org/dev/peps/pep-0333/</A>
-</UL>
+<ul>
+<li><a target="_blank" href="http://www.wsgi.org/wsgi/">http://www.wsgi.org/wsgi/</a> 
+<li><a target="_blank" href="http://www.python.org/dev/peps/pep-0333/">http://www.python.org/dev/peps/pep-0333/</a>
+</ul>
 
@@ -299,3 +323,3 @@
 
-<P> The WSGI code has been developed under the sponsorship of SysGroup
+<p> The WSGI code has been developed under the sponsorship of SysGroup
 
@@ -301,7 +325,7 @@
 
-<BLOCKQUOTE>
-<A HREF="http://www.sysgroup.fr/">http://www.sysgroup.fr/</A> 
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="http://www.sysgroup.fr/">http://www.sysgroup.fr/</a> 
+</blockquote>
 
 and generously made available to the wider WASD community.
 
@@ -305,6 +329,6 @@
 
 and generously made available to the wider WASD community.
 
-<P> The following is an example of a simple (and classic) WSGI application
-being activated using the PyRTE <TT>wasd.wsgi_run()</TT> function.
+<p> The following is an example of a simple (and classic) WSGI application
+being activated using the PyRTE <tt>wasd.wsgi_run()</tt> function.
 
@@ -310,5 +334,5 @@
 
-<PRE CLASS="code">
+<pre class="code">
 def hello_world (environ, start_response):
     status = '200 OK'
     response_headers = [('Content-type','text/plain')]   
@@ -317,5 +341,5 @@
 
 import wasd
 wasd.wsgi_run(hello_world)
-</PRE>
+</pre>
 
@@ -321,3 +345,3 @@
 
-<H3>WSGI Output Buffering</H3>
+<h3>WSGI Output Buffering</h3>
 
@@ -323,7 +347,7 @@
 
-<P> PEP 333 specifies that WSGI should not buffer output and pyRTE complies but
+<p> PEP 333 specifies that WSGI should not buffer output and pyRTE complies but
 some tools (like Mercurial) don't buffer internally themselves and end up
 sending many very small records.  This is obviously inefficient.  If buffered
 the throughput boost for Mercurial is about x4.  Well worth having for
 specific Web applications.
 
@@ -325,8 +349,8 @@
 some tools (like Mercurial) don't buffer internally themselves and end up
 sending many very small records.  This is obviously inefficient.  If buffered
 the throughput boost for Mercurial is about x4.  Well worth having for
 specific Web applications.
 
-<P> This forced buffering may be enabled on a per-application basis using a
+<p> This forced buffering may be enabled on a per-application basis using a
 mapping rule, for example
 
@@ -331,4 +355,4 @@
 mapping rule, for example
 
-<PRE CLASS="code">
+<pre class="code">
 set /mercurial/* script=param=PYRTE=/WSGI=BUFFER
@@ -334,5 +358,5 @@
 set /mercurial/* script=param=PYRTE=/WSGI=BUFFER
-</PRE>
+</pre>
 
 or by defining the logical name
 
@@ -336,5 +360,5 @@
 
 or by defining the logical name
 
-<PRE CLASS="code">
+<pre class="code">
 $ DEFINE /JOB PYRTE_WSGI_FORCE_BUFFERING TRUE
@@ -340,5 +364,5 @@
 $ DEFINE /JOB PYRTE_WSGI_FORCE_BUFFERING TRUE
-</PRE>
+</pre>
 
 in a wrapper procedure.
 
@@ -342,5 +366,5 @@
 
 in a wrapper procedure.
 
-<H3>Example WSGI Scripts</H3>
+<h3>Example WSGI Scripts</h3>
 
@@ -346,4 +370,4 @@
 
-<P> The following scripts may be used to confirm the environment is
+<p> The following scripts may be used to confirm the environment is
 functioning.
 
@@ -348,9 +372,9 @@
 functioning.
 
-<UL>
-<LI><A HREF="/py-bin/wsgi_test1.py">/py-bin/wsgi_test1.py</A> 
-<LI><A HREF="/py-bin/wsgi_test2.py">/py-bin/wsgi_test2.py</A>
-<LI><A HREF="/py-bin/wsgi_test3.py">/py-bin/wsgi_test3.py</A>
-<LI><A HREF="/py-bin/wsgi_test4.py">/py-bin/wsgi_test4.py</A>
-</UL>
+<ul>
+<li><a target="_blank" href="/py-bin/wsgi_test1.py">/py-bin/wsgi_test1.py</a> 
+<li><a target="_blank" href="/py-bin/wsgi_test2.py">/py-bin/wsgi_test2.py</a>
+<li><a target="_blank" href="/py-bin/wsgi_test3.py">/py-bin/wsgi_test3.py</a>
+<li><a target="_blank" href="/py-bin/wsgi_test4.py">/py-bin/wsgi_test4.py</a>
+</ul>
 
@@ -356,3 +380,3 @@
 
-<P> The Python code in the script may be inspected from the source directory:
+<p> The Python code in the script may be inspected from the source directory:
 
@@ -358,5 +382,5 @@
 
-<BLOCKQUOTE>
-<A HREF="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="/ht_root/src/python/scripts/">/ht_root/src/python/scripts/</a>
+</blockquote>
 
@@ -362,5 +386,5 @@
 
-<P> There are also equivalent <TT>wsgiref</TT> (the Python reference
-implementation) scripts available for comparison.  Just add <TT>ref</TT> to the
-<TT>wsgi</TT> in the script name.
+<p> There are also equivalent <tt>wsgiref</tt> (the Python reference
+implementation) scripts available for comparison.  Just add <tt>ref</tt> to the
+<tt>wsgi</tt> in the script name.
 
@@ -366,5 +390,5 @@
 
-<A NAME="lever">
-<H2>Leveraging PyRTE</H2>
-</A>
+<a name="lever">
+<h2>Leveraging PyRTE</h2>
+</a>
 
@@ -370,5 +394,5 @@
 
-<P> Python scripts activated using the default persistent engine generally have
+<p> Python scripts activated using the default persistent engine generally have
 low-latency, low-system-impact characteristics and seem to perform reliably and
 efficiently.  The PyRTE generally handles all the WASD server interaction
 requirements.  However there may be occasions where the application itself
@@ -378,7 +402,7 @@
 for some of these aspects.  Rather than clutter this document with such arcane
 detail the description may be found in the prologue to the PyRTE source code:
 
-<BLOCKQUOTE>
-<A HREF="/ht_root/src/python/pyrte.c">/ht_root/src/python/pyrte.c</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="/ht_root/src/python/pyrte.c">/ht_root/src/python/pyrte.c</a>
+</blockquote>
 
@@ -384,4 +408,4 @@
 
-<P> An example of where an application benefits from an explicitly CGIplus
+<p> An example of where an application benefits from an explicitly CGIplus
 activation is MoinMoin:
 
@@ -386,8 +410,8 @@
 activation is MoinMoin:
 
-<UL>
-<LI><A HREF="http://moinmoin.wikiwikiweb.de/">http://moinmoin.wikiwikiweb.de/</A>
-<LI><A HREF="http://www.vmspython.org/MoinMoin">http://www.vmspython.org/MoinMoin</A>
-<LI><A HREF="http://www.vmspython.org/DownloadAndInstallationMoinMoin">http://www.vmspython.org/DownloadAndInstallationMoinMoin</A>
-</UL>
+<ul>
+<li><a target="_blank" href="http://moinmoin.wikiwikiweb.de/">http://moinmoin.wikiwikiweb.de/</a>
+<li><a target="_blank" href="http://www.vmspython.org/MoinMoin">http://www.vmspython.org/MoinMoin</a>
+<li><a target="_blank" href="http://www.vmspython.org/DownloadAndInstallationMoinMoin">http://www.vmspython.org/DownloadAndInstallationMoinMoin</a>
+</ul>
 
@@ -393,6 +417,6 @@
 
-<P> MoinMoin is generally run independently to a system's primary Web server
+<p> MoinMoin is generally run independently to a system's primary Web server
 using  the embedded Web server available for Python.  Reverse proxy is often
 then use to provide and control access through to the persistent MoinMoin
 server.
 
@@ -395,10 +419,10 @@
 using  the embedded Web server available for Python.  Reverse proxy is often
 then use to provide and control access through to the persistent MoinMoin
 server.
 
-<P> Using the same principle of keeping MoinMoin persistent (for the obvious
+<p> Using the same principle of keeping MoinMoin persistent (for the obvious
 latency and efficiency benefits) it can be run and controlled directly by the
 WASD Web server using a CGIplus wrapper DCL procedure and a little Python glue
 (directly derived from persistence code already present in the MoinMoin
 package).
 
@@ -400,9 +424,9 @@
 latency and efficiency benefits) it can be run and controlled directly by the
 WASD Web server using a CGIplus wrapper DCL procedure and a little Python glue
 (directly derived from persistence code already present in the MoinMoin
 package).
 
-<BLOCKQUOTE>
-<A HREF="/ht_root/src/python/moincgiplus.com">/ht_root/src/python/moincgiplus.com</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="/ht_root/src/python/moincgiplus.com">/ht_root/src/python/moincgiplus.com</a>
+</blockquote>
 
@@ -408,6 +432,6 @@
 
-<P> The same principles may be applied to any application environment
+<p> The same principles may be applied to any application environment
 (third-party or in-house)  with similar characteristics.  Python applications
 running as CGIplus scripts using the PyRTE must be activated via DCL wrappers
 as illustrated above (in part due to mapping requirements).
 
@@ -410,7 +434,7 @@
 (third-party or in-house)  with similar characteristics.  Python applications
 running as CGIplus scripts using the PyRTE must be activated via DCL wrappers
 as illustrated above (in part due to mapping requirements).
 
-<P> With CGIplus persistent applications configuration or code changes will in
+<p> With CGIplus persistent applications configuration or code changes will in
 all probability require a 'restart' of the application using one or other of:
 
@@ -415,5 +439,5 @@
 all probability require a 'restart' of the application using one or other of:
 
-<PRE CLASS="code">
+<pre class="code">
 $ HTTPD/DO=PURGE
 $ HTTPD/DO=DELETE
@@ -418,4 +442,4 @@
 $ HTTPD/DO=PURGE
 $ HTTPD/DO=DELETE
-</PRE>
+</pre>
 
@@ -421,5 +445,5 @@
 
-<A NAME="problems">
-<H2>Problems?</H2>
-</A>
+<a name="problems">
+<h2>Problems?</h2>
+</a>
 
@@ -425,7 +449,7 @@
 
-<UL>
-<LI> With the PyRTE kit ... Mark.Daniel@wasd.vsm.com.au
-<LI> With the VMS Python kit ... jf.pieronne@gmail.com
-<LI> The info-WASD mailing list
-</UL>
+<ul>
+<li> With the PyRTE kit ... Mark.Daniel@wasd.vsm.com.au
+<li> With the VMS Python kit ... jf.pieronne@gmail.com
+<li> The info-WASD mailing list
+</ul>
 
@@ -431,5 +455,5 @@
 
-<P> Unfortunately the author of the PyRTE interface is such a Python novice he
+<p> Unfortunately the author of the PyRTE interface is such a Python novice he
 is not in any position to answer queries about Python "programming" or usage.
 There is the VMS Python Wiki
 
@@ -433,7 +457,7 @@
 is not in any position to answer queries about Python "programming" or usage.
 There is the VMS Python Wiki
 
-<BLOCKQUOTE>
-<A HREF="http://www.vmspython.org/">http://www.vmspython.org/</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="http://www.vmspython.org/">http://www.vmspython.org/</a>
+</blockquote>
 
@@ -439,3 +463,3 @@
 
-<P> and support forum
+<p> and support forum
 
@@ -441,5 +465,5 @@
 
-<BLOCKQUOTE>
-<A HREF="http://www.vmspython.org/piforum/index.py">http://www.vmspython.org/piforum/index.py</A>
-</BLOCKQUOTE>
+<blockquote>
+<a target="_blank" href="http://www.vmspython.org/piforum/index.py">http://www.vmspython.org/piforum/index.py</a>
+</blockquote>
 
@@ -445,4 +469,4 @@
 
-<P> for VMS Python issues.  If there's an obvious behavioural problem with
+<p> for VMS Python issues.  If there's an obvious behavioural problem with
 PyRTE then contact the author or use the info-WASD mailing list.
 
@@ -447,6 +471,6 @@
 PyRTE then contact the author or use the info-WASD mailing list.
 
-<A NAME="ackn">
-<H2>Acknowlegements</H2>
-</A>
+<a name="ackn">
+<h2>Acknowlegements</h2>
+</a>
 
@@ -452,4 +476,4 @@
 
-<P> Many thanks to Jean-Fran�ois Pi�ronne for his initial port of Python to VMS
+<p> Many thanks to Jean-Fran�ois Pi�ronne for his initial port of Python to VMS
 and his energetic, ongoing maintenance of the product.
 
@@ -454,4 +478,4 @@
 and his energetic, ongoing maintenance of the product.
 
-<BR><HR ALIGN=left SIZE=1 NOSHADE><BR>
+<br><hr align="left" size="1" noshade><br>
 
@@ -457,3 +481,3 @@
 
-</BODY>
-</HTML>
+</body>
+</html>