richter     00/11/08 13:41:43

  Modified:    .        Tag: Embperl2c CVS.pod Embperl.pm Embperl.pod
                        Embperl.xs EmbperlD.pod EmbperlObject.pm MANIFEST
                        MANIFEST.2 Makefile.PL README README.v2 epeval.c
                        epmain.c test.pl
               Embperl  Tag: Embperl2c Session.pm
               test/cmp Tag: Embperl2c binary.htm epodiv.htm importsub.htm
                        importsub2.htm
               test/conf Tag: Embperl2c httpd.conf.src
  Added:       test/cmp Tag: Embperl2c eposubsub.htm3
               test/cmp2 Tag: Embperl2c epodiv.htm
               test/html/EmbperlObject/sub/subsub/subsubsub Tag: Embperl2c
                        eposubsub.htm
  Log:
  Embperl 2 - Sync 1.x and 2.x
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.6.6.1   +2 -2      embperl/CVS.pod
  
  Index: CVS.pod
  ===================================================================
  RCS file: /home/cvs/embperl/CVS.pod,v
  retrieving revision 1.6
  retrieving revision 1.6.6.1
  diff -u -r1.6 -r1.6.6.1
  --- CVS.pod   2000/01/05 05:41:38     1.6
  +++ CVS.pod   2000/11/08 21:40:13     1.6.6.1
  @@ -64,11 +64,11 @@
   
   To checkout a fresh copy from anoncvs use
   
  -cvs -d "pserver:[EMAIL PROTECTED]:/home/cvspublic" login
  +cvs -d ":pserver:[EMAIL PROTECTED]:/home/cvspublic" login
   
   with the password "anoncvs". 
   
  -cvs -d "pserver:[EMAIL PROTECTED]:/home/cvspublic" co embperl
  +cvs -d ":pserver:[EMAIL PROTECTED]:/home/cvspublic" co embperl
   
   
   =head2 web-access
  
  
  
  1.118.4.10 +37 -21    embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.118.4.9
  retrieving revision 1.118.4.10
  diff -u -r1.118.4.9 -r1.118.4.10
  --- Embperl.pm        2000/11/03 12:04:13     1.118.4.9
  +++ Embperl.pm        2000/11/08 21:40:15     1.118.4.10
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Embperl.pm,v 1.118.4.9 2000/11/03 12:04:13 richter Exp $
  +#   $Id: Embperl.pm,v 1.118.4.10 2000/11/08 21:40:15 richter Exp $
   #
   ###################################################################################
   
  @@ -86,9 +86,9 @@
   
   
   ##ep2##
  -$VERSION = '2.0a12' ;
  +$VERSION = '2.0a13' ;
   ##/ep2##
  -##ep1##$VERSION = '1.3b6';
  +##ep1##$VERSION = '1.3b7_dev';
   
   # HTML::Embperl cannot be bootstrapped in nonlazy mode except
   # under mod_perl, because its dependencies import symbols like ap_palloc
  @@ -130,7 +130,6 @@
   
   use constant dbgAll                 => -1 ;
   use constant dbgAllCmds             => 1024 ;
  -use constant dbgCacheDisable        => 32768 ;
   use constant dbgCmd                 => 8 ;
   use constant dbgDefEval             => 16384 ;
   use constant dbgEarlyHttpHeader     => 65536 ;
  @@ -342,7 +341,7 @@
       eval 'sub OK        { 0 ;   }' ;
       eval 'sub NOT_FOUND { 404 ; }' ;
       eval 'sub FORBIDDEN { 403 ; }' ;
  -    eval 'sub DECLINED  { 403 ; }' ; # in non mod_perl environement, same as 
FORBIDDEN
  +    eval 'sub DECLINED  { 403 ; }' ; # in non mod_perl environment, same as 
FORBIDDEN
   no strict ;
       XS_Init (epIOPerl, $DefaultLog, $DebugDefault) ;
   use strict ;
  @@ -588,7 +587,9 @@
   sub CheckFile
   
       {
  -    my ($filename, $req_rec, $AllowZeroFilesize, $allow, $path, $debug) = @_ ;
  +    my ($filename, $req_rec, $AllowZeroFilesize, $allow, $pathref, $debug) = @_ ;
  +
  +    my $path = $$pathref ;
   
       if (-d $filename)
           {
  @@ -621,6 +622,7 @@
           shift @path while ($skip--) ;
           my $fn = '' ;
           print LOG "[$$]Embperl path search Path: " . join (';',@path) . " Filename: 
$filename\n" if ($debug);
  +        $$pathref = join (';', @path) ;
   
           foreach (@path)
               {
  @@ -847,7 +849,7 @@
           #my ($k, $v) ;
           #while (($k, $v) = each (%$req))
           #    { warn "$k = $v" ; }
  -        if ($rc = CheckFile ($Inputfile, $req_rec, (($$req{options} || 0) & 
optAllowZeroFilesize), $$req{'allow'}, $$req{path}, (($$req{debug} || 0) & 
dbgObjectSearch))) 
  +        if ($rc = CheckFile ($Inputfile, $req_rec, (($$req{options} || 0) & 
optAllowZeroFilesize), $$req{'allow'}, \$req -> {path}, (($$req{debug} || 0) & 
dbgObjectSearch))) 
               {
            FreeConfData ($conf) ;
               return $rc ;
  @@ -869,6 +871,8 @@
       
       bless $r, $$req{'bless'} if (exists ($$req{'bless'})) ;
   
  +    $r -> Path ($req->{path}) if ($req->{path}) ;
  +
       my $package = $r -> CurrPackage ;
       $evalpackage = $package ;   
       my $exports ;
  @@ -1064,7 +1068,7 @@
       my $ioType ;
       my %req ;
   
  -    ScanEnvironement (\%req) ;
  +    ScanEnvironment (\%req) ;
       
   
       if (defined ($$args[0]) && $$args[0] eq 'dbgbreak') 
  @@ -1158,7 +1162,7 @@
       my $ioType ;
       my %req ;
   
  -    ScanEnvironement (\%req) ;
  +    ScanEnvironment (\%req) ;
       
       $req{'inputfile'} = $ENV{PATH_TRANSLATED} ;
       $ioType = epIOCGI ;
  @@ -1195,7 +1199,7 @@
   
       my %req ;
   
  -    ScanEnvironement (\%req, $req_rec) ;
  +    ScanEnvironment (\%req, $req_rec) ;
       
       $req{'uri'}       = $req_rec -> Apache::uri ;
   
  @@ -1282,7 +1286,7 @@
            #eval "\&$1\:\:CLEANUP;" ;
            eval "\&$package\:\:CLEANUP;" ;
            print LOG "[$$]CUP:  Call \&$package\:\:CLEANUP;\n" if ($Debugflags & 
dbgShowCleanup);
  -         embperl_logevalerr ($@) if ($@) ;
  +         logevalerr ($@) if ($@) ;
            }
   
   
  @@ -1692,11 +1696,11 @@
   
        if ($HTML::Embperl::SessionMgnt == 1)
            {
  -            return wantarray?(\%HTML::Embperl::udat, 
\%HTML::Embperl::mdat):\%HTML::Embperl::udat if ($udat -> {ID}) ;
  +            return wantarray?(\%HTML::Embperl::udat, 
\%HTML::Embperl::mdat):\%HTML::Embperl::udat ;
            }
        else
            {
  -         return wantarray?(\%HTML::Embperl::udat, 
\%HTML::Embperl::mdat):\%HTML::Embperl::udat if ($udat -> getid) ;
  +         return wantarray?(\%HTML::Embperl::udat, 
\%HTML::Embperl::mdat):\%HTML::Embperl::udat  ;
            }
        }
       else
  @@ -1773,8 +1777,25 @@
       }
   
   
  -
  -
  
+#######################################################################################

  +
  +sub SetSessionCookie
  +
  +    {
  +    my $r = shift ;
  +    $r = undef if (!(ref ($r) =~ /^HTML::Embperl/));
  +
  +    if ($HTML::Embperl::SessionMgnt && (!defined ($r) || $r -> SessionMgnt))
  +        {
  +        my $name   = $ENV{EMBPERL_COOKIE_NAME} || 'EMBPERL_UID' ;
  +        my $domain = "; domain=$ENV{EMBPERL_COOKIE_DOMAIN}" if (exists 
($ENV{EMBPERL_COOKIE_DOMAIN})) ;
  +        my $path   = "; path=$ENV{EMBPERL_COOKIE_PATH}" if (exists 
($ENV{EMBPERL_COOKIE_PATH})) ;
  +        my $expires = "; expires=$ENV{EMBPERL_COOKIE_EXPIRES}" if (exists 
($ENV{EMBPERL_COOKIE_EXPIRES})) ;
  +    
  +        Apache -> request -> header_out ("Set-Cookie" => "$name=" . (tied 
(%HTML::Embperl::udat) -> getid). "$domain$path$expires") ;
  +        }
  +    }
  +
   
#######################################################################################
   
   sub CreateAliases
  @@ -1850,7 +1871,6 @@
   
   
           *{"$package\:\:dbgAllCmds"}               = \$HTML::Embperl::dbgAllCmds     
      ;
  -        *{"$package\:\:dbgCacheDisable"}          = 
\$HTML::Embperl::dbgCacheDisable      ;
           *{"$package\:\:dbgCmd"}                   = \$HTML::Embperl::dbgCmd         
      ;
           *{"$package\:\:dbgDefEval"}               = \$HTML::Embperl::dbgDefEval     
      ;
           *{"$package\:\:dbgEarlyHttpHeader"}       = 
\$HTML::Embperl::dbgEarlyHttpHeader   ;
  @@ -1894,10 +1914,6 @@
       print HTML::Embperl::LOG  "[$$]IMP:  Create Imports for $caller from $package 
($exports)\n" ;
       no strict ;
   
  -    my $v ;
  -    #my $k ;
  -
  -    #while (($k, $v) = each (%$exports))
       foreach $k (keys %$exports)
        {
           *{"$caller\:\:$k"}    = $exports -> {$k} ; #\&{"$package\:\:$k"} ;
  @@ -2025,7 +2041,7 @@
           $ok and $ok = $smtp->datasend("$k\t= \"$v\" \n" );
           }
       $ok and $ok = $smtp->datasend("-------------\r\n");
  -    $ok and $ok = $smtp->datasend("Environement:\r\n");
  +    $ok and $ok = $smtp->datasend("Environment:\r\n");
       $ok and $ok = $smtp->datasend("-------------\r\n");
   
       my $env = $self -> EnvHash() ;
  
  
  
  1.56.4.2  +154 -155  embperl/Embperl.pod
  
  Index: Embperl.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pod,v
  retrieving revision 1.56.4.1
  retrieving revision 1.56.4.2
  diff -u -r1.56.4.1 -r1.56.4.2
  --- Embperl.pod       2000/10/17 12:55:43     1.56.4.1
  +++ Embperl.pod       2000/11/08 21:40:16     1.56.4.2
  @@ -1,7 +1,4 @@
   
  -=pod
  -
  -
   =head1 NAME
   
   HTML::Embperl - Perl extension for embedding Perl code in HTML documents
  @@ -16,11 +13,11 @@
   embed Perl code directly in your HTML documents (like server-side 
   includes for shell commands).
   
  -If build more than a single page you may also want to take a look
  -at L<"perldoc EmbperlObject"|"EmbperlObject.pod">  which gives
  -you the possibility to build your website out of small objects.
  -Addionaly L<"perldoc HTML::Embperl::Mail"|"Mail.pod">  allows
  -you to send resulting page via email.
  +If building more than a single page, you may also want to take a look
  +at L<"perldoc EmbperlObject"|"EmbperlObject.pod">  which 
  +lets you build your website out of small objects.
  +Additionally, L<"perldoc HTML::Embperl::Mail"|"Mail.pod"> allows
  +you to send the resulting page via email.
   
   =head1 Operating-Modes
   
  @@ -102,7 +99,7 @@
   to PATH_TRANSLATED.
   
   If you are running the Apache httpd, you can also define
  -B<embpcgi.pl> as a handler for a specific file extention or
  +B<embpcgi.pl> as a handler for a specific file extension or
   directory.
   
   Example of Apache C<srm.conf>:
  @@ -112,11 +109,11 @@
       </Directory>
   
   
  -B<NOTE 1>: Out of security reasons, embpexec.pl must not be used anymore as
  -CGI script!
  +B<NOTE 1>: For security reasons, embpexec.pl must not be used as a 
  +CGI script anymore!
   
   B<NOTE 2>: CGI Scripts are not so secure. You should consider using L<EMBPERL_ALLOW>
  -to restrict the access to the rights documents.
  +to restrict access.
   
   
   =head2 From mod_perl (Apache httpd)
  @@ -163,7 +160,7 @@
   B<NOTE>: When mod_perl is compiled as loadable module (i.e. with USE_DSO) you
   B<must not> load Embperl at server startup time! 
   
  -B<See also>: L<"perldoc EmbperlObject"|"EmbperlObject.pod"> to see how to setup 
I<Embperl> in a way to
  +B<See also>: L<"perldoc EmbperlObject"|"EmbperlObject.pod"> to see how to setup 
I<Embperl> so as to  
   create your site out of small overwriteable objects.
   
   
  @@ -173,18 +170,18 @@
   Execute can be used to call Embperl from your own modules/scripts (for example
   from a Apache::Registry or CGI script) or from within another Embperl page (only 
1.2b1
   or higher) to nest multiple Embperl pages (for example to store a common header or
  -footer in an different file). 
  +footer in a different file). 
   
   
  -There are two forms you can use for calling Execute. A short form which only takes 
an
  +There are two forms you can use for calling Execute. A short form which only takes a
   filename and optional additional parameters or a long form which
   takes a hash reference as its argument. This gives it the chance to
   vary the parameters according to the job that should be done.
   
   (See B<eg/x/Excute.pl> for more detailed examples)
   
  -B<See also>: L<"perldoc EmbperlObject"|"EmbperlObject.pod"> to see how to setup 
I<Embperl> in a way to
  -create your site out of small overwriteable objects and L<"perldoc 
HTML::Embperl::Mail"|"Mail.pod"> how
  +B<See also>: L<"perldoc EmbperlObject"|"EmbperlObject.pod"> to see how to setup 
I<Embperl> so as to
  +create your site out of small overwriteable objects and L<"perldoc 
HTML::Embperl::Mail"|"Mail.pod"> on how
   to use I<Embperl> to send email.
   
   
  @@ -240,14 +237,14 @@
   
   =item B<import>
   
  -A value of zero tell's Embperl not to execute the page, but define all subrountines
  +A value of zero tells Embperl not to execute the page, but define all subrountines
   found inside. This is neccessary before calling them with Execute by the B<sub>
  -parameter or for an later import.
  +parameter or for a later import.
   
  -A value of one tell's Embperl to define to subrountines inside the file (if not 
already
  +A value of one tells Embperl to define the subrountines inside the file (if not 
already
   done) and to import them as perl subroutines into the current namespace.
   
  -See B<[$ sub $]> metacommand and section about subroutines for more infos.
  +See B<[$ sub $]> metacommand and section about subroutines for more info.
   
   =item B<req_rec>
   
  @@ -350,18 +347,18 @@
   =item B<input_func>
   
   Same as L<"EMBPERL_INPUT_FUNC"> (see below).
  -Additionaly you can specify an code reference to an perl function,
  -which is used as input function or an array reference, where the
  +Additionaly you can specify a code reference to a perl subroutine,
  +which is used as input function; or an array reference, where the
   first element contains the code reference and further elements
  -contains additional arguments passed to the function.
  +contain additional arguments passed to the function.
   
   =item B<output_func>
   
   Same as L<"EMBPERL_OUTPUT_FUNC"> (see below).
  -Additionaly you can specify an code reference to an perl function,
  -which is used as output function or an array reference, where the
  +Additionaly you can specify a code reference to a perl subroutine,
  +which is used as output function; or an array reference, where the
   first element contains the code reference and further elements
  -contains additional arguments passed to the function.
  +contain additional arguments passed to the function.
   
   =item B<cookie_name>
   
  @@ -381,8 +378,8 @@
   
   =item B<errors>
   
  -Takes a reference to an array. Upon return the array will contain a copy of
  -all errormessages, as long as there are any.
  +Takes a reference to an array. Upon return, the array will contain a copy of
  +all errormessages, if any.
   
   
   =back
  @@ -394,7 +391,7 @@
   
   =item B<HTML::Embperl::Init ($Logfile, $DebugDefault)>
   
  -This function can be used to setup the logfile path and (optional) 
  +This function can be used to setup the logfile path and (optionally) 
   a default value for the debugflags, which will be used in further calls
   to Execute. There will always be only one logfile, but you can use B<Init>
   to change it at any time.
  @@ -405,7 +402,7 @@
   
   =item B<HTML::Embperl::ScanEnvironment (\%params)>
   
  -Scans the B<%ENV> and setups B<%params> for use by B<Execute>. All
  +Scans B<%ENV>, setting up B<%params> for use by B<Execute>. All
   Embperl runtime configuration options are recognized, except EMBPERL_LOG.
   
   =back
  @@ -455,7 +452,7 @@
   
   The runtime configuration is done by setting environment variables,
   either on the command line (when working offline) or in your web
  -server's configuration file.  Most HTTP servers understand
  +server's configuration file.  Most HTTP servers understand:
   
   SetEnv <var> <value>
   
  @@ -472,7 +469,7 @@
   If specified, only files which match the given B<perl regular expression> will be
   processed by Embperl, all other files will be handled by the standard Apache
   handler. This can be useful if you have Embperl documents and non Embperl
  -documents (e.g. gifs) cohabitating in the same directory. EMBPERL_FILESMATCH works 
only
  +documents (e.g. gifs) residing in the same directory. EMBPERL_FILESMATCH works only
   under mod_perl.
   
    Example: 
  @@ -482,12 +479,12 @@
   =head2 EMBPERL_ALLOW (only 1.2b10 and above)
   
   If specified, only files which match the given B<perl regular expression> will be
  -processed by Embperl, all other files will return FORBIDDEN.
  -Especialy in a CGI environenemt this can be usefull to make a server more secure.
  +processed by Embperl. All other files will return FORBIDDEN.
  +This is especially useful in a CGI environment by making the server more secure.
   
   =head2 EMBPERL_PATH (1.3b6 and above)
   
  -Can contain a semikolon (under Unix also colon) separated file search path.
  +Can contain a semicolon (also colon under Unix) separated file search path.
   When a file is processed and the filename isn't an absolute path or
   does not start with ./ (or .\ under windows), I<Embperl> searches all
   the specified directories for that file. Directories must end with a
  @@ -511,10 +508,10 @@
   =head2 EMBPERL_LOG
   
   Gives the location of the log file.  This will contain information
  -about what Embperl is doing.  How much information depends on the
  +about what Embperl is doing.  The amount of information depends on the
   debug settings (see L<"EMBPERL_DEBUG"> below).  The log output is intended to show 
what
  -your embedded Perl code is doing and to help debug it. The default is
  -B</tmp/embperl.log>.
  +your embedded Perl code is doing and to help debug it. 
  +The default is B</tmp/embperl.log>.
   
   B<NOTE:> When running under mod_perl you need to use B<PerlSetEnv> for
   setting the logfile path, and mod_perl >= 1.07_03 if you load Embperl
  @@ -525,7 +522,7 @@
   
   The name of the package where your code will be executed.  By default, 
   Embperl generates a unique package name for every file.  This ensures
  -that variables and functions from one file can not affect those from
  +that variables and functions from one file do not conflict with those of  
   another file.  (Any package's variables will still be accessible with
   explicit package names.)
   
  @@ -534,7 +531,7 @@
   
   Gives a virtual location where you can access the Embperl logfile with
   a browser.  This feature is disabled (default) if EMBPERL_VIRTLOG is
  -not specified.  See also L<"EMBPERL_DEBUG"> and dbgLogLink for an Example
  +not specified.  See also L<"EMBPERL_DEBUG"> and dbgLogLink for an Example on 
   how to set it up in your srm.conf.
   
   
  @@ -552,8 +549,8 @@
   
   =item optDisableEmbperlErrorPage = 2
   
  -Tells Embperl to not send its own errorpage in case of failure,
  -instead shows as much of the page as possible. Errors are only logged
  +Tells Embperl not to send its own errorpage in case of failure,
  +but instead show as much of the page as possible. Errors are only logged
   to the log file.
   Without this option, Embperl sends its
   own error page, showing all the errors which have occurred.  If you
  @@ -563,8 +560,8 @@
   
   =item optReturnError = 262144
   
  -With this option set Embperl sends no output in case of an error, instead
  -it returns the error back to Apache or the calling programm. When running
  +With this option set, Embperl sends no output in case of an error.
  +It returns the error back to Apache or the calling program. When running
   under mod_perl this gives you the chance to use the Apache I<ErrorDocument>
   directive to show a custom error-document. Inside the ErrorDocument
   you can retrieve the error messages with
  @@ -594,7 +591,7 @@
   code with an ASCII editor.
   
   If you are using a WYSIWYG editor which inserts unwanted HTML tags in your
  -Perl expressions and escapes special charcaters automatically (e.g.,
  +Perl expressions and escapes special characters automatically (e.g.,
   `<' appears as `&lt;' in the source), you should not set this option.
   Embperl will automatically convert the HTML input back to the Perl
   expressions as you wrote them.
  @@ -614,8 +611,8 @@
   
   =item optDisableChdir = 128
   
  -Without this option, Embperl changes the currect directory to the one where
  -the script resides. This gives you the chance to use relative pathnames. 
  +By default, Embperl changes the current directory to the one where
  +the script resides, thus giving you the chance to use relative pathnames. 
   Since directory-changing takes up some millisecs, you can disable it with 
   this option if you don't need it.
   
  @@ -623,6 +620,7 @@
   
   This option disables the setup of %fdat and @Z<>ffld. Embperl will not do anything
   with the posted form data.
  +Set this when using Execute from your perl script and you have already read the 
Form Data (via eg. CGI.pm).
   
   =item optDisableHtmlScan = 512
   
  @@ -645,21 +643,21 @@
   =item optAllFormData = 8192
   
   This option will cause Embperl to insert all formfields in %fdat and @Z<>ffld, even 
if they
  -are empty. Empty formfields will be inserted with an empty string. Without this 
option
  -empty formfields will not be insert in %fdat and @Z<>ffld.
  +are empty. Empty formfields will be inserted with an empty string. Without this 
option,
  +empty formfields will be absent from %fdat and @Z<>ffld.
   
   
   =item optRedirectStdout = 16384
   
   Redirects STDOUT to the Embperl output stream before every request and resets it 
afterwards.
   If set, you can use a normal Perl B<print> inside any Perl block to output data. 
  -Without this option you can only output data by using the [+ ... +] block, or 
printing
  +Without this option you can only use output data by using the [+ ... +] block, or 
printing
   to the filehandle B<OUT>.
   
   
   =item optUndefToEmptyValue = 32768
   
  -Normally if there is no value in %fdat for a specific input field, Embperl will 
leave
  +Normally, if there is no value in %fdat for a specific input field, Embperl will 
leave
   it untouched. When this option is set, Embperl will handle the field as if an empty
   string was stored in %fdat for the field.
   
  @@ -674,7 +672,7 @@
   =item optAllowZeroFilesize = 131072 (only 1.2b2 and above)
   
   Normaly Embperl reports NOT_FOUND (404) if a file of length zero is requested. With
  -this option set Embperl will return an empty document.
  +this option set, Embperl will return an empty document.
   
   =item optKeepSrcInMemory =  524288  (only 1.2b5 and above) 
   
  @@ -683,12 +681,12 @@
   
   =item optKeepSpaces = 1048576 (only 1.2b5 and above)                = 0x100000,
   
  -Disable the removing of spaces and empty lines from the output. This is usefull
  -for other sources then HTML.
  +Disable the removal of spaces and empty lines from the output. This is useful
  +for sources other than HTML.
   
   =item optOpenLogEarly =  2097152 (only 1.2b5 and above) 
   
  -This option causeses Embperl to open the logfile as soon as it is loaded into 
memory.
  +This option causes Embperl to open the logfile as soon as it is loaded into memory.
   You can use this when you load Embperl via PerlModule under Apache, to open the log
   as root instead of the non-privileged user Apache runs as.
    
  @@ -729,7 +727,7 @@
   
   =item dbgForm = 32
   
  -Lists posted form data.
  +List posted form data.
   
   =item dbgTab = 64
   
  @@ -788,15 +786,7 @@
   
   Shows every time new Perl code is compiled.
   
  -=item dbgCacheDisable = 32768
  -
  -Disables the use of the p-code cache.  All Perl code is recompiled
  -every time.  (This should not be used in normal operation as it slows
  -down Embperl dramatically.) This option is only here for debugging
  -Embperl's cache handling. There is no guarantee that Embperl behaves
  -the same with and without cache (actually is does not!)
   
  -
   =item dbgHeadersIn = 262144
   
   Log all HTTP headers which are sent from the browser.
  @@ -817,7 +807,7 @@
   
   =item dbgImport =  4194304 (only 1.2b5 and above) 
   
  -Show how subroutines are imported in other namesapces
  +Show how subroutines are imported in other namespaces.
   
   
   =back
  @@ -857,9 +847,9 @@
   
   =item B<$cacheargs>
   
  -a reference to a scalar, to which the modification time should be returned,
  -alternativ (1.2.1 and up) you can return a reference to a hash with the elements 
C<mtime> and C<inputfile>
  -with are used to correcly cache the precompiled Perlcode.
  +a reference to a scalar, to which the modification time should be returned.
  +Alternatively (1.2.1 and up), you can return a reference to a hash with the 
elements C<mtime> and C<inputfile>
  +which are used to correcly cache the precompiled Perlcode.
   
    Example:
   
  @@ -907,7 +897,7 @@
   for an input function which comes with Embperl.
   
   NOTE: There are also two modules (I<HTML::EmbperlChain> and 
I<Apache::EmbperlFilter>)
  -which provides you with the possibility to chain I<Embperl> and other modules 
together.
  +which allow you to chain I<Embperl> and other modules together.
   
   
   =head2 EMBPERL_OUTPUT_FUNC
  @@ -968,7 +958,7 @@
   for an output function which comes with Embperl.
   
   NOTE: There are also two modules (I<HTML::EmbperlChain> and 
I<Apache::EmbperlFilter>)
  -which provides you with the possibility to chain I<Embperl> and other modules 
together.
  +which allow you to chain I<Embperl> and other modules together.
   
   
   =head2 EMBPERL_MAILHOST
  @@ -1022,8 +1012,8 @@
   
   =head2 EMBPERL_SESSION_CLASSES
   
  -Space separted list of object store and lock manager
  -(and optional the serialsation and id generating class)
  +Space separated list of object store and lock manager
  +(and optionally the serialization and id generating class)
   for Apache::Session (see L<"Session handling">)
   
   =head2 EMBPERL_SESSION_ARGS
  @@ -1110,7 +1100,7 @@
    [- $a=1 -]            Set the variable $a to one.
                       No output will be generated.
   
  - [- use SomeModule ;  -]  You can use other modules. NOTE the semikolon!
  + [- use SomeModule ;  -]  You can use other modules. NOTE the semicolon!
   
    [- $i=0; while ($i<5) {$i++} -]  Even more complex
                                     statements or multiple
  @@ -1135,12 +1125,13 @@
   
   (only version 1.2b2 or higher) B<EXPERIMENTAL!>
   
  -This is similar to [- Perl Code -], the main difference is, while [- Perl Code -], 
has
  -always it's own scope, all [* Perl code *] blocks runs in the same scope.
  -This gives you the possibilty to define "local" variables with a scope of the 
  -whole page. Normaly you don't need to use local, because Embperl takes care of 
separate namespaces
  +This is similar to [- Perl Code -]. 
  +The main difference is, while [- Perl Code -] 
  +always has its own scope, all [* Perl code *] blocks runs in the same scope.
  +This allows you to define "local" variables with a scope of the 
  +whole page. Normally, you don't need to use local, because Embperl takes care of 
separate namespaces
   of different documents and cleanup after the request is finished, but in special 
cases it's
  -necessary. For example if you want recursivly call an Embperl document via Execute.
  +necessary. For example, if you want to recursively call an Embperl document via 
Execute.
   
   There is a second reason to use the [* Perl code *] instead of the [- Perl Code -]. 
If you like
   to use perl's control structures. Perl's if, while, for etc. can B<not> span 
mulitple [- Perl Code -]
  @@ -1175,10 +1166,10 @@
   B<NOTE 2:> [* ... *] cannot apear inside a html tag that is interpreted by Embperl
   (unless you disable the interpretation of such tags like table, input etc.)
   
  -B<NOTE 3:> Since the execution of [- ... -] and metacommands is controlled by
  -Embperl, there is a much better debugging output in the logfile for this two
  -ones. Also no restriction where they can be used apply to meta-commands. You can 
use them
  -anywhere even inside of html tags that are interpreted by Embperl.
  +B<NOTE 3:> There are still benefits of using [- ... -] and metacommands: 
  +  - much better debugging in the log file. 
  +  - no restriction on where they can be used. You can use them
  +anywhere; even inside html tags that are interpreted by Embperl.
   
   
   
  @@ -1308,7 +1299,7 @@
   hidden fields are sent to the browser, which sends it back with the
   next request.  If you have a large amount of data, store it in a file
   with a unique name and send only the filename in a hidden field.  Be
  -aware of the fact that the data can be change by the browser if the
  +aware of the fact that the data can be changed by the browser if the
   user doesn't behave exactly as you expect. Users have a nasty habit of 
   doing this all of the time. Your program should be able to handle
   such situations properly.
  @@ -1318,7 +1309,7 @@
   
   The var command declares one or more variables for use within this
   Embperl document and sets the B<strict> pragma. The variable names
  -must be supplied as space-separated list.
  +must be supplied as a space-separated list.
   
   Example:
        
  @@ -1382,7 +1373,7 @@
   
   =head2 HTML Tags
   
  -Embperl recognizes the following HTML tags specially.  All others are
  +Embperl recognizes the following HTML tags in a special way.  All others are
   simply passed through, as long as they are not part of a Embperl
   command.
   
  @@ -1399,11 +1390,11 @@
   the table through.
   
   Embperl checks if any of $row, $col, or $cnt is used.  Embperl repeats
  -all text between <table> and </table>, as long the expressions in
  -which $row or $cnt occurs is/are defined.
  +all text between <table> and </table>, as long as the expressions in
  +which $row or $cnt occurs are defined.
   
  -Embperl repeats all text between <tr> and </tr>, as long the
  -expressions in which $col or $cnt occurs is/are defined.
  +Embperl repeats all text between <tr> and </tr>, as long as the
  +expressions in which $col or $cnt occurs are defined.
   
   See also L<"$tabmode"> (below) for end-of-table criteria.
   
  @@ -1467,8 +1458,8 @@
   
   =item B<INPUT>
   
  -The INPUT tag interacts with the hashes C<%idat> und C<%fdat>.  If the
  -input tag has no value, and a key exists with the same text as the
  +The INPUT tag interacts with the hashes C<%idat> and C<%fdat>.  If the
  +input tag has no value and a key exists with the same text as the
   NAME attribute of the input tag, Embperl will generate a VALUE
   attribute with the corresponding value of the hash key.
   All values of <INPUT> tags are stored in the hash C<%idat>, with NAME
  @@ -1477,7 +1468,7 @@
   contains the same text as the value of the hash the CHECKED attribute
   is inserted, else it is removed.
   
  -So if you specify as the ACTION URL
  +So, if you specify, as the ACTION URL,
   the file which contains the form itself, the form will be redisplayed
   with same values as entered the first time. (See eg/x/neu.htm for an
   example.)
  @@ -1510,8 +1501,8 @@
   
   The output of perl blocks inside the C<HREF> attribute of the C<A> Tags and the
   C<SRC> attribute of the other Tags are URL escaped instead of HTML escaped.
  -(see also L<$escmode>). Also when inside such a URL, I<Embperl> expands array and 
hash refernces
  -to URL paramter syntax. Example:
  +(see also L<$escmode>). Also, when inside such a URL, I<Embperl> expands array and 
hash references
  +to URL parameter syntax. Example:
   
     [-
     $A = { A => 1, B => 2 } ;  # Hashreference
  @@ -1567,7 +1558,7 @@
   B<EMBPERL_OPTIONS> or the B<cleanup> parameter of the B<Execute>
   function.
   
  -You can define expections to the cleanup rule with the hash B<%CLEANUP>.
  +You can define exceptions to the cleanup rule with the hash B<%CLEANUP>.
   
   If you like to do your own cleanup you can define a subroutine B<CLEANUP>
   in your document. This will be called right before the variables are 
  @@ -1598,7 +1589,7 @@
   especially if you're using Embperl's CGI mode -- it is safer to use
   POST.
   
  -If multiple fields with the same name send to a Embperl page they will 
  +If multiple fields with the same name are sent to a Embperl page, they will 
   put in the same hash element and separated be tabs. You can split it up in 
   an array, by writting:
   
  @@ -1628,10 +1619,10 @@
       -]
        
   
  -When you have installed CGI.pm 2.46 or above you may also retrieve the 
  -filename (local filename, as it was on the browser side) and the informations
  -provied by the CGI.pm uploadInfo function. To get the filename just print out
  -the value of the correspondig %fdat entry, instead of using it as a filehandle.
  +When you have installed CGI.pm 2.46 or above, you may also retrieve the 
  +filename (local filename, as it was on the browser side) and the information
  +provided by the CGI.pm uploadInfo function. To get the filename, simply print out
  +the value of the corresponding %fdat entry, instead of using it as a filehandle.
   To get the B<uploadInfo> use the fieldname with a dash in front of it:
   
     Example:
  @@ -1641,7 +1632,7 @@
     Filename:      [+ $fdat{ImageName} +] <br>
     Content-Type:  [+ $fdat{-ImageName} -> {'Content-Type'} +] <br>
   
  -B<NOTE:> The way B<uploadInfos> are accessed before 1.2b11 are not supported
  +B<NOTE:> The way B<uploadInfos> are accessed before 1.2b11 is not supported
   anymore.
   
   B<NOTE:> This works the other
  @@ -1665,15 +1656,15 @@
   happens, but as soon as you write anything to %udat, Embperl creates a session id 
and
   sends it via a cookie to the browser. The data you have written to %udat is stored 
by
   Apache::Session. The next time the same user request an Embperl page, the browser 
sends
  -the cookie with the session id back and Embperl fill the %udat hash from 
Apache::Session
  -with just the same values as you have stored for that user. (See also L<"Session 
handling">)
  +the cookie with the session id back and Embperl fills the %udat hash from 
Apache::Session
  +with the same values as you have stored for that user. (See also L<"Session 
handling">)
   
   =head2 %mdat (only 1.2b2 or higher)
   
   You can use B<%mdat> to store per module/page data. As long as you don't use %mdat, 
nothing
   happens, but as soon as you write anything to %mdat, Embperl creates a session id 
and
   stores the data via Apache::Session. The next time any user hits the same Embperl 
page,
  -Embperl fill the %mdat hash from Apache::Session with just the same values as you 
have
  +Embperl fill the %mdat hash from Apache::Session with the same values as you have
   stored within the last request to that page. (See also L<"Session handling">)
   
   =head2 $row, $col
  @@ -1683,7 +1674,7 @@
   
   =head2 $maxrow, $maxcol
   
  -Maxium number of rows or columns to display in a table. To prevent
  +Maximum number of rows or columns to display in a table. To prevent
   endless loops, $maxrow defaults to 100 and $maxcol to 10.
   (See L<"HTML tag table"|"HTML Tags">.)
   
  @@ -1706,7 +1697,7 @@
   End table looping when any one of the expressions in the table row
   using $row returns undefined. The row
   containing the undefined expression is B<not> displayed. Only those
  -expression are observed which contains an access to the varibale $row.
  +expressions are observed which contain an access to the variable $row.
   
   =item B<$tabmode = 2>
   
  @@ -1729,7 +1720,7 @@
   using $col returns undefined. 
   The column
   containing the undefined expression is B<not> displayed.  Only those
  -expression are observed which contains an access to the varibale $col.
  +expressions are observed which contain an access to the variable $col.
   
   =item B<$tabmode = 32>
   
  @@ -1755,7 +1746,7 @@
   normaly is escaped with a backslash. While this is a handy thing, it could
   be very dangerous in situations, where content that is inserted by some
   user is redisplayed, because they can enter arbitary HTML and preceed them
  -with a backslash to avoid correct esaping when their input is redisplayed
  +with a backslash to avoid correct escaping when their input is redisplayed
   again. To avoid this problem, add 4 to the values below. This will cause
   Embperl to ignore the backslash when it does output escaping at all.
   (only 1.3b4 and above)
  @@ -1821,12 +1812,12 @@
   
   Will be setup by the B<'param'> parameter of the B<Execute> function. Could be used
   to pass parameters to an Embperl document and back. (see 
  -L<Execute|"By calling HTML::Embperl::Execut">
  +L<Execute|"By calling HTML::Embperl::Execute">
   for further docs)
   
   =head2 %http_headers_out (only 1.2b10 and above)
   
  -You can put any http headers you want to send into this hash. If you set an 
location header
  +You can put any http headers you want to send into this hash. If you set a location 
header,
   Embperl will automaticly set the status to 301 (Redirect). Example:
   
     [- $http_headers_out{'Location'} = "http://www.ecos.de/embperl/" -]
  @@ -1881,29 +1872,29 @@
   =head2 %CLEANUP
   
   Embperl cleanups up only variables with are defined within the Embperl page. If you 
want Embperl 
  -to cleanup addtional variables you can add them to the hash %CLEANUP, with the key 
set to the
  -variable name and the value set to one. The other way round you could prevent 
Embperl from cleaning
  -up some variables, by adding them to this hash, with a values of zero.
  +to cleanup additional variables you can add them to the hash %CLEANUP, with the key 
set to the
  +variable name and the value set to one. The other way you could prevent Embperl 
from cleaning
  +up some variables, is by adding them to this hash, with values of zero.
   
   =head2 %CLEANUPFILE (1.2b6+)
   
  -Same purpose as C<%CLEANUP>, but you may add filenames and all variables defined 
inside that file
  +Same purpose as C<%CLEANUP>, but you may add filenames. All variables defined 
inside that file
   will be cleaned up.
   
   =head1 Session handling
   
   From 1.2b1 and higher Embperl is able to handle per user sessions for you. You
  -can store any data in the L<%udat> hash and if the same user request again an
  -Embperl document, you will see the same values in that hash again. 
  +can store any data in the L<%udat> hash and if the same user requests an
  +Embperl document again, you will see the same values in that hash again. 
   
  -From 1.2b2 and higher Embperl is able to handle per module/page persitent data
  +From 1.2b2 and higher Embperl is able to handle per module/page persistent data
   for you. You can store any data in the L<%mdat> hash and if any request comes
   to the same Embperl document, you will see the same values in that hash again. 
   
   To configure I<Embperl> to do session management for you, you must
   have installed I<Apache::Session> (B<1.00 or higher>) and tell Embperl which
   storage and locker classes you would like to use for
  -I<Apache::Session>. This is done by setting the environement variable 
  +I<Apache::Session>. This is done by setting the environment variable 
   C<EMBPERL_SESSION_CLASSES>.
   If you want to use a MySQL database for storing your sessions, you may have a
   B<startup.pl> for your httpd which looks like this:
  @@ -1924,7 +1915,7 @@
    PerlModule HTML::Embperl ;
   
   
  -Refer to the I<Apache::Session> docs (e.g. I<Apache::Session::Store::MySQL>) how
  +Refer to the I<Apache::Session> docs (e.g. I<Apache::Session::Store::MySQL>) on how
   to setup your database tables.
   
   C<EMBPERL_SESSION_ARGS> is a space separated list of name/value pairs, which gives
  @@ -1935,26 +1926,26 @@
   PerlSetEnv EMBPERL_SESSION_CLASSES "File Semaphore"
   PerlSetEnv EMBPERL_SESSION_ARGS "Directory=/path/to/your/sessions"
   
  -Refer to the I<Apache::Session> docs which other storage/locker are available.
  +Refer to the I<Apache::Session> docs to find out which other storage/locker methods 
are available.
   
  -Additionaly C<EMBPERL_SESSION_CLASSES> can (optionaly) take two further classnames, 
which specifies
  -the the class for serialization (Default: C<Storable>) and for generating the id
  +C<EMBPERL_SESSION_CLASSES> can (optionally) take two more classnames, which specify
  + the class for serialization (Default: C<Storable>) and for generating the id
   (Default: C<MD5>).
   
   B<NOTE:> The above configuration works only with I<Apache::Session> 1.52 and 
I<Embperl> 1.3b5
  -or above. Older versions of Embperl only supports I<Apache::Session> 1.0x, which has
  +or above. Older versions of Embperl only support I<Apache::Session> 1.0x, which has
   different parameters for C<EMBPERL_SESSION_CLASSES> 
   (e.g. C<$ENV{EMBPERL_SESSION_CLASSES} = "DBIStore SysVSemaphoreLocker" ; >)
   I<Apache::Session> 1.0x still works with this Embperl version.
   
   
  -Now you are able to use the %udat and %mdat hashs for your user/module sessions. As 
long as you
  -don't touch %udat or %mdat
  -Embperl will not create any session, also Apache::Session is loaded. As soon as you 
store any
  +Now you are able to use the %udat and %mdat hashes for your user/module sessions. 
As long as you
  +don't touch %udat or %mdat, 
  +Embperl will not create any session, and Apache::Session is not loaded. As soon as 
you store any
   value to %udat, Embperl will create a new session and send a cookie to the browser 
to maintain
  -it's id, while the data is stored by Apache::Session. (Further version may also be 
able to use
  +its id, while the data is stored by Apache::Session. (Further version may also be 
able to use
   URL rewriting for storing the id).
  -When you store data to %mdat Embperl will store the data via Apache::Session and 
retrieves it
  +When you modify %mdat, Embperl will store the data via Apache::Session and retrieve 
it
   when the next request comes to the same page.
   
   
  @@ -1962,7 +1953,7 @@
   
   =head2 HTML::Embperl::Req::SetupSession ($req_rec, $Inputfile)  [1.3b6+]
   
  -This can be used from an script that will later on call 
L<HTML::Embperl::Execute|Execute> to
  +This can be used from a script that will later call 
L<HTML::Embperl::Execute|Execute> to
   preset the session so it's available to the calling script. 
   
   =over 4
  @@ -1973,7 +1964,7 @@
   
   =item $Inputfile
   
  -Name of file that will be process later by Embperl. It is used to setup L<%mdat>. 
If you
  +Name of file that will be later processed by Embperl. It is used to setup L<%mdat>. 
If you
   don't pass the C<$Inputfile>, C<%mdat> is not setup.
   
   =back
  @@ -1983,15 +1974,15 @@
   
   =head2 HTML::Embperl::Req::GetSession / $r -> GetSession [1.3b6+]
   
  -Returns a reference to L<%udat> or, if call in an array context, a reference to 
L<%udat>
  -and L<%mdat>. This could be used by modules that are called from inside a Embperl 
page,
  +Returns a reference to L<%udat> or, if called in an array context, a reference to 
L<%udat>
  +and L<%mdat>. This could be used by modules that are called from inside an Embperl 
page,
   where the session management is already setup. If called as a method C<$r> must be 
   a HTML::Embperl::Req object, which is passed as first parameter to every Embperl 
page in @_ .
   
   =head2 HTML::Embperl::Req::CleanupSession / $r -> CleanupSession [1.3b6+]
   
  -Must be called at the end of a script by scripts, that uses C<SetupSession>,
  - but do not call L<HTML::Embperl::Execute|Execute>.
  +Must be called at the end of a script by scripts that use C<SetupSession>,
  +but do not call L<HTML::Embperl::Execute|Execute>.
   If called as a method C<$r> must be 
   a HTML::Embperl::Req object, which is passed as first parameter to every Embperl 
page in @_ .
   
  @@ -2001,12 +1992,20 @@
   If called as a method C<$r> must be 
   a HTML::Embperl::Req object, which is passed as first parameter to every Embperl 
page in @_ .
   
  -=head2 HTML::Embperl::Req::DeleteSession / $r -> DeleteSession [1.3b6+]
  +=head2 HTML::Embperl::Req::RefreshSession / $r -> RefreshSession [1.3b6+]
   
   Triggers a resend of the cookie. Normaly the cookie is only send the first time.
   If called as a method C<$r> must be 
   a HTML::Embperl::Req object, which is passed as first parameter to every Embperl 
page in @_ .
   
  +=head2 HTML::Embperl::Req::SetSessionCookie / $r -> SetSessionCookie [1.3b7+]
  +
  +Must be called by scripts that use C<SetupSession>,
  +but do not call L<HTML::Embperl::Execute|Execute>. This is neccessary to set the 
cookie
  +for the session id, in case a new session is created, which is normaly done by 
  +L<HTML::Embperl::Execute|Execute>. If called as a method C<$r> must be 
  +a HTML::Embperl::Req object, which is passed as first parameter to every Embperl 
page in @_ .
  +
   
   =head1 (Safe-)Namespaces and opcode restrictions
   
  @@ -2019,8 +2018,8 @@
   B<EMBPERL_PACKAGE>.  NOTE: By explicitly specifying a package name, you
   can access data that is used by another document.
   
  -If Embperl is used by more then one person, it may be neccessary to
  -really protect documents from each other.  To do this, Embperl
  +If Embperl is used by more than one person, it may be neccessary to
  +protect documents from each other.  To do this, Embperl
   gives you the option of using safe namespaces.  Each document runs in
   its own package and can't access anything outside of this package.
   (See the documentation of Safe.pm for a more detailed discussion of 
  @@ -2126,12 +2125,12 @@
    <BODY>
           [- MailFormTo('[EMAIL PROTECTED]',
                         'Mail from WWW Form', 'email') -]
  -        Your data has been sccesfully sent!
  +        Your data has been successfully sent!
    </BODY>
    </HTML>
   
  -This will send a mail with all fields of the form to [EMAIL PROTECTED], with the
  -Subject 'Mail form WWW Form' and will set the Return-Path of the mail to the
  +This will send an email with all the form fields to [EMAIL PROTECTED], with the
  +Subject 'Mail from WWW Form' and will set the Return-Path of the mail to the
   address which was entered in the field with the name 'email'.
   
   B<NOTE:> You must have Net::SMTP (from the libnet package) installed
  @@ -2147,7 +2146,7 @@
   the file which called the file containing the exit with Execute will continue.
    
   B<NOTE 2:> If you write a module which should work with Embperl under mod_perl, 
  -you must use Apache::exit instead of the normal Perl exit (just like always 
  +you must use Apache::exit instead of the normal Perl exit (as always 
   when running under mod_perl).
   
   =head1 Input/Output Functions
  @@ -2192,7 +2191,7 @@
   The source files must be in the location /src, but they will be requested via the
   URI /embperl. Every request to /embperl/foo.html will do a proxy-request to 
/src/foo.html.
   The file /src/foo.html will be processed by mod_include and then sent to Embperl, 
where it
  -can be processed by Embperl before being sent to the browser. It would be also 
possible to use
  +can be processed by Embperl before being sent to the browser. It would also be 
possible to use
   two httpd's on different ports. In this configuration, the source and the URI 
location
   could be the same.
   
  @@ -2209,7 +2208,7 @@
    </Location>
   
   LogOutput is a custom output function. It sends the output to the browser B<and>
  -writes the output to a unique file. The filename has the the form
  +writes the output to a unique file. The filename has the form
   "$basepath.$$.$LogOutputFileno".
   
   
  @@ -2416,7 +2415,7 @@
   
      <A HREF="http://host/script?name=[+$n+]">
   
  -When $n is "My name" the requested URL, when you click on the
  +When $n is "My name", the requested URL, when you click on the
   hyperlink, will be
   
      http://host/script?name=My+name
  @@ -2442,7 +2441,7 @@
   
       NOTE: You cannot set $escmode more than once inside a [+ ... +] block.
       Embperl uses the first setting of $escmode it encounters inside the block.
  -    If you need to change $escmode more than once, you must use muliple
  +    If you need to change $escmode more than once, you must use multiple
       [+ ... +] blocks.
        
   
  @@ -2451,7 +2450,7 @@
   
   Now everything is done and the output can be sent to the browser.  If
   you haven't set dbgEarlyHttpHeaders, the output is buffered until the
  -successful completion of document execution of the document, and is sent
  +successful completion of document execution, and is sent
   to the browser along with the HTTP headers.  If an error occurs, an
   error document is sent instead.
   
  @@ -2465,12 +2464,12 @@
   To get the best performace from Embperl, it is necessary to restrict
   logging to a minimum.  You can drastically slow down Embperl if you
   enable all logging options.  (This is why `make test' takes a while to
  -run.)  You should B<never> enable B<dbgFlushOutput>, B<dbgFlushLog> or
  -B<dbgCacheDisable> in a production environment.  More debugging
  +run.)  You should B<never> enable B<dbgFlushOutput> or B<dbgFlushLog>
  + in a production environment.  More debugging
   options are useful for development where it doesn't matter if the
   request takes a little bit longer, but on a heavily-loaded server they
   should be disabled.
  -Addtionaly the options L<optDisableChdir>, L<optDisableHtmlScan>,
  +Additionally the options L<optDisableChdir>, L<optDisableHtmlScan>,
   L<optDisableCleanup> have consequences for the performance.
   
   Also take a look at B<mod_perl_tuning.pod> for general ideas about
  @@ -2491,7 +2490,7 @@
   
   =head1 Compatibility
   
  -I have tested Embperl succesfully
  +I have tested Embperl successfully
   
   =head2 on Linux 2.x with
   
  @@ -2649,7 +2648,7 @@
   
   =head2 CVS
   
  -The lastest developements are available from a CVS.
  +The latest developments are available via CVS.
   Look at L<"perldoc CVS.pod"|CVS/"INTRO"> for a detailed description.
   
   
  @@ -2671,13 +2670,13 @@
   
   =head2 VIM
   
  -Vim Syntaxfile from Steve Willer could be found at 
http://www.interlog.com/~willer/embperl.vim
  +Vim Syntaxfile from Steve Willer can be found at 
http://www.interlog.com/~willer/embperl.vim
   
  -Vim Syntaxfile from Kee Hinckley could be found at 
http://www.somewhere.com/software/
  +Vim Syntaxfile from Kee Hinckley can be found at http://www.somewhere.com/software/
   
   =head2 Dreamweaver
   
  -Dreamweaverextention which tell Dreamweaver not to touch Embperl code could 
  +Dreamweaver extension which tells Dreamweaver not to touch Embperl code can 
   be found at http://www.somewhere.com/software/
   
   
  
  
  
  1.29.4.6  +17 -7     embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.29.4.5
  retrieving revision 1.29.4.6
  diff -u -r1.29.4.5 -r1.29.4.6
  --- Embperl.xs        2000/11/02 08:45:20     1.29.4.5
  +++ Embperl.xs        2000/11/08 21:40:17     1.29.4.6
  @@ -19,7 +19,8 @@
   # /* 
############################################################################### */
   
   MODULE = HTML::Embperl      PACKAGE = HTML::Embperl     PREFIX = embperl_
  - 
  +
  +PROTOTYPES: ENABLE
   
   
   int
  @@ -246,7 +247,7 @@
   
   
   void
  -embperl_logevalerr(r,sText)
  +embperl_logevalerr(sText)
       char * sText
   PREINIT:
       int l ;
  @@ -361,13 +362,22 @@
       RETVAL
   
   char *
  -embperl_Path(r)
  +embperl_Path(r,sPath=NULL)
       tReq * r
  +    char * sPath
   CODE:
  -    if (r -> pConf && r -> pConf -> sPath)
  -        RETVAL = r -> pConf -> sPath ;
  -    else
  -        RETVAL = NULL;
  +    RETVAL = NULL;
  +    if (r -> pConf)
  +        {
  +        if (sPath)
  +            {
  +            if (r -> pConf -> sPath)
  +                free (r -> pConf -> sPath) ;
  +            r -> pConf -> sPath = sstrdup (sPath) ;
  +            }
  +        if (r -> pConf -> sPath)
  +            RETVAL = r -> pConf -> sPath ;
  +        }
   OUTPUT:
       RETVAL
   
  
  
  
  1.29.4.2  +12 -4     embperl/EmbperlD.pod
  
  Index: EmbperlD.pod
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlD.pod,v
  retrieving revision 1.29.4.1
  retrieving revision 1.29.4.2
  diff -u -r1.29.4.1 -r1.29.4.2
  --- EmbperlD.pod      2000/10/17 12:55:43     1.29.4.1
  +++ EmbperlD.pod      2000/11/08 21:40:19     1.29.4.2
  @@ -1897,7 +1897,7 @@
   
   =head2 HTML::Embperl::Req::CleanupSession / $r -> CleanupSession [1.3b6+]
   
  -Mu� am Ende B<jedes> Skripts aufgerufen werden , welches C<SetupSession> benutzt, 
danach aber nicht
  +Mu� am Ende B<jedes> Skripts aufgerufen werden, welches C<SetupSession> benutzt, 
danach aber nicht
   L<HTML::Embperl::Execute|Execute> aufruft.
   Wenn es als eine Methode aufgerufen wird mu� C<$r> ein C<HTML::Embperl::Req> Objekt 
sein.
   Dieses wird als erster Parameter in @_ an jede Seite �bergeben.
  @@ -1908,13 +1908,21 @@
   Wenn es als eine Methode aufgerufen wird mu� C<$r> ein C<HTML::Embperl::Req> Objekt 
sein.
   Dieses wird als erster Parameter in @_ an jede Seite �bergeben.
   
  -=head2 HTML::Embperl::Req::DeleteSession / $r -> DeleteSession [1.3b6+]
  +=head2 HTML::Embperl::Req::RefreshSession / $r -> RefreshSession [1.3b6+]
   
   St��t das nochmalige senden des Cookies an. Normalerweise wird der Cookie nur beim 
ersten
   Mal gesendet.
   Wenn es als eine Methode aufgerufen wird mu� C<$r> ein C<HTML::Embperl::Req> Objekt 
sein.
   Dieses wird als erster Parameter in @_ an jede Seite �bergeben.
   
  +=head2 HTML::Embperl::Req::SetSessionCookie / $r -> SetSessionCookie [1.3b7+]
  +
  +Mu� von Skripts aufgerufen werden, welches C<SetupSession> benutzen, danach aber 
nicht
  +L<HTML::Embperl::Execute|Execute> aufrufen, um den Cookie f�r sie Session-Id zu 
setzen.
  +Dies wird normalerweise durch L<HTML::Embperl::Execute|Execute> erledigt.
  +Wenn es als eine Methode aufgerufen wird mu� C<$r> ein C<HTML::Embperl::Req> Objekt 
sein.
  +Dieses wird als erster Parameter in @_ an jede Seite �bergeben.
  +
   
   =head1 (Sichere-)Namensr�ume und Opcode Restriktionen
   
  @@ -2426,8 +2434,8 @@
   Um die beste Performance von I<Embperl> zu erzielen, ist es notwendig, das Logging 
auf ein Minimum
   zu beschr�nken. Sie k�nnen Embperl drastisch verlangsamen, wenn Sie alle
   Logging Option einschalten.
  -Vorallem sollten Sie B<niemals> L<dbgFlushOutput>, L<dbgFlushLog> oder
  -L<dbgCacheDisable> auf einen Produktionsserver einschalten.
  +Vorallem sollten Sie B<niemals> L<dbgFlushOutput> oder L<dbgFlushLog>
  +auf einen Produktionsserver einschalten.
   W�hrend der geringf�gige Performanceverlust beim Debuggen nicht auff�llt, kann
   er auf einem stark belasteten Server durchaus ins Gewicht fallen.
   Auch die Optionen L<optDisableChdir>, L<optDisableHtmlScan>, L<optDisableCleanup>
  
  
  
  1.36.4.2  +1 -1      embperl/EmbperlObject.pm
  
  Index: EmbperlObject.pm
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlObject.pm,v
  retrieving revision 1.36.4.1
  retrieving revision 1.36.4.2
  diff -u -r1.36.4.1 -r1.36.4.2
  --- EmbperlObject.pm  2000/10/17 12:55:43     1.36.4.1
  +++ EmbperlObject.pm  2000/11/08 21:40:21     1.36.4.2
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: EmbperlObject.pm,v 1.36.4.1 2000/10/17 12:55:43 richter Exp $
  +#   $Id: EmbperlObject.pm,v 1.36.4.2 2000/11/08 21:40:21 richter Exp $
   #
   ###################################################################################
   
  
  
  
  1.50.4.7  +3 -0      embperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/embperl/MANIFEST,v
  retrieving revision 1.50.4.6
  retrieving revision 1.50.4.7
  diff -u -r1.50.4.6 -r1.50.4.7
  --- MANIFEST  2000/11/02 08:45:20     1.50.4.6
  +++ MANIFEST  2000/11/08 21:40:22     1.50.4.7
  @@ -23,6 +23,7 @@
   test/cmp2/importsub.htm
   test/cmp2/importsub2.htm
   test/cmp2/importmodule.htm
  +test/cmp2/epodiv.htm
   test/html2/error.htm
   test/html2/errormismatch.htm
   test/html2/errormismatchcmd.htm
  @@ -178,6 +179,7 @@
   test/html/EmbperlObject/epopage1.htm
   test/html/EmbperlObject/epodiv.htm
   test/html/EmbperlObject/sub/subsub/eposubsub.htm
  +test/html/EmbperlObject/sub/subsub/subsubsub/eposubsub.htm
   test/html/EmbperlObject/eposubsub.htm
   test/html/EmbperlObject/sub/epohead.htm
   test/html/EmbperlObject/sub/epopage2.htm
  @@ -273,6 +275,7 @@
   test/cmp/epodiv.htm
   test/cmp/epopage2.htm
   test/cmp/eposubsub.htm
  +test/cmp/eposubsub.htm3
   test/cmp/epoobj1.htm
   test/cmp/epoobj2.htm
   test/cmp/epoobj3.htm
  
  
  
  1.1.2.5   +1 -0      embperl/Attic/MANIFEST.2
  
  Index: MANIFEST.2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/MANIFEST.2,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- MANIFEST.2        2000/11/02 08:45:20     1.1.2.4
  +++ MANIFEST.2        2000/11/08 21:40:23     1.1.2.5
  @@ -23,6 +23,7 @@
   test/cmp2/importsub.htm
   test/cmp2/importsub2.htm
   test/cmp2/importmodule.htm
  +test/cmp2/epodiv.htm
   test/html2/error.htm
   test/html2/errormismatch.htm
   test/html2/errormismatchcmd.htm
  
  
  
  1.31.4.3  +16 -9     embperl/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /home/cvs/embperl/Makefile.PL,v
  retrieving revision 1.31.4.2
  retrieving revision 1.31.4.3
  diff -u -r1.31.4.2 -r1.31.4.3
  --- Makefile.PL       2000/09/14 05:08:26     1.31.4.2
  +++ Makefile.PL       2000/11/08 21:40:24     1.31.4.3
  @@ -26,48 +26,48 @@
   %neededmodules =
       ( 
         'mod_perl.c' => { name     => 'perl_module', 
  -                     path        => ['$apache_src/modules/perl/libperl.so', 
'$EPBINDIR/modules/libperl.so'],
  +                     path        => ['$apache_src/modules/perl/libperl.so', 
'$EPBINDIR/modules/libperl.so', '$apache_src/mod_perl.so'],
                        win32path   => ['$mpdll', '$mpdll/apachemoduleperl.dll', 
'$EPBINDIR/modules/apachemoduleperl.dll'],
                        file        => 'libperl.so',
                        win32file   => 'apachemoduleperl.dll',
                      },
         'mod_dir.c'  => { name     => 'dir_module', 
  -                     path        => ['$apache_src/modules/standard/mod_dir.so', 
'$EPBINDIR/modules/mod_dir.so'],
  +                     path        => ['$apache_src/modules/standard/mod_dir.so', 
'$EPBINDIR/modules/mod_dir.so', '$apache_src/mod_dir.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemoduledir.dll', 
'$EPBINDIR/modules/apachemoduledir.dll'],
                        file        => 'mod_dir.so',
                        win32file   => 'apachemoduledir.dll',
                      },
   
         'mod_env.c'  => { name     => 'env_module', 
  -                     path        => ['$apache_src/modules/standard/mod_env.so', 
'$EPBINDIR/modules/mod_env.so'],
  +                     path        => ['$apache_src/modules/standard/mod_env.so', 
'$EPBINDIR/modules/mod_env.so', '$apache_src/mod_env.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemoduleenv.dll', 
'$EPBINDIR/modules/apachemoduleenv.dll'],
                        file        => 'mod_env.so',
                        win32file   => 'apachemoduleenv.dll',
                      },
   
         'mod_mime.c'  => { name            => 'mime_module', 
  -                     path        => ['$apache_src/modules/standard/mod_mime.so', 
'$EPBINDIR/modules/mod_mime.so'],
  +                     path        => ['$apache_src/modules/standard/mod_mime.so', 
'$EPBINDIR/modules/mod_mime.so', '$apache_src/mod_mime.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemodulemime.dll', 
'$EPBINDIR/modules/apachemodulemime.dll'],
                        file        => 'mod_mime.so',
                        win32file   => 'apachemodulemime.dll',
                      },
   
         'mod_alias.c'  => { name           => 'alias_module', 
  -                     path        => ['$apache_src/modules/standard/mod_alias.so', 
'$EPBINDIR/modules/mod_alias.so'],
  +                     path        => ['$apache_src/modules/standard/mod_alias.so', 
'$EPBINDIR/modules/mod_alias.so', '$apache_src/mod_alias.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemodulealias.dll', 
'$EPBINDIR/modules/apachemodulealias.dll'],
                        file        => 'mod_alias.so',
                        win32file   => 'apachemodulealias.dll',
                      },
   
         'mod_cgi.c'  => { name     => 'cgi_module', 
  -                     path        => ['$apache_src/modules/standard/mod_cgi.so', 
'$EPBINDIR/modules/mod_cgi.so'],
  +                     path        => ['$apache_src/modules/standard/mod_cgi.so', 
'$EPBINDIR/modules/mod_cgi.so', '$apache_src/mod_cgi.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemodulecgi.dll', 
'$EPBINDIR/modules/apachemodulecgi.dll'],
                        file        => 'mod_cgi.so',
                        win32file   => 'apachemodulecgi.dll',
                      },
   
         'mod_actions.c'  => { name         => 'action_module', 
  -                     path        => ['$apache_src/modules/standard/mod_actions.so', 
'$EPBINDIR/modules/mod_actions.so'],
  +                     path        => ['$apache_src/modules/standard/mod_actions.so', 
'$EPBINDIR/modules/mod_actions.so', '$apache_src/mod_actions.so'],
                        win32path   => 
['$apache_src/modules/standard/apachemoduleactions.dll', 
'$EPBINDIR/modules/apachemoduleactions.dll'],
                        file        => 'mod_actions.so',
                        win32file   => 'apachemoduleactions.dll',
  @@ -467,6 +467,10 @@
            {
            $inc_dir = "$apache_src/include" ;
            }
  +    elsif (-e "$ENV{APACHE_HDR}/httpd.h")
  +         {
  +         $inc_dir = "$ENV{APACHE_HDR}" ;
  +         }
           
   
       if ($win32)
  @@ -590,6 +594,7 @@
               }
           
           $EPHTTPD = "$apache_src/httpd" ;
  +        $EPHTTPD = $ENV{EPHTTPD} if (defined ($ENV{EPHTTPD})) ;
           $EPHTTPD = "$apache_src/httpsd" if (!-e $EPHTTPD && -e 
"$apache_src/httpsd") ;
           
           if (!-e $EPHTTPD)
  @@ -901,9 +906,11 @@
       'INC'       => $i,                        
       'MAN3PODS'     => { 
                        'Embperl.pod' => 'blib/man3/HTML::Embperl.3',
  -                     'EmbperlD.pod' => 'blib/man3/HTML::EmbperlD.3'
  +                     'EmbperlD.pod' => 'blib/man3/HTML::EmbperlD.3',
  +                     'EmbperlObject.pm' => 'blib/man3/HTML::EmbperlObject.3',
                         }, 
  -    'clean'        => { FILES => 'dirent.h test/tmp/*' },
  +    'clean'        => { FILES => 'dirent.h test/conf/httpd.conf test/tmp/*' },
  +    'realclean'    => { FILES => 'embpexec.pl embpexec.bat embpcgi.pl 
embpcgi.test.pl embpcgi.bat test/conf/config.pl' },
       'dist'         => { COMPRESS => 'gzip', SUFFIX => 'gz'},
       'dynamic_lib'  => $dynlib,
       'PREREQ_PM'    => { 'File::Spec' => 0 },
  
  
  
  1.19.6.2  +6 -0      embperl/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/embperl/README,v
  retrieving revision 1.19.6.1
  retrieving revision 1.19.6.2
  diff -u -r1.19.6.1 -r1.19.6.2
  --- README    2000/10/18 06:54:37     1.19.6.1
  +++ README    2000/11/08 21:40:25     1.19.6.2
  @@ -9,7 +9,12 @@
   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 
   MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   
  +###
  +### This is an ALPHA release of Embperl 2.0, before installing
  +### please read the README.v2
  +###
   
  +
   OVERVIEW
   
   
  @@ -142,6 +147,7 @@
   apache_1.3.6
   apache_1.3.9
   apache_1.3.12
  +apache_1.3.14
   apache + mod_ssl
   apache_ssl (Ben SSL)
   Stronghold 2.2
  
  
  
  1.1.4.2   +14 -9     embperl/Attic/README.v2
  
  Index: README.v2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/README.v2,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- README.v2 2000/10/17 12:55:43     1.1.4.1
  +++ README.v2 2000/11/08 21:40:27     1.1.4.2
  @@ -2,13 +2,14 @@
   Hints for using Embperl 2.x
   ---------------------------
   
  -Embperl 2 contains nearly 7000 lines new (mostly C-) code. Also I
  -have done a lot of testing, don't expect it to work without errors!
  +Embperl 2 has a totaly rewritten core. It contains nearly 7500 lines 
  +new (mostly C-) code. Also I have done a lot of testing, don't expect 
  +it to work without errors!
   
   Please report any weired behaviour to the embperl mailing list, but
   be sure to read this whole README to understand what can't work so far.
   
  -The Embperl core now works in a totaly different way. It is devided into
  +The Embperl core now works in a totaly different way. It is divided into
   smaller steps:
   
       1 reading the source
  @@ -31,7 +32,7 @@
   longer then 20K (For short pages ( < 5K ouput) you won't see a great difference)
   
   Another new feature is that the syntax of the Embperl parser is defined
  -with in the module HTML::Embperl::Syntax and can be modified as nessecary.
  +within the module HTML::Embperl::Syntax and can be modified as nessecary.
   See the file Embperl/Syntax.pm how it looks like and 
   
   perldoc HTML::Embperl::Syntax
  @@ -65,8 +66,6 @@
   The following things are not fully tested/working yet:
   ------------------------------------------------------
   
  -- [$ sub $] ... [$ endsub $]
  -
   - [- exit -]
   
   - [- print OUT "foo" -]
  @@ -83,13 +82,19 @@
   PerlSetEnv EMBPERL_EP1COMPAT 1
   
   at the top level of your httpd.conf, then Embperl will behave just the same
  -like Embperl 1.3b3. In the directories where you make your tests, you
  -inlcude a
  +like Embperl 1.3b7. In the directories where you make your tests, you
  +include a
   
   PerlSetEnv EMBPERL_EP1COMPAT 0
   
   to enable the new engine.
   
   but _DON'T_ use this one a production machine. While this compatibility mode
  -is tested and shows no problems for me, it's not so hard tested as 1.3b3
  +is tested and shows no problems for me, it's not so hard tested as 1.3b7
   itself!
  +
  +
  +Enjoy
  +
  +Gerald
  +
  
  
  
  1.23.4.5  +7 -6      embperl/epeval.c
  
  Index: epeval.c
  ===================================================================
  RCS file: /home/cvs/embperl/epeval.c,v
  retrieving revision 1.23.4.4
  retrieving revision 1.23.4.5
  diff -u -r1.23.4.4 -r1.23.4.5
  --- epeval.c  2000/11/02 14:51:29     1.23.4.4
  +++ epeval.c  2000/11/08 21:40:30     1.23.4.5
  @@ -745,9 +745,9 @@
       r -> numEvals++ ;
       *pRet = NULL ;
   
  -    if (r -> bDebug & dbgCacheDisable)
  +    /*if (r -> bDebug & dbgCacheDisable)
           return EvalAllNoCache (r, sArg, pRet) ;
  -
  +    */
       /* Already compiled ? */
   
       ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof 
(nFilepos), 1) ;  
  @@ -807,9 +807,9 @@
       r -> numEvals++ ;
       *pRet = NULL ;
   
  -    if (r -> bDebug & dbgCacheDisable)
  +    /*if (r -> bDebug & dbgCacheDisable)
           return EvalAllNoCache (r, sArg, pRet) ;
  -
  +    */
       /* Already compiled ? */
   
       ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof 
(nFilepos), 1) ;  
  @@ -859,14 +859,15 @@
       r -> numEvals++ ;
       *pRet = NULL ;
   
  +    /*
       if (r -> bDebug & dbgCacheDisable)
           {
  -        /* strip off all <HTML> Tags */
  +        /  * strip off all <HTML> Tags *  /
           TransHtml (r, sArg, 0) ;
           
           return EvalAllNoCache (r, sArg, pRet) ;
           }
  -
  +    */
       /* Already compiled ? */
   
       ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof 
(nFilepos), 1) ;  
  
  
  
  1.75.4.11 +24 -9     embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.75.4.10
  retrieving revision 1.75.4.11
  diff -u -r1.75.4.10 -r1.75.4.11
  --- epmain.c  2000/11/03 08:48:08     1.75.4.10
  +++ epmain.c  2000/11/08 21:40:32     1.75.4.11
  @@ -371,7 +371,6 @@
   OPTMG   (dbgFunc         , pCurrReq -> bDebug) ;
   OPTMG   (dbgLogLink      , pCurrReq -> bDebug) ;
   OPTMG   (dbgDefEval      , pCurrReq -> bDebug) ;
  -OPTMG   (dbgCacheDisable , pCurrReq -> bDebug) ;
   OPTMG   (dbgWatchScalar  , pCurrReq -> bDebug) ;
   OPTMG   (dbgHeadersIn    , pCurrReq -> bDebug) ;
   OPTMG   (dbgShowCleanup  , pCurrReq -> bDebug) ;
  @@ -404,6 +403,15 @@
       hv_clear (r -> pFormHash) ;
       hv_clear (r -> pFormSplitHash) ;
       
  +#ifdef HASHTEST
  +     pHash = perl_get_hv (sFormHashName, FALSE) ;
  +     if (pHash != r -> pFormHash)
  +         {
  +         strcpy (r -> errdat1, sFormHashName) ;
  +         strcpy (r -> errdat2, " !!C-Adress differs from Perl-Adress!! in 
GetFormData" ) ;
  +         LogError (r, rcHashError) ;
  +         }
  +#endif
   
       if (nLen == 0)
           return ok ;
  @@ -556,7 +564,7 @@
           
   
           if (strcmp (sLine, "----") == 0)
  -            { state = 1 ; if (r -> bDebug) lprintf (r, "[%d]Environement...\n", r 
-> nPid) ;}
  +            { state = 1 ; if (r -> bDebug) lprintf (r, "[%d]Environment...\n", r -> 
nPid) ;}
           else if (strcmp (sLine, "****") == 0)
               { state = 2 ;  if (r -> bDebug) lprintf (r,  "[%d]Formdata...\n", r -> 
nPid) ;}
           else if (state == 1)
  @@ -1543,7 +1551,6 @@
       ADDOPTMG   (dbgFunc        ) ;
       ADDOPTMG   (dbgLogLink     ) ;
       ADDOPTMG   (dbgDefEval     ) ;
  -    ADDOPTMG   (dbgCacheDisable) ;
       ADDOPTMG   (dbgWatchScalar ) ;
       ADDOPTMG   (dbgHeadersIn   ) ;
       ADDOPTMG   (dbgShowCleanup ) ;
  @@ -2288,6 +2295,16 @@
           tFile * pNext ;
        int     i ;
   
  +#ifdef HASHTEST
  +     pHash = perl_get_hv (sFormHashName, FALSE) ;
  +     if (pHash != r -> pFormHash)
  +         {
  +         strcpy (r -> errdat1, sFormHashName) ;
  +         strcpy (r -> errdat2, " !!C-Adress differs from Perl-Adress!! in 
FreeRequest") ;
  +         LogError (r, rcHashError) ;
  +         }
  +#endif
  +
           hv_clear (r -> pHeaderHash) ;
           av_clear (r -> pFormArray) ;
           hv_clear (r -> pFormHash) ;
  @@ -2764,6 +2781,7 @@
                    l -> pLastBuf    = r -> pLastBuf   ;
                    l -> pFreeBuf    = r -> pFreeBuf   ;
                    l -> pLastFreeBuf= r -> pLastFreeBuf ;
  +                 l -> nSessionMgnt= r -> nSessionMgnt ;
   #ifdef EP2
                    }
                else
  @@ -2838,13 +2856,10 @@
           lprintf (r, "[%d]PERF: ", r -> nPid) ;
   #endif        
           lprintf (r, "Evals: %d ", r -> numEvals) ;
  -        if (r -> bDebug & dbgCacheDisable)
  -            lprintf (r, "Cache disabled") ;
  +        if (r -> numEvals == 0)
  +            lprintf (r, "No Evals to cache") ;
           else
  -            if (r -> numEvals == 0)
  -                lprintf (r, "No Evals to cache") ;
  -            else
  -                lprintf (r, "Cache Hits: %d (%d%%)", r -> numCacheHits, r -> 
numCacheHits * 100 / r -> numEvals) ;
  +            lprintf (r, "Cache Hits: %d (%d%%)", r -> numCacheHits, r -> 
numCacheHits * 100 / r -> numEvals) ;
   
           lprintf (r, "\n") ;    
           lprintf (r, "[%d]%sRequest finished. %s. Entry-SVs: %d -OBJs: %d Exit-SVs: 
%d -OBJs: %d\n", r -> nPid,
  
  
  
  1.70.4.18 +9 -1      embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.17
  retrieving revision 1.70.4.18
  diff -u -r1.70.4.17 -r1.70.4.18
  --- test.pl   2000/11/03 12:04:14     1.70.4.17
  +++ test.pl   2000/11/08 21:40:34     1.70.4.18
  @@ -370,6 +370,11 @@
           'offline'    => 0,
           'cgi'        => 0,
           },
  +    'EmbperlObject/sub/subsub/subsubsub/eposubsub.htm' => { 
  +        'offline'    => 0,
  +        'cgi'        => 0,
  +        'cmpext'     => '3',      
  +        },
       'EmbperlObject/sub/eponotfound.htm' => { 
           'offline'    => 0,
           'cgi'        => 0,
  @@ -830,7 +835,8 @@
            !($_ =~ /Warning/) &&
            !($_ =~ /mod_ssl\:/) &&
            !($_ =~ /SES\:/) &&
  -         $_ ne 'Use of uninitialized value.')
  +         !($_ =~ /gcache started/) &&
  +            $_ ne 'Use of uninitialized value.')
            {
            $cnt-- ;
            if ($cnt < 0)
  @@ -921,6 +927,7 @@
           { $opt_modperl = $opt_cgi = $opt_offline = $opt_execute = 1 }
       else
           { $opt_offline = $opt_execute = 1 }
  +    $opt_ep1 = 1 ;
       }
   
   
  @@ -1584,6 +1591,7 @@
                $org = "$cmppath/$1" ;
                $org = "$cmppath$testversion/$1" if (-e "$cmppath$testversion/$1") ;
                   $org .= '56' if ($file eq 'varerr.htm' && $^V && $^V ge v5.6.0) ;
  +                $org .= $test -> {cmpext} if ($test -> {cmpext}) ;
                   #$org .= '-1' if ($opt_ep1 && -e "$org-1") ;
   
                #print "Compare $page with $org\n" ;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.4.1   +4 -0      embperl/Embperl/Session.pm
  
  Index: Session.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Session.pm,v
  retrieving revision 1.4
  retrieving revision 1.4.4.1
  diff -u -r1.4 -r1.4.4.1
  --- Session.pm        2000/08/18 09:20:35     1.4
  +++ Session.pm        2000/11/08 21:40:58     1.4.4.1
  @@ -367,8 +367,12 @@
        }
   
       $self->save;
  +    {
  +    local $SIG{__WARN__} = 'IGNORE' ;
  +    local $SIG{__DIE__}  = 'IGNORE' ; 
       eval { $self -> {object_store} -> close } ; # Try to close file storage 
       $@ = "" ;
  +    }
       $self->release_all_locks;
   
       $self->{'status'} = 0 ;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.3   +2 -1      embperl/test/cmp/binary.htm
  
        <<Binary file>>
  
  
  1.1.4.2   +182 -91   embperl/test/cmp/epodiv.htm
  
  Index: epodiv.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/epodiv.htm,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- epodiv.htm        2000/11/03 12:04:23     1.1.4.1
  +++ epodiv.htm        2000/11/08 21:41:06     1.1.4.2
  @@ -134,10 +134,10 @@
       </tr> 
   </table>
   
  -<table border="4" >
  +<table  border="4" >
       <tr>
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -162,7 +162,7 @@
   
       <tr>
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -185,7 +185,7 @@
           a2/1 </td>
       
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -210,7 +210,7 @@
   
       <tr>
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -233,7 +233,7 @@
           a3/1 </td>
       
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -256,7 +256,7 @@
           a3/2 </td>
       
           <td>
  -            <table border="5" >
  +            <table  border="5" >
                <tr>
                       <td>b1/1 </td>
                </tr> 
  @@ -280,7 +280,7 @@
       </tr> 
   </table>
   
  -^<P>(2\.0.*?|1\.3.*?)<P>
  +<P>1.3b7_dev<P>
   
   <P>17<P>
   <P>1<P>
  @@ -288,122 +288,213 @@
   <P>
   
   0
  -1
  -2
  +
  +    1
  +
  +    2
   A = 1<br>
  -B = 2<br>
  -C = 3<br>
  +
  +    B = 2<br>
  +
  +    C = 3<br>
   @a[0] = a<br>
  -     @a[1] = b<br>
  -     @a[2] = c<br>
  -     @a[3] = d<br>
  +     
  +    @a[1] = b<br>
  +     
  +    @a[2] = c<br>
  +     
  +    @a[3] = d<br>
        @a[0] = a<br>
  -     @a[1] = b<br>
  -     @a[2] = c<br>
  -     @a[3] = d<br>
  +     
  +    @a[1] = b<br>
  +     
  +    @a[2] = c<br>
  +     
  +    @a[3] = d<br>
        a <br>
  -b <br>
  -c <br>
  -d <br>
  +
  +     b <br>
  +
  +     c <br>
  +
  +     d <br>
   1 <br>
  -3 <br>
  -5 <br>
  -7 <br>
  -9 <br>
  +
  +     3 <br>
  +
  +     5 <br>
  +
  +     7 <br>
  +
  +     9 <br>
   1 <br>
  -2 <br>
  -3 <br>
  -4 <br>
  -5 <br>
  -6 <br>
  -7 <br>
  -8 <br>
  -9 <br>
  -10 <br>
  +
  +     2 <br>
  +
  +     3 <br>
  +
  +     4 <br>
  +
  +     5 <br>
  +
  +     6 <br>
  +
  +     7 <br>
  +
  +     8 <br>
  +
  +     9 <br>
  +
  +     10 <br>
   2:1 <br>
  -2:2 <br>
  -2:3 <br>
  -2:4 <br>
  -2:5 <br>
  +
  +     2:2 <br>
  +
  +     2:3 <br>
  +
  +     2:4 <br>
  +
  +     2:5 <br>
   3:a <br>
  -3:b <br>
  -3:c <br>
  +
  +     3:b <br>
  +
  +     3:c <br>
   @a[0] = a<br>
        A = 1<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                B = 2<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                C = 3<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  -             @a[1] = b<br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
  +    @a[1] = b<br>
        A = 1<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                B = 2<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                C = 3<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  -             @a[2] = c<br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
  +    @a[2] = c<br>
        A = 1<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                B = 2<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                C = 3<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  -             @a[3] = d<br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
  +    @a[3] = d<br>
        A = 1<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                B = 2<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
  +             
                C = 3<br>
                1 <br>
  -             3 <br>
  -             5 <br>
  -             7 <br>
  -             9 <br>
  +             
  +                     3 <br>
  +             
  +                     5 <br>
  +             
  +                     7 <br>
  +             
  +                     9 <br>
                x
   
    y
  
  
  
  1.3.6.1   +25 -24    embperl/test/cmp/importsub.htm
  
  Index: importsub.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/importsub.htm,v
  retrieving revision 1.3
  retrieving revision 1.3.6.1
  diff -u -r1.3 -r1.3.6.1
  --- importsub.htm     1999/12/31 13:51:49     1.3
  +++ importsub.htm     2000/11/08 21:41:08     1.3.6.1
  @@ -10,53 +10,54 @@
   
   First sub:
   
  -
  -<h2>1.) Here goes some normal html text <h2>
  -
  +*1*
  +*1*<h2>1.) Here goes some normal html text <h2>
  +*1*
   Second sub:
  -
  -
  -2.) Here comes some perl:
   
  -foo = Hello world<br>
  -testdata = <br>
  -
  +*2*
  +*2*2.) Here comes some perl:
  +*2*
  +*2**2*
  +*2*foo = Hello world<br>
  +*2*testdata = <br>
  +*2*
   And now a table splitted into several subs:
   
   <table>
   <tr><th>1</th><th>2></th></tr>
   <tr>
  -
  -
  -<td>a1<td>
  -
   
  +*4*
  +*4*<td>a1<td>
  +*4*
   
   
  -<td>a2<td>
  -
  +*4*
  +*4*<td>a2<td>
  +*4*
   </tr>
   
   <tr>
  -
  -
  -<td>b1<td>
  -
   
  +*4*
  +*4*<td>b1<td>
  +*4*
   
   
  -<td>b2<td>
  -
  +*4*
  +*4*<td>b2<td>
  +*4*
   </tr>
   </table>
   
   
   req_rec sub:
   ^<h2>\$req_rec =.*?\$\$req_rec =
  -
  -
  -^<h2>\$req_rec =.*?\$\$req_rec =
   
  +*6*
  +^\*6\*<h2>\$req_rec =.*?\$\$req_rec =    
  +*6*
   And done!
   
   
  
  
  
  1.2.6.1   +22 -21    embperl/test/cmp/importsub2.htm
  
  Index: importsub2.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/importsub2.htm,v
  retrieving revision 1.2
  retrieving revision 1.2.6.1
  diff -u -r1.2 -r1.2.6.1
  --- importsub2.htm    1999/10/05 06:02:09     1.2
  +++ importsub2.htm    2000/11/08 21:41:13     1.2.6.1
  @@ -10,43 +10,44 @@
   
   Second sub:
   
  -
  -2.) Here comes some perl:
  -
  -foo = Hello world<br>
  -testdata = <br>
  -
  +*2*
  +*2*2.) Here comes some perl:
  +*2*
  +*2**2*
  +*2*foo = Hello world<br>
  +*2*testdata = <br>
  +*2*
   First sub:
  -
   
  -<h2>1.) Here goes some normal html text <h2>
  -
  +*1*
  +*1*<h2>1.) Here goes some normal html text <h2>
  +*1*
   And now a table splitted into several subs:
   
   <table>
   <tr><th>1</th><th>2></th></tr>
   <tr>
  -
  -
  -<td>2a1<td>
   
  +*4*
  +*4*<td>2a1<td>
  +*4*
   
   
  -
  -<td>2a2<td>
  -
  +*4*
  +*4*<td>2a2<td>
  +*4*
   </tr>
   
   <tr>
  -
  -
  -<td>2b1<td>
  -
  -
   
  +*4*
  +*4*<td>2b1<td>
  +*4*
   
  -<td>2b2<td>
   
  +*4*
  +*4*<td>2b2<td>
  +*4*
   </tr>
   </table>
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +0 -0      embperl/test/cmp/eposubsub.htm3
  
  Index: eposubsub.htm3
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/eposubsub.htm3,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +462 -0    embperl/test/cmp2/Attic/epodiv.htm
  
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.24.4.2  +3 -1      embperl/test/conf/httpd.conf.src
  
  Index: httpd.conf.src
  ===================================================================
  RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
  retrieving revision 1.24.4.1
  retrieving revision 1.24.4.2
  diff -u -r1.24.4.1 -r1.24.4.2
  --- httpd.conf.src    2000/10/26 07:33:04     1.24.4.1
  +++ httpd.conf.src    2000/11/08 21:41:32     1.24.4.2
  @@ -345,7 +345,9 @@
   LockFile tmp/httpd.lock
   
   <IfModule apache_ssl.c>
  -SSLDisable
  +SSLDisable
  +SSLCacheServerPort gcache_port
  +SSLCacheServerPath $EPAPACHESRC/modules/ssl/gcache
   </IfModule>
   
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +0 -0      
embperl/test/html/EmbperlObject/sub/subsub/subsubsub/eposubsub.htm
  
  Index: eposubsub.htm
  ===================================================================
  RCS file: 
/home/cvs/embperl/test/html/EmbperlObject/sub/subsub/subsubsub/eposubsub.htm,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to