You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2001/05/15 16:21:41 UTC

cvs commit: embperl/test/html/registry tied.htm

richter     01/05/15 07:21:40

  Modified:    .        Tag: Embperl2c Changes.pod Embperl.xs
                        EmbperlObject.pm INSTALL.pod MANIFEST MANIFEST.2
                        Makefile.PL README README.v2 epcmd2.c epcomp.c
                        epdom.c epdom.h epeval.c epmain.c epnames.h
                        epparse.c eputil.c test.pl
               Embperl/Syntax Tag: Embperl2c SSI.pm
               test/conf Tag: Embperl2c httpd.conf.src
               test/html/rawinput Tag: Embperl2c include.htm
               test/html/registry Tag: Embperl2c tied.htm
  Log:
  Embperl - fix memory leak
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.22 +3 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.21
  retrieving revision 1.129.4.22
  diff -u -r1.129.4.21 -r1.129.4.22
  --- Changes.pod	2001/05/11 07:13:33	1.129.4.21
  +++ Changes.pod	2001/05/15 14:19:19	1.129.4.22
  @@ -132,6 +132,9 @@
        (e.g. perldoc HTML::Embperl::Intro works now after installation). Based
        on an idea from Angus Lees.
      - Makefile.PL enhancements for Apache/ActiveState binary distribution
  +   - quote pathnames in Makefile to allow directories like "Program Files".
  +     Spotted by Lukas Zapletal.
  +   - Added epocgi.pl which allow use of EmbperlObject as CGI script.
   
   =head1 1.3.1 (RELEASE)   13 Feb. 2001
   
  
  
  
  1.29.4.16 +4 -3      embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.29.4.15
  retrieving revision 1.29.4.16
  diff -u -r1.29.4.15 -r1.29.4.16
  --- Embperl.xs	2001/05/11 07:13:38	1.29.4.15
  +++ Embperl.xs	2001/05/15 14:19:23	1.29.4.16
  @@ -745,10 +745,11 @@
       if (items > 1)
           {
           r -> pCodeSV = ST(1) ;
  -        SvREFCNT_inc (ST(1)) ;
  +        SvREFCNT_inc (r -> pCodeSV) ;
           }
  -OUTPUT:
  -    RETVAL
  +    ST(0) = RETVAL;
  +    if (RETVAL != &sv_undef)
  +        sv_2mortal(ST(0));
   
   
   
  
  
  
  1.36.4.5  +8 -2      embperl/EmbperlObject.pm
  
  Index: EmbperlObject.pm
  ===================================================================
  RCS file: /home/cvs/embperl/EmbperlObject.pm,v
  retrieving revision 1.36.4.4
  retrieving revision 1.36.4.5
  diff -u -r1.36.4.4 -r1.36.4.5
  --- EmbperlObject.pm	2001/03/27 11:51:58	1.36.4.4
  +++ EmbperlObject.pm	2001/05/15 14:19:25	1.36.4.5
  @@ -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.4 2001/03/27 11:51:58 richter Exp $
  +#   $Id: EmbperlObject.pm,v 1.36.4.5 2001/05/15 14:19:25 richter Exp $
   #
   ###################################################################################
   
  @@ -390,7 +390,13 @@
   
   The runtime configuration is done by setting environment variables,
   in your web
  -server's configuration file. 
  +server's configuration file. Basicly the configuration is the same as
  +for normal Embperl. All Embperl configuration directives also applies
  +to EmbperlObject. There are a few addtional configuration directives
  +listed below. Addtionaly you have to set the C<PerlHandler> to
  +C<HTML::EmbperlObject> when running under mod_perl or use C<epocgi.pl>
  +instead of C<embpcgi.pl> when running as CGI Script.
  +
   
   =head2 EMBPERL_DECLINE
   
  
  
  
  1.12.4.5  +76 -11    embperl/INSTALL.pod
  
  Index: INSTALL.pod
  ===================================================================
  RCS file: /home/cvs/embperl/INSTALL.pod,v
  retrieving revision 1.12.4.4
  retrieving revision 1.12.4.5
  diff -u -r1.12.4.4 -r1.12.4.5
  --- INSTALL.pod	2001/05/11 07:13:40	1.12.4.4
  +++ INSTALL.pod	2001/05/15 14:19:29	1.12.4.5
  @@ -61,7 +61,7 @@
   
   =head2 Options for make test
   
  -C<make test> can take several options, with can be given with the C<TESTARGS>
  +C<make test> can take several options, which can be given with the C<TESTARGS>
   parameter:
   
     make test TESTARGS="--help"
  @@ -104,18 +104,38 @@
   a DSO mod-perl (ie: apache + libapache-mod-perl) for now.
   
   
  -=head2 WIN 32
  +=head2 UNIX (without Apache Source)
   
  -I have tested the offline mode on Windows 95 with a Microsoft Visual C++ 4.2
  -compiler and I have succesfully run Embperl with apache_1.3b5-1.3.9 / 
  -mod_perl-1.12-1.21 / perl5.004_04-perl5.005 (without threads) on Windows NT
  -with VC++ 5.0. 
  -
  -B<NOTE:> It was necessary for me to compile perl5.004_04 with the VC++ on my own
  -to get it to run with Apache and mod_perl, while I was able to use the binary
  -distribution (/authors/id/GSAR/perl5.00402-bindist04-bc.tar.gz) of Perl for
  -offline testing under Win 95.
  +If you have an UNIX with preinstalled Apache and mod_perl (e.g. a Linux 
  +distribution), you need to locate the following files on your disk:
   
  + - httpd.h
  + - httpd
  + - mod_env.so
  +
  +For example in SuSE Linux 7.1 they could be found at
  +
  + - /usr/include/apache/httpd.h
  + - /usr/sbin/httpd
  + - /usr/lib/apache/mod_env.so
  +
  +Now go to the Embperl directory and start 
  +
  + perl Makefile.PL
  +
  +When get asked for the Apache sources, enter the directory where you
  +found C<httpd.h> (e.g. C</usr/include/apache>). For the Apache executable
  +enter the path to C<httpd>. If the Apache modules are loaded dynamicly,
  +the you will get ask for C<mod_env.so>, enter it's directory. Now you can
  +continue as normal with
  +
  + make test
  + make install
  +  
  +
  +=head2 WIN 32 (non ActiveState Perl)
  +
  +
   B<NOTE:> You need mod_perl >= 1.12 on win32
   
   
  @@ -179,6 +199,51 @@
   If you have already successfully build and tested C<mod_perl> all modules
   will already be there.
   
  +
  +=head2 WIN 32 with ActiveState Perl
  +
  +First get and install ActiveState Perl from http://www.activestate.com
  +
  +You can skip the installation of Apache and mod_perl, if you only want
  +to use Embperl offline or as CGI.
  +
  +Next get the Apache binary (including the source e.g. apache_1.3.19-win32-src-r2.msi) from        
  +http://www.apache.org/dist/httpd/binaries/win32/ . (You may need to install the
  +windows MSI installer from the same page too). Now run the installation.
  +
  +Then run the ppm program to install mod_perl
  +
  +  ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl-1.25_1.3.19.ppd
  +
  +If you get asked for the Apache directory, enter the C<modules> subdirectory under the path
  +where you have installed your Apache, e.g. 
  +
  +  \Program Files\Apache Group\Apache\modules
  +
  +As last step you can install the Embperl ppd:
  +
  +  ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/HTML-Embperl.ppd
  +
  +
  +=head2 Compile Embperl from the sources on WIN 32 with ActiveState Perl
  +
  +First install ActiveState Perl, Apache and mod_perl as described above. Make sure
  +you have an Apache version which includes the sources. (Of course when you want to use
  +Embperl only offline or as CGI you don't have to install Apache and mod_perl)
  +
  +Then extract the Embperl distribution and go to the directory where you have extracted
  +Embperl. Start
  +
  +  perl Makefile.PL
  +
  +Enter y or hit enter when you get ask "Build with support for Apache mod_perl?(y/n) [y]"
  +When get asked for the Apache source enter the Apache directory you have installed above.
  +e.g. \Program Files\Apache Group.
  +
  +Now you can continue by running 
  +
  +  nmake test
  +  nmake install  
   
   
   =head2 How to continue
  
  
  
  1.50.4.25 +7 -3      embperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/embperl/MANIFEST,v
  retrieving revision 1.50.4.24
  retrieving revision 1.50.4.25
  diff -u -r1.50.4.24 -r1.50.4.25
  --- MANIFEST	2001/05/11 07:13:43	1.50.4.24
  +++ MANIFEST	2001/05/15 14:19:30	1.50.4.25
  @@ -14,6 +14,7 @@
   Embperl/Syntax/Text.pm
   Embperl/Syntax/Perl.pm
   Embperl/Syntax/Mail.pm
  +Embperl/Syntax/RTF.pm
   README.v2
   test/cmp2/errdoc2.htm
   test/cmp2/error.htm
  @@ -57,9 +58,9 @@
   test/html/execsecond.htm
   test/html/execprint.htm
   test/html/inputjs2.htm
  -test/html/rtfbasic.asc
  -test/html/rtffull.asc
  -test/html/rtfloop.asc
  +test/html/rtf/rtfbasic.asc
  +test/html/rtf/rtffull.asc
  +test/html/rtf/rtfloop.asc
   test/cmp/incif.htm
   test/cmp/executesub.htm
   test/cmp/ssibasic.htm
  @@ -120,6 +121,9 @@
   embpcgi.pl.templ
   embpcgi.bat.templ
   embpcgi.test.pl.templ
  +epocgi.pl.templ
  +epocgi.bat.templ
  +epocgi.test.pl.templ
   ep.h
   epdat.h
   epio.c
  
  
  
  1.1.2.17  +4 -3      embperl/Attic/MANIFEST.2
  
  Index: MANIFEST.2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/MANIFEST.2,v
  retrieving revision 1.1.2.16
  retrieving revision 1.1.2.17
  diff -u -r1.1.2.16 -r1.1.2.17
  --- MANIFEST.2	2001/05/08 12:55:43	1.1.2.16
  +++ MANIFEST.2	2001/05/15 14:19:32	1.1.2.17
  @@ -14,6 +14,7 @@
   Embperl/Syntax/Text.pm
   Embperl/Syntax/Perl.pm
   Embperl/Syntax/Mail.pm
  +Embperl/Syntax/RTF.pm
   README.v2
   test/cmp2/errdoc2.htm
   test/cmp2/error.htm
  @@ -57,9 +58,9 @@
   test/html/execsecond.htm
   test/html/execprint.htm
   test/html/inputjs2.htm
  -test/html/rtfbasic.asc
  -test/html/rtffull.asc
  -test/html/rtfloop.asc
  +test/html/rtf/rtfbasic.asc
  +test/html/rtf/rtffull.asc
  +test/html/rtf/rtfloop.asc
   test/cmp/incif.htm
   test/cmp/executesub.htm
   test/cmp/ssibase.htm
  
  
  
  1.31.4.13 +10 -9     embperl/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /home/cvs/embperl/Makefile.PL,v
  retrieving revision 1.31.4.12
  retrieving revision 1.31.4.13
  diff -u -r1.31.4.12 -r1.31.4.13
  --- Makefile.PL	2001/05/11 07:13:44	1.31.4.12
  +++ Makefile.PL	2001/05/15 14:19:34	1.31.4.13
  @@ -520,18 +520,18 @@
   
       if ($win32)
   	{ 
  -        $i = "-I. -I$inc_dir -I$apache_src/regex -I$apache_src/os/win32" ;
  +        $i = "-I. -I\"$inc_dir\" -I\"$apache_src/regex\" -I\"$apache_src/os/win32\"" ;
   	if (-e "$apache_src/../libexec/ApacheCore.lib")
               {
  -	    $o = " $apache_src/../libexec/ApacheCore.lib" ;
  +	    $o = " \"$apache_src/../libexec/ApacheCore.lib\"" ;
   	    }
   	elsif (!-e "$apache_src/CoreD/ApacheCore.lib")
               {
  -	    $o = " $apache_src/CoreR/ApacheCore.lib" ;
  +	    $o = " \"$apache_src/CoreR/ApacheCore.lib\"" ;
   	    }
   	else
   	    {        
  -	    $o = " $apache_src/CoreD/ApacheCore.lib" ;
  +	    $o = " \"$apache_src/CoreD/ApacheCore.lib\"" ;
   	    }
           }
       else
  @@ -644,7 +644,7 @@
   
       ### check the apache version ###
                                   
  -    $ENV{PATH} .= ";$EPHTTPDDLL" if ($win32) ;
  +    $ENV{PATH} .= ";\"$EPHTTPDDLL\"" if ($win32) ;
   
       
       @EPAPACHEVERSION = start ("$EPHTTPD -v") ;
  @@ -677,7 +677,7 @@
   		    #print "path = $_ -> $path\n" ;
   		    if (-f $path)
   			{ ## module fould
  -	    		$EPMODPERL .= "\r\nLoadModule $opt->{name} $path" ;
  +	    		$EPMODPERL .= "\r\nLoadModule $opt->{name} \"$path\"" ;
   			print " + Load dynamic module $mod\n   ($path)\n" ;
   			$found = 1 ;
   			last ;
  @@ -689,7 +689,7 @@
   		    #print "path = $_ -> $path\n" ;
   		    if (-f $path)
   			{ ## module fould
  -	    		$EPMODPERL .= "\r\nLoadModule $opt->{name} $path" ;
  +	    		$EPMODPERL .= "\r\nLoadModule $opt->{name} \"$path\"" ;
   			print " + Load dynamic module $mod\n   ($path)\n" ;
   			$found = 1 ;
   			last ;
  @@ -702,7 +702,7 @@
                           $path = $1 ;
   		        if (-f $path)
   			    { ## module fould
  -	    		    $EPMODPERL .= "\r\nLoadModule $opt->{name} $path" ;
  +	    		    $EPMODPERL .= "\r\nLoadModule $opt->{name} \"$path\"" ;
   			    print " + Load dynamic module $mod\n   ($path)\n" ;
   			    $found = 1 ;
   			    last ;
  @@ -971,7 +971,8 @@
   #
   
   @bins = ('embpexec.pl','embpexec.bat', 
  -         'embpcgi.pl', 'embpcgi.test.pl', 'embpcgi.bat') ;
  +         'embpcgi.pl', 'embpcgi.test.pl', 'embpcgi.bat',
  +         'epocgi.pl', 'epocgi.test.pl', 'epocgi.bat') ;
   
   
   die "Missing path to perl binary" if (!$perlbinpath) ;
  
  
  
  1.19.6.9  +4 -3      embperl/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/embperl/README,v
  retrieving revision 1.19.6.8
  retrieving revision 1.19.6.9
  diff -u -r1.19.6.8 -r1.19.6.9
  --- README	2001/03/28 19:15:31	1.19.6.8
  +++ README	2001/05/15 14:19:36	1.19.6.9
  @@ -9,19 +9,20 @@
   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 
   MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   
  -$Id: README,v 1.19.6.8 2001/03/28 19:15:31 richter Exp $
  +$Id: README,v 1.19.6.9 2001/05/15 14:19:36 richter Exp $
   
   
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
   ###
   ###
  -### This is the second BETA release of Embperl 2.0, before installing
  +### This is the third BETA release of Embperl 2.0, before installing
   ### please read the README.v2. Documentation is not yet updated to
   ### reflect the changes in 2.0, everything that has changed is
  -### documented in README.v2. Since the first beta I have fixed a lot
  +### documented in README.v2. Since the first and second beta I have fixed a lot
   ### of smaller bugs and use it now in production environment on my own.
   ### But be carefull this release may still contain bugs.
   ###
  +### The current stable release is Embperl 1.3.2
   ###
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
   
  
  
  
  1.1.4.11  +6 -3      embperl/Attic/README.v2
  
  Index: README.v2
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/README.v2,v
  retrieving revision 1.1.4.10
  retrieving revision 1.1.4.11
  diff -u -r1.1.4.10 -r1.1.4.11
  --- README.v2	2001/03/29 05:28:42	1.1.4.10
  +++ README.v2	2001/05/15 14:19:39	1.1.4.11
  @@ -9,19 +9,20 @@
   WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 
   MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   
  -$Id: README.v2,v 1.1.4.10 2001/03/29 05:28:42 richter Exp $
  +$Id: README.v2,v 1.1.4.11 2001/05/15 14:19:39 richter Exp $
   
   
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
   ###
   ###
  -### This is the second BETA release of Embperl 2.0, before installing
  +### This is the third BETA release of Embperl 2.0, before installing
   ### please read the README.v2. Documentation is not yet updated to
   ### reflect the changes in 2.0, everything that has changed is
  -### documented in README.v2. Since the first beta I have fixed a lot
  +### documented in README.v2. Since the first and second beta I have fixed a lot
   ### of smaller bugs and use it now in production environment on my own.
   ### But be carefull this release may still contain bugs.
   ###
  +### The current stable release is Embperl 1.3.2
   ###
   ### !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! IMPORTANT !! 
   
  @@ -145,6 +146,8 @@
   - [- exit -]
   
   - safe namespaces
  +
  +- print to OUT does not work correctly inside of loops
   
   
   Embperl 1.x compatibility flag
  
  
  
  1.4.2.9   +2 -3      embperl/Attic/epcmd2.c
  
  Index: epcmd2.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcmd2.c,v
  retrieving revision 1.4.2.8
  retrieving revision 1.4.2.9
  diff -u -r1.4.2.8 -r1.4.2.9
  --- epcmd2.c	2001/05/04 06:08:11	1.4.2.8
  +++ epcmd2.c	2001/05/15 14:19:41	1.4.2.9
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epcmd2.c,v 1.4.2.8 2001/05/04 06:08:11 richter Exp $
  +#   $Id: epcmd2.c,v 1.4.2.9 2001/05/15 14:19:41 richter Exp $
   #
   ###################################################################################*/
   
  @@ -61,8 +61,7 @@
   	    if (dlen == nValLen && strncmp (pVal, pData, dlen) == 0)
   		{
   		bEqual = 1 ;
  -		SvREFCNT_inc (pSV) ;
  -		hv_store (pCurrReq -> pInputHash, (char *)pName, nNameLen, newSVsv(pSV), 0) ;
  +		hv_store (pCurrReq -> pInputHash, (char *)pName, nNameLen, newSVsv(pSV), 0) ; 
   		}
   	    }
   
  
  
  
  1.4.2.52  +50 -115   embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.51
  retrieving revision 1.4.2.52
  diff -u -r1.4.2.51 -r1.4.2.52
  --- epcomp.c	2001/05/08 06:29:38	1.4.2.51
  +++ epcomp.c	2001/05/15 14:19:43	1.4.2.52
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epcomp.c,v 1.4.2.51 2001/05/08 06:29:38 richter Exp $
  +#   $Id: epcomp.c,v 1.4.2.52 2001/05/15 14:19:43 richter Exp $
   #
   ###################################################################################*/
   
  @@ -933,7 +933,7 @@
   		    r -> pCodeSV = newSVpv (pCode, nCodeLen) ;
   		    }
   		else
  -		    r -> pCodeSV = &sv_undef ;
  +		    r -> pCodeSV = &sv_undef ; 
   		if ((rc = EvalDirect (r, pSV, 1, args)) != ok)
   		    LogError (r, rc) ;
   		SvREFCNT_dec(pSV);
  @@ -1048,10 +1048,10 @@
   	char buf [80] ;
   
   	pNode -> bFlags |= nflgCheckpoint ;
  -	//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
  -	//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
  +	/* l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ; */
  +	/* l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ; */
   	l = sprintf (buf, " _ep_cp(%d) ;\n", pNode -> xNdx) ;
  -	//l = sprintf (buf, " $_ep_cp=%d;\n", pNode -> xNdx) ;
  +	/* l = sprintf (buf, " $_ep_cp=%d;\n", pNode -> xNdx) ; */
   	nCheckpointCodeOffset = StringAdd (r -> pProg, buf,	l) ;
   	*bCheckpointPending = 0 ;
   
  @@ -1231,8 +1231,8 @@
       if (nNdx <= pInfo -> nMaxEmbperlCmd)
   	{
   	pCmd = pCmdHead = &(pInfo -> pEmbperlCmds[nNdx]) ;
  -	//??if (pCmd -> nNodeType != pNode -> nType)
  -	//	 pCmd = NULL ;
  +	/* ??if (pCmd -> nNodeType != pNode -> nType) */
  +	/*	 pCmd = NULL ; */
   	}
       else
   	pCmd = pCmdHead = NULL ;
  @@ -1241,18 +1241,18 @@
       if (pCmd == NULL || (pCmd -> bRemoveNode & 1) == 0)
           pDomTree -> xLastNode = xNode ;
   
  -    //    if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  -//    if (*bCheckpointPending &&	 pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  +    /*    if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0) */
  +    /*    if (*bCheckpointPending &&	 pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0) */
       if (*bCheckpointPending &&	!(pCmd && pCmd -> nSwitchCodeType == 2) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
   	{
   	int l ;
   	char buf [80] ;
   	
   	pNode -> bFlags |= nflgCheckpoint ;
  -	//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
  -	//l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
  +	/* l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ; */
  +	/* l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ; */
   	l = sprintf (buf, " _ep_cp(%d) ;\n", xNode) ;
  -	//l = sprintf (buf, " $_ep_cp=%d;\n", pNode -> xNdx) ;
  +	/* l = sprintf (buf, " $_ep_cp=%d;\n", pNode -> xNdx) ; */
   	nCheckpointCodeOffset = StringAdd (r -> pProg, buf,  l) ; 
   	*bCheckpointPending = 0 ;
   
  @@ -1367,7 +1367,7 @@
   	int l ;
   	char buf [80] ;
   	
  -	l = sprintf (buf, " _ep_cp(%d) ;\n", -1) ; // xNode) ;
  +	l = sprintf (buf, " _ep_cp(%d) ;\n", -1) ; /* xNode) ; */
   	StringAdd (r -> pProg, buf,  l) ; 
   
   	if (pCurrReq -> bDebug & dbgParse)
  @@ -1483,9 +1483,13 @@
       r -> nPhase  = phCompile ;
   
       if (ppLastResult && *ppLastResult && SvTYPE (*ppLastResult) == SVt_PVCV)
  -        { /* Get already parsed Dom Tree */
  +	{ /* Get already parsed Dom Tree */
           if (ppCompResult != ppLastResult)
  -            AssignSVPtr (ppCompResult,*ppLastResult) ;
  +            {
  +	    AssignSVPtr (ppCompResult,*ppLastResult) ;
  +	    SvREFCNT_inc (*ppCompResult) ; 
  +	    }
  +
           return ok ;
           }
   
  @@ -1530,7 +1534,7 @@
       if (l && pCurrReq -> bDebug & dbgParse)
   	lprintf (r, "[%d]EPCOMP: AfterCompileTimeCode:    %*.*s\n", r -> nPid, l, l, r -> pProgDef) ; 
   
  -    //pSV = newSVpvf("package %s ; \nmy ($_ep_req, $_ep_DomTree) = @_;\n%*.*s", r -> Buf.sEvalPackage, l,l, r -> pProgDef) ;
  +    /* pSV = newSVpvf("package %s ; \nmy ($_ep_req, $_ep_DomTree) = @_;\n%*.*s", r -> Buf.sEvalPackage, l,l, r -> pProgDef) ; */
       pSV = newSVpvf("package %s ; \n%*.*s", r -> Buf.sEvalPackage, l,l, r -> pProgDef) ;
       args[0] = r -> pReqSV ;
       args[1] = pDomTree -> pDomTreeSV ;
  @@ -1576,95 +1580,8 @@
   	    lprintf (r, "Setup source code for interactive debugger\n") ;
   	}    
       
  -    if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, EPMAINSUB)) != ok)
  -	return rc ;
  -
  -#if 0
  -    /*xxx*/lprintf (r, "evalno = %d\n" , PL_evalseq - 1) ;
  -    //if (*ppSV && SvROK (*ppSV))
  -    //if (0)
  -	{ /* copy debugging infos from eval gv to file gv (@/%_<filename) */
  -	AV * pAV ;
  -	HV * pHV ;
  -	char tmp [64] ;
  -	GV * pGVFile = gv_fetchfile (r -> Buf.pFile -> sSourcefile) ;
  -	GV * pGVEval ;
  -	
  -	sprintf (tmp, "(eval %lu)", PL_evalseq) ;
  -	pGVEval = gv_fetchfile (tmp) ;
  -
  -	/*xxx*/lprintf (r, "file = %s %x eval = %s %x\n" , GvNAME(pGVFile), pGVFile, GvNAME(pGVEval), pGVEval) ;
  -	if (pGVFile != pGVEval)
  -	    {
  -	    AV * pDebugArray = GvAV (pGVFile) ;
  -	    AV * pEvalArray =  GvAV (pGVEval) ;
  -	    char * p ;
  -	    char * end ;
  -	    I32 i ;
  -
  -	    for (i = 0; i < AvFILL(pEvalArray); i++)
  -		{
  -		    SV * pLine  ;
  -		    SV * * ppLine  ;
  -		if ((ppLine = av_fetch (pEvalArray, i, 0)) && (pLine = *ppLine))
  -		    {
  -		    /* xxx */ lprintf (r, "Eval pLine %d type = %x, ", i, SvTYPE(pLine)) ;
  -		    /* xxx */ lprintf (r, "int = %d", SvIVX(pLine)) ;
  -		    /* xxx */ lprintf (r, "str = %s\n", SvPVX(pLine)) ;
  -		    }
  -		}
  +    rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, EPMAINSUB) ;
   	    
  -	    for (i = 0; i < AvFILL(pDebugArray); i++)
  -		{
  -		    SV * pLine  ;
  -		    SV * * ppLine  ;
  -		if ((ppLine = av_fetch (pDebugArray, i, 0)) && (pLine = *ppLine))
  -		    {
  -		    /* xxx */ lprintf (r, "Debug pLine %d type = %x, ", i, SvTYPE(pLine)) ;
  -		    /* xxx */ lprintf (r, "int = %d", SvIVX(pLine)) ;
  -		    /* xxx */ lprintf (r, "str = %s\n", SvPVX(pLine)) ;
  -		    }
  -		}
  -	    
  -	    
  -	    p = r -> Buf.pBuf ;
  -	    i = 1 ;
  -	    while (*p)
  -		{
  -		end = strchr (p, '\n') ;
  -		if (end)
  -		    {		
  -		    SV * pLine  ;
  -		    SV * * ppLine  ;
  -		    /* lprintf (r, "i = %d len = %d, str = %s", i, end - p + 1, SvPV (pLine, n)) ; */
  -		    if ((ppLine = av_fetch (pEvalArray, i, 0)) && (pLine = *ppLine))
  -			{
  -			STRLEN len = end - p + 1 ;
  -			/* xxx */ lprintf (r, "pLine type = %x, ", SvTYPE(pLine)) ;
  -			/* xxx */ lprintf (r, "int = %d", SvIVX(pLine)) ;
  -			/* xxx */ lprintf (r, "str = %s\n", SvPVX(pLine)) ;
  -			SvREFCNT_inc (pLine) ;
  -			SvUPGRADE (pLine, SVt_PVMG) ;
  -			SvGROW (pLine, len + 1) ;
  -			Move (p, SvPVX(pLine), len+1, char) ;
  -			*(SvPVX(pLine) + len) = '\0' ;
  -			SvCUR_set (pLine, len) ;
  -			SvPOK_on (pLine) ;
  -			}
  -		    else
  -			pLine = newSVpv (p, end - p + 1) ;
  -
  -		    av_store (pDebugArray, i++, pLine) ;
  -		    p = end + 1 ;
  -		    }
  -		else if (p < r -> Buf.pEndPos)
  -		    {
  -		    av_store (pDebugArray, i++, newSVpv (p, r -> Buf.pEndPos - p + 1)) ;
  -		    break ;
  -		    }
  -		}
  -#endif	    
  -	    
       StringFree (&r -> pProgRun) ;
       StringFree (&r -> pProgDef) ;
   
  @@ -1682,7 +1599,7 @@
   	}
   #endif        
   
  -    return ok ;
  +    return rc ;
       }
   
   /* ------------------------------------------------------------------------ */
  @@ -1715,12 +1632,15 @@
           { /* Get already parsed Dom Tree */
           pDomTree = DomTree_selfSV(*ppLastResult) ;
           if (ppCompResult != ppLastResult)
  -            AssignSVPtr (ppCompResult,*ppLastResult) ;
  +            {
  +	    AssignSVPtr (ppCompResult,*ppLastResult) ;
  +    	    SvREFCNT_inc (*ppCompResult) ; 
  +	    }
           }
       else
           {
  -	//if ((rc = ReadInputFile (r)) != ok)
  -	//	return rc ;
  +	/* if ((rc = ReadInputFile (r)) != ok) */
  +	/*	return rc ; */
           if ((rc = ParseFile (r)) != ok)
   	    {
   	    return rc ;
  @@ -1728,7 +1648,7 @@
       
           pDomTree      = DomTree_self (r -> xCurrDomTree) ;
           AssignSVPtr (ppCompResult,SV_DomTree_self (pDomTree)) ;
  -        SvREFCNT_inc (*ppCompResult) ;
  +	/* SvREFCNT_inc (*ppCompResult) ; */
           /* add timestamp */
   	SvUPGRADE (*ppCompResult, SVt_PVNV) ;
   	SvNVX (*ppCompResult) = time (NULL) ;
  @@ -1848,7 +1768,7 @@
       nOrderNdx         = SvIV (* av_fetch (pSaveAV, 2, 0)) ;
   
       pCallerDomTree = DomTree_self (r -> xCurrDomTree) ;
  -    //xDocFraq = Node_replaceChildWithNode (pSubDomTree, pSubDomTree -> xDocument, pCallerDomTree, r -> xCurrNode) ;
  +    /* xDocFraq = Node_replaceChildWithNode (pSubDomTree, pSubDomTree -> xDocument, pCallerDomTree, r -> xCurrNode) ; */
       r -> xCurrNode = xDocFraq = Node_insertAfter (pSubDomTree, pSubDomTree -> xDocument, pCallerDomTree, r -> xCurrNode) ;
   
       /* Element_selfSetAttribut (pCallerDomTree, Node_self (pCallerDomTree, xDocFraq), NULL, xOrderIndexAttr, NULL, nOrderNdx, 0) ; */
  @@ -1939,6 +1859,10 @@
   		{
   		SV * pSVName = newSVpvf ("%s::_ep_sub_%s", r -> Buf.sEvalPackage, sSubName) ;
   		rc = CallStoredCV (r, r -> pProgRun, (CV *)pSVName, 1, args, 0, &pSV) ;
  +		if (pSVName)
  +		    SvREFCNT_dec (pSVName) ;
  +		if (pSV)
  +		    SvREFCNT_dec (pSV) ;
   		}
   	    else
   		{
  @@ -2023,7 +1947,7 @@
   
       if (nExpiresIn == 0 && !pExpiresCV)
           {
  -        //*pppSV = (SV**)_malloc (r, sizeof (SV *)) ;
  +        /* *pppSV = (SV**)_malloc (r, sizeof (SV *)) ; */
           **pppSV = NULL ;
           if (r -> bDebug & dbgCache)
   	    lprintf (r, "[%d]CACHE: File: '%s'  Processor: '%s'  Step: '%s'  Type: '%c' not cached\n", r -> nPid, r -> Buf.pFile -> sSourcefile, pProcessor -> sName, sStepName, cType) ; 
  @@ -2069,7 +1993,7 @@
           return rcHashError ;
   
       if (*bForceExpire)
  -        { // Expire the entry
  +        { /*  Expire the entry */
           sv_setsv (*ppSV, &sv_undef) ;
           if (r -> bDebug & dbgCache)
               lprintf (r, "[%d]CACHE: Expired because entry depends other expired entry\n", r -> nPid) ; 
  @@ -2079,7 +2003,7 @@
           double nTimestamp = SvNOKp(*ppSV)?SvNVX(*ppSV):0 ;
   
           if (nTimestamp + nExpiresIn <= time (NULL))
  -            { // Expire the entry
  +            { /* Expire the entry */
               sv_setsv (*ppSV, &sv_undef) ;
               *bForceExpire = 1 ;
               if (r -> bDebug & dbgCache)
  @@ -2088,6 +2012,8 @@
   
           }
   
  +        if (*ppSV != NULL)
  +/* ### */    lprintf (r, "[%d]CACHE: SvTYPE (*ppSV) = %d\n", r -> nPid, SvTYPE (*ppSV)) ; 
       if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
           {
           strncpy (r -> errdat1, SvPV(*ppSV, l), sizeof (r -> errdat1) - 1) ; 
  @@ -2124,7 +2050,7 @@
               return rc ;
   
           if (pRet && SvTRUE(pRet))
  -            { // Expire the entry
  +            { /* Expire the entry */
               sv_setsv (*ppSV, &sv_undef) ;
               *bForceExpire = 1 ;
               if (r -> bDebug & dbgCache)
  @@ -2190,14 +2116,21 @@
                       *ppSV = newSVpvf ("%s\t%s", r -> errdat1, r -> errdat2) ;
   		    SvUPGRADE (*ppSV, SVt_PVIV) ;
                       SvIVX (*ppSV) = rc ;
  +/* ### */    lprintf (r, "[%d]temp: SvTYPE (*ppSV) = %d\n", r -> nPid, SvTYPE (*ppSV)) ; 
                       }
  -                if (r -> xCurrDomTree)
  +                /*
  +		if (r -> xCurrDomTree)
   		    {
   		    DomTree_delete(DomTree_self(r -> xCurrDomTree)) ;
   		    r -> xCurrDomTree = 0 ;
   		    }
  +		*/
   		if (pTempSV)
  +		    {
  +/* ### */    lprintf (r, "[%d]temp: SvTYPE (*ppSV) = %d\n", r -> nPid, SvTYPE (pTempSV)) ; 
  +
   		    SvREFCNT_dec (pTempSV) ;
  +		    }
   		return rc ;
   		}
   	    if (pTempSV)
  @@ -2232,8 +2165,10 @@
   		if ((rc = embperl_GetFromCache (r, pProcessor, 'C', "Compiler", -1, NULL, &bForceExpire, &pCVKey, &ppCompResult)) != ok)
   		    return rc ;
   
  +/* ### */    lprintf (r, "[%d]comp1: SvTYPE (*ppSV) = %d\n", r -> nPid, SvTYPE (*ppCompResult)) ; 
   		if ((rc = (*pProcessor -> pCompiler)(r, pProcessor, &pDomTree, ppPreCompResult, ppCompResult)) != ok)
   		    return rc ;
  +/* ### */    lprintf (r, "[%d]comp2: SvTYPE (*ppSV) = %d\n", r -> nPid, SvTYPE (*ppCompResult)) ; 
   		}
   	    
               if (!r -> bError && pProcessor -> pExecuter)
  
  
  
  1.4.2.38  +63 -63    embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.37
  retrieving revision 1.4.2.38
  diff -u -r1.4.2.37 -r1.4.2.38
  --- epdom.c	2001/05/11 07:13:48	1.4.2.37
  +++ epdom.c	2001/05/15 14:19:47	1.4.2.38
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.c,v 1.4.2.37 2001/05/11 07:13:48 richter Exp $
  +#   $Id: epdom.c,v 1.4.2.38 2001/05/15 14:19:47 richter Exp $
   #
   ###################################################################################*/
   
  @@ -19,21 +19,19 @@
   
   HV * pStringTableHash ;	    /* Hash to translate strings to index number */
   HE * * pStringTableArray  ;   /* Array with pointers to strings */
  -tStringIndex  * pFreeStringsNdx  ;   /* List of freed string indexes */
  +static tStringIndex  * pFreeStringsNdx  ;   /* List of freed string indexes */
   
   
   tDomTree * pDomTrees ;
  -tIndex *   pFreeDomTrees ;
  +static tIndex *   pFreeDomTrees ;
   
  -int nInitialNodePadSize = 196 ;
  +static int nMemUsage = 0 ;
  +static int numNodes  = 0 ;
  +static int numAttr   = 0 ;
  +static int numStr    = 0 ;
  +static int numPads   = 0 ;
  +static int numReplace   = 0 ;
   
  -int nMemUsage = 0 ;
  -int numNodes  = 0 ;
  -int numAttr   = 0 ;
  -int numStr    = 0 ;
  -int numPads   = 0 ;
  -int numReplace   = 0 ;
  -
   tIndex xNoName  = 0 ;
   tIndex xDomTreeAttr = 0 ;
   tIndex xDocument ;
  @@ -45,9 +43,9 @@
   tIndex xCheckpointCache[512] ;
   
   
  -tUInt8 * MemFree[256] ;
  -tUInt8 * pMemLast = NULL ;
  -tUInt8 * pMemEnd = NULL ;
  +static tUInt8 * MemFree[256] ;
  +static tUInt8 * pMemLast = NULL ;
  +static tUInt8 * pMemEnd = NULL ;
   
   struct tPad
       {
  @@ -186,7 +184,6 @@
       return m ;
       }
   
  -//#define dom_free(s)    (free(s))
   
   void str_free (void * s)
       {
  @@ -581,27 +578,30 @@
   
       {
       HE *    pHE = pStringTableArray[nNdx] ;
  -    SV *    pSVNdx = HeVAL (pHE) ;
  -    
  -    SvREFCNT_dec (pSVNdx) ;
  -
  -    /*
  -    if (nNdx < 6 || nNdx == 92)
  -    	lprintf (pCurrReq, "free string %s (#%d) refcnt=%d\n", Ndx2String (nNdx), nNdx, SvREFCNT(pSVNdx)) ;
  -    */
  -
  -    if (SvREFCNT(pSVNdx) == 1)
  -	{
  -	int n ;
  +    if (pHE)
  +    	{
  +        SV *    pSVNdx = HeVAL (pHE) ;
  +    
  +        SvREFCNT_dec (pSVNdx) ;
  +
  +        /*
  +        if (nNdx < 6 || nNdx == 92)
  +    	   lprintf (pCurrReq, "free string %s (#%d) refcnt=%d\n", Ndx2String (nNdx), nNdx, SvREFCNT(pSVNdx)) ;
  +        */
  +
  +        if (SvREFCNT(pSVNdx) == 1)
  +	   {
  +	   int n ;
   	
  -	/* lprintf (pCurrReq, "delete string %s (#%d)\n", Ndx2String (nNdx), nNdx) ; */
  -	hv_delete (pStringTableHash, HeKEY (pHE), HeKLEN(pHE), 0) ;
  -	pStringTableArray[nNdx] = NULL ;
  -	n = ArrayAdd (&pFreeStringsNdx, 1) ;
  -	pFreeStringsNdx[n] = nNdx ;
  -
  -	numStr-- ;
  -	}
  +	   /* lprintf (pCurrReq, "delete string %s (#%d)\n", Ndx2String (nNdx), nNdx) ; */
  +	   hv_delete (pStringTableHash, HeKEY (pHE), HeKLEN(pHE), 0) ;
  +	   pStringTableArray[nNdx] = NULL ;
  +	   n = ArrayAdd (&pFreeStringsNdx, 1) ;
  +	   pFreeStringsNdx[n] = nNdx ;
  +
  +	   numStr-- ;
  +	   }
  +	}	   
       }
   
   
  @@ -787,7 +787,7 @@
   
   	    while (n--)
   		{
  -		//pDomTree -> pLookup[pAttr -> xNdx] = NULL ;
  +		/* pDomTree -> pLookup[pAttr -> xNdx] = NULL ; */
   		if (pAttr -> bFlags)
   		    {
   		    if (pAttr -> xName)
  @@ -798,7 +798,7 @@
   		pAttr++ ;
   		}
   	    /* lprintf (pCurrReq, "delete typ=%d  Node xNdx=%d\n", pNode -> nType, pNode -> xNdx) ; */
  -	    //pDomTree -> pLookup[pNode -> xNdx] = NULL ;
  +	    /* pDomTree -> pLookup[pNode -> xNdx] = NULL ; */
   	    if (pNode -> nText)
   		NdxStringFree (pNode -> nText) ;
   	    
  @@ -1034,7 +1034,7 @@
   /* ------------------------------------------------------------------------ 
   
   interface Node {
  -  // NodeType
  +  #  NodeType 
     const unsigned short      ELEMENT_NODE                   = 1;
     const unsigned short      ATTRIBUTE_NODE                 = 2;
     const unsigned short      TEXT_NODE                      = 3;
  @@ -1050,8 +1050,8 @@
   
     readonly attribute DOMString        nodeName;
              attribute DOMString        nodeValue;
  -                                        // raises(DOMException) on setting
  -                                        // raises(DOMException) on retrieval
  +                                        # raises(DOMException) on setting 
  +                                        # raises(DOMException) on retrieval
   
     readonly attribute unsigned short   nodeType;
     readonly attribute Node             parentNode;
  @@ -1061,7 +1061,7 @@
     readonly attribute Node             previousSibling;
     readonly attribute Node             nextSibling;
     readonly attribute NamedNodeMap     attributes;
  -  // Modified in DOM Level 2:
  +  # Modified in DOM Level 2:
     readonly attribute Document         ownerDocument;
     Node               insertBefore(in Node newChild, 
                                     in Node refChild)
  @@ -1075,18 +1075,18 @@
                                           raises(DOMException);
     boolean            hasChildNodes();
     Node               cloneNode(in boolean deep);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     void               normalize();
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     boolean            supports(in DOMString feature, 
                                 in DOMString version);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     readonly attribute DOMString        namespaceURI;
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
              attribute DOMString        prefix;
  -                                        // raises(DOMException) on setting
  +                                        # raises(DOMException) on setting 
   
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     readonly attribute DOMString        localName;
   };
   
  @@ -1821,8 +1821,8 @@
       tNodeData * pNew = Node_newAndAppend (pRefNodeDomTree, pRefNode -> xParent, NULL, pRefNode -> nLinenumber, sizeof (tNodeData)) ;        
   
       pNew -> xChilds = 0 ;
  -    pNew -> bFlags  = 0 ; //nflgModified | nflgReturn ;
  -    
  +    pNew -> bFlags  = 0 ; 
  +        
       if (nEscMode != -1)
   	{
   	pNew -> nType  = (nEscMode & 3)?ntypText:ntypCDATA ;
  @@ -1841,7 +1841,7 @@
       else
           pNxtNode = Node_self (pRefNodeDomTree, pRefNode -> xNext) ; /* first one */
   
  -    //if ((pNxtNode -> bFlags & nflgModified) == 0)
  +    /* if ((pNxtNode -> bFlags & nflgModified) == 0) */
   	{
   	pNxtNode -> xPrev = pNew -> xNdx ;
   	pRefNode -> xNext = pNew -> xNdx ;
  @@ -1849,7 +1849,7 @@
   	pNew -> xNext = pNxtNode -> xNdx ;
   	}
   
  -    //DomTree_selfCheckpoint (pRefNodeDomTree, xRefNode, pNew -> xNdx) ;
  +    /* DomTree_selfCheckpoint (pRefNodeDomTree, xRefNode, pNew -> xNdx) ; */
   
       return pNew -> xNdx ;
       }
  @@ -2265,7 +2265,7 @@
   		if (pCurrReq -> bDebug & dbgParse)
   		    {
   		    lprintf (r, "[%d]toString: Failed to Replace Node=%d DomTree=%d (initial OrderIndex %d, max = %d)\n", r -> nPid, pNode -> xNdx, pDomTree -> xNdx, nOrderNdx, n-1) ; 
  -		    //for (i = nOrderNdx; i < n; i++)
  +		    /* for (i = nOrderNdx; i < n; i++) */
   		    for (i = 0; i < 5; i++)
   			lprintf (r, "[%d]toString:     %d = %d -> %d\n", r -> nPid, i, pOrder[i].xFromNode, pOrder[i].xToNode) ; 
   		    }
  @@ -2284,7 +2284,7 @@
   	else if (pNode -> nType == ntypDocumentFraq)
   	    {
   	    Node_toString (pDomTree, r, pNode -> xNdx) ; 
  -	    //oputs (r, "\r\n") ;
  +	    /* oputs (r, "\r\n") ;*/
   	    }
           else if (pNode -> nType == ntypTag || pNode -> nType == ntypStartTag)
   	    {
  @@ -2539,30 +2539,30 @@
     Attr               removeAttributeNode(in Attr oldAttr)
                                           raises(DOMException);
     NodeList           getElementsByTagName(in DOMString name);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     DOMString          getAttributeNS(in DOMString namespaceURI, 
                                       in DOMString localName);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     void               setAttributeNS(in DOMString namespaceURI, 
                                       in DOMString qualifiedName, 
                                       in DOMString value)
                                           raises(DOMException);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     void               removeAttributeNS(in DOMString namespaceURI, 
                                          in DOMString localName)
                                           raises(DOMException);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     Attr               getAttributeNodeNS(in DOMString namespaceURI, 
                                           in DOMString localName);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     Attr               setAttributeNodeNS(in Attr newAttr)
                                           raises(DOMException);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     NodeList           getElementsByTagNameNS(in DOMString namespaceURI, 
                                               in DOMString localName);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     boolean            hasAttribute(in DOMString name);
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     boolean            hasAttributeNS(in DOMString namespaceURI, 
                                       in DOMString localName);
   };
  @@ -2784,9 +2784,9 @@
     readonly attribute DOMString        name;
     readonly attribute boolean          specified;
              attribute DOMString        value;
  -                                        // raises(DOMException) on setting
  +                                        # raises(DOMException) on setting 
   
  -  // Introduced in DOM Level 2:
  +  # Introduced in DOM Level 2: 
     readonly attribute Element          ownerElement;
   };
   
  
  
  
  1.4.2.18  +2 -2      embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.4.2.17
  retrieving revision 1.4.2.18
  diff -u -r1.4.2.17 -r1.4.2.18
  --- epdom.h	2001/05/04 14:04:22	1.4.2.17
  +++ epdom.h	2001/05/15 14:19:51	1.4.2.18
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.h,v 1.4.2.17 2001/05/04 14:04:22 richter Exp $
  +#   $Id: epdom.h,v 1.4.2.18 2001/05/15 14:19:51 richter Exp $
   #
   ###################################################################################*/
   
  @@ -88,7 +88,7 @@
   /* ------------------------------------------------------------------------ 
   
   interface Node {
  -  // NodeType
  +  # NodeType 
     const unsigned short      ELEMENT_NODE                   = 1;
     const unsigned short      ATTRIBUTE_NODE                 = 2;
     const unsigned short      TEXT_NODE                      = 3;
  
  
  
  1.23.4.9  +2 -1      embperl/epeval.c
  
  Index: epeval.c
  ===================================================================
  RCS file: /home/cvs/embperl/epeval.c,v
  retrieving revision 1.23.4.8
  retrieving revision 1.23.4.9
  diff -u -r1.23.4.8 -r1.23.4.9
  --- epeval.c	2001/03/27 11:52:07	1.23.4.8
  +++ epeval.c	2001/05/15 14:19:56	1.23.4.9
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epeval.c,v 1.23.4.8 2001/03/27 11:52:07 richter Exp $
  +#   $Id: epeval.c,v 1.23.4.9 2001/05/15 14:19:56 richter Exp $
   #
   ###################################################################################*/
   
  @@ -696,6 +696,7 @@
                       /*in*/  int           flags,
                       /*out*/ SV **         pRet)             
       {
  +    dTHXsem
       int   num ;         
       SV *  pSVErr ;
   
  
  
  
  1.75.4.35 +6 -1      embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.75.4.34
  retrieving revision 1.75.4.35
  diff -u -r1.75.4.34 -r1.75.4.35
  --- epmain.c	2001/05/11 07:13:51	1.75.4.34
  +++ epmain.c	2001/05/15 14:20:00	1.75.4.35
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epmain.c,v 1.75.4.34 2001/05/11 07:13:51 richter Exp $
  +#   $Id: epmain.c,v 1.75.4.35 2001/05/15 14:20:00 richter Exp $
   #
   ###################################################################################*/
   
  @@ -1891,6 +1891,11 @@
   		{
   		SvREFCNT_dec (f -> pExportHash) ;
   		f -> pExportHash = NULL ;
  +		}
  +	    if (f -> pBufSV)
  +		{
  +		SvREFCNT_dec (f -> pBufSV) ;
  +		f -> pBufSV = NULL ;
   		}
   	    }
           pNew = "Found" ;
  
  
  
  1.19.4.8  +80 -1     embperl/epnames.h
  
  Index: epnames.h
  ===================================================================
  RCS file: /home/cvs/embperl/epnames.h,v
  retrieving revision 1.19.4.7
  retrieving revision 1.19.4.8
  diff -u -r1.19.4.7 -r1.19.4.8
  --- epnames.h	2001/05/11 07:13:52	1.19.4.7
  +++ epnames.h	2001/05/15 14:20:04	1.19.4.8
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epnames.h,v 1.19.4.7 2001/05/11 07:13:52 richter Exp $
  +#   $Id: epnames.h,v 1.19.4.8 2001/05/15 14:20:04 richter Exp $
   #
   ###################################################################################*/
   
  @@ -117,6 +117,85 @@
   #define InitialReq             EMBPERL_InitialReq
   #define pCurrReq               EMBPERL_pCurrReq
   
  +#define ArrayAdd		    EMBPERL_ArrayAdd		   
  +#define ArrayClone		    EMBPERL_ArrayClone		   
  +#define ArrayFree		    EMBPERL_ArrayFree		   
  +#define ArrayGetSize		    EMBPERL_ArrayGetSize		   
  +#define ArrayNew		    EMBPERL_ArrayNew		   
  +#define ArraySet		    EMBPERL_ArraySet		   
  +#define ArraySetSize		    EMBPERL_ArraySetSize		   
  +#define ArraySub		    EMBPERL_ArraySub		   
  +#define Attr_selfValue		    EMBPERL_Attr_selfValue		   
  +#define BuildTokenTable		    EMBPERL_BuildTokenTable		   
  +#define CallStoredCV		    EMBPERL_CallStoredCV		   
  +#define DefaultTokenTable	    EMBPERL_DefaultTokenTable	   
  +#define DomInit			    EMBPERL_DomInit			   
  +#define DomStats		    EMBPERL_DomStats		   
  +#define DomTree_alloc		    EMBPERL_DomTree_alloc		   
  +#define DomTree_checkpoint	    EMBPERL_DomTree_checkpoint	   
  +#define DomTree_clone		    EMBPERL_DomTree_clone		   
  +#define DomTree_delete		    EMBPERL_DomTree_delete		   
  +#define DomTree_discardAfterCheckpoint   EMBPERL_DomTree_discardAfterCheckpoint
  +#define DomTree_mvtTab		    EMBPERL_DomTree_mvtTab		   
  +#define DomTree_new		    EMBPERL_DomTree_new		   
  +#define DomTree_selfCheckpoint	    EMBPERL_DomTree_selfCheckpoint	   
  +#define DomTree_selfDiscardAfterCheckpoint   EMBPERL_DomTree_selfDiscardAfterCheckpoint  
  +#define Element_selfGetAttribut     EMBPERL_Element_selfGetAttribut    
  +#define Element_selfGetNthAttribut  EMBPERL_Element_selfGetNthAttribut 
  +#define Element_selfRemoveAttribut  EMBPERL_Element_selfRemoveAttribut 
  +#define Element_selfSetAttribut     EMBPERL_Element_selfSetAttribut    
  +#define EvalStore		    EMBPERL_EvalStore		   
  +#define NdxStringFree		    EMBPERL_NdxStringFree		   
  +#define NodeList_toString	    EMBPERL_NodeList_toString	   
  +#define Node_appendChild	    EMBPERL_Node_appendChild	   
  +#define Node_childsText		    EMBPERL_Node_childsText		   
  +#define Node_cloneNode		    EMBPERL_Node_cloneNode		   
  +#define Node_insertAfter	    EMBPERL_Node_insertAfter	   
  +#define Node_insertAfter_CDATA      EMBPERL_Node_insertAfter_CDATA     
  +#define Node_newAndAppend	    EMBPERL_Node_newAndAppend	   
  +#define Node_nextSibling	    EMBPERL_Node_nextSibling	   
  +#define Node_previousSibling	    EMBPERL_Node_previousSibling	   
  +#define Node_removeChild	    EMBPERL_Node_removeChild	   
  +#define Node_replaceChildWithCDATA  EMBPERL_Node_replaceChildWithCDATA 
  +#define Node_replaceChildWithNode   EMBPERL_Node_replaceChildWithNode  
  +#define Node_replaceChildWithUrlDATA    EMBPERL_Node_replaceChildWithUrlDATA
  +#define Node_selfCloneNode	    EMBPERL_Node_selfCloneNode	   
  +#define Node_selfCondCloneNode      EMBPERL_Node_selfCondCloneNode     
  +#define Node_selfExpand		    EMBPERL_Node_selfExpand		   
  +#define Node_selfLastChild	    EMBPERL_Node_selfLastChild	   
  +#define Node_selfNextSibling	    EMBPERL_Node_selfNextSibling	   
  +#define Node_selfNthChild	    EMBPERL_Node_selfNthChild	   
  +#define Node_selfPreviousSibling    EMBPERL_Node_selfPreviousSibling   
  +#define Node_selfRemoveChild	    EMBPERL_Node_selfRemoveChild	   
  +#define Node_toString		    EMBPERL_Node_toString		   
  +#define Node_toString2		    EMBPERL_Node_toString2		   
  +#define ParseFile		    EMBPERL_ParseFile
  +#define String2NdxInc		    EMBPERL_String2NdxInc		   
  +#define StringAdd		    EMBPERL_StringAdd		   
  +#define StringFree		    EMBPERL_StringFree		   
  +#define StringNew		    EMBPERL_StringNew		   
  +#define dom_free		    EMBPERL_dom_free		   
  +#define dom_malloc		    EMBPERL_dom_malloc		   
  +#define dom_realloc		    EMBPERL_dom_realloc		   
  +#define mydie			    EMBPERL_mydie			   
  +#define nCheckpointCache	    EMBPERL_nCheckpointCache	   
  +#define nCheckpointCacheMask	    EMBPERL_nCheckpointCacheMask	   
  +#define nInitialNodePadSize	    EMBPERL_nInitialNodePadSize	   
  +#define pDomTrees		    EMBPERL_pDomTrees		   
  +#define pFreeDomTrees		    EMBPERL_pFreeDomTrees		   
  +#define pStringTableArray	    EMBPERL_pStringTableArray	   
  +#define pStringTableHash	    EMBPERL_pStringTableHash	   
  +#define str_free		    EMBPERL_str_free		   
  +#define str_malloc		    EMBPERL_str_malloc		   
  +#define str_realloc		    EMBPERL_str_realloc		   
  +#define xCheckpointCache	    EMBPERL_xCheckpointCache	   
  +#define xDocument		    EMBPERL_xDocument		   
  +#define xDocumentFraq		    EMBPERL_xDocumentFraq		   
  +#define xDomTreeAttr		    EMBPERL_xDomTreeAttr		   
  +#define xNoName			    EMBPERL_xNoName			   
  +#define xOrderIndexAttr		    EMBPERL_xOrderIndexAttr		   
  + 
  + 
   #ifndef PERL_VERSION
   #include <patchlevel.h>
   #define PERL_VERSION PATCHLEVEL
  
  
  
  1.4.2.26  +15 -11    embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.4.2.25
  retrieving revision 1.4.2.26
  diff -u -r1.4.2.25 -r1.4.2.26
  --- epparse.c	2001/05/08 12:55:44	1.4.2.25
  +++ epparse.c	2001/05/15 14:20:07	1.4.2.26
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epparse.c,v 1.4.2.25 2001/05/08 12:55:44 richter Exp $
  +#   $Id: epparse.c,v 1.4.2.26 2001/05/15 14:20:07 richter Exp $
   #
   ###################################################################################*/
   
  @@ -592,7 +592,7 @@
   			if (pToken -> nTextLen == 0)
   			    continue ;
   			r = strnicmp (pCurr, pToken -> sText, pToken -> nTextLen)  ;
  -			//if ((r == 0 && !(pAllChars [pCurr[pToken -> nTextLen] >> 3] & (1 << (pCurr[pToken -> nTextLen] & 7)))) ||
  +			/* if ((r == 0 && !(pAllChars [pCurr[pToken -> nTextLen] >> 3] & (1 << (pCurr[pToken -> nTextLen] & 7)))) || */
   			if (r == 0  ||
   			        *pCurr > *(pToken -> sText))
   			    break ;
  @@ -614,7 +614,7 @@
   		    if (!pToken)
   		    	{
   		    	pCurr = c.pStart ;
  -		    //	bFollow = 0 ;
  +		    /*	bFollow = 0 ; */
   		    	}
   		    }
   
  @@ -630,12 +630,14 @@
                   else
   		    {
   		    pToken = pNextTokenTab -> pContainsToken ;
  -		    //if (pToken = pNextTokenTab -> pContainsToken)
  -		    //	{
  -		    //	unsigned char * pContains ;
  -		    //	if (!(pToken -> pInside) && (!(pContains = pToken -> pContains) || !(pContains [*pCurr >> 3] & (1 << (*pCurr & 7)))))
  -	    	    //	    pToken = NULL ;
  -		    //	}		    
  +		    /*
  +		    if (pToken = pNextTokenTab -> pContainsToken)
  +		    	{
  +		    	unsigned char * pContains ;
  +		    	if (!(pToken -> pInside) && (!(pContains = pToken -> pContains) || !(pContains [*pCurr >> 3] & (1 << (*pCurr & 7)))))
  +	    	    	    pToken = NULL ;
  +		    	}
  +		    */		    
       		    if (pToken && pToken -> sNodeName)
   			pNodeName = pToken -> sNodeName ;
   		    
  @@ -760,11 +762,13 @@
   			    while (pContains [*pEndCurr >> 3] & (1 << (*pEndCurr & 7)))
                                   pEndCurr++ ;
   			    nSkip = 0 ;
  +			    /*
   			    if (pEndCurr == pCurr)
   				{
  -				//pEndCurr = NULL ;
  -				//pToken   = NULL ;
  +				pEndCurr = NULL ;
  +				pToken   = NULL ;
   				}
  +			    */	
   			    }
   			else
   			    {
  
  
  
  1.15.4.10 +3 -2      embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.15.4.9
  retrieving revision 1.15.4.10
  diff -u -r1.15.4.9 -r1.15.4.10
  --- eputil.c	2001/05/11 07:13:53	1.15.4.9
  +++ eputil.c	2001/05/15 14:20:09	1.15.4.10
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: eputil.c,v 1.15.4.9 2001/05/11 07:13:53 richter Exp $
  +#   $Id: eputil.c,v 1.15.4.10 2001/05/15 14:20:09 richter Exp $
   #
   ###################################################################################*/
   
  @@ -883,10 +883,11 @@
   		  /*in*/  const char *    sPackage) 
   
       {
  +    dTHXsem 
       SV *	val;
       char *	key;
       I32		klen;
  -    int		bDebug = 1 ;
  +    int		bDebug = 0 ;
       SV *	sv;
       HV *	hv;
       AV *	av;
  
  
  
  1.70.4.58 +5 -20     embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.57
  retrieving revision 1.70.4.58
  diff -u -r1.70.4.57 -r1.70.4.58
  --- test.pl	2001/05/11 07:13:54	1.70.4.57
  +++ test.pl	2001/05/15 14:20:12	1.70.4.58
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.70.4.57 2001/05/11 07:13:54 richter Exp $
  +#   $Id: test.pl,v 1.70.4.58 2001/05/15 14:20:12 richter Exp $
   #
   ###################################################################################
   
  @@ -104,6 +104,7 @@
           'errors'     => 6,
           'version'    => 2,
           'cgi'        => 0,
  +        'noloop'     => 1,
           },
       'rawinput/rawinput.htm' => { 
           'option'     => '16',
  @@ -218,7 +219,7 @@
       'upload.htm' => { 
           'query_info' => 'multval=A&multval=B&multval=C&single=S',
           'offline'    => 0,
  -#        'noloop'     => 1,
  +        'noloop'     => 1,
           'reqbody'    => "Hi there!",
           },
       'reqrec.htm' => {
  @@ -498,72 +499,56 @@
           },
       'EmbperlObject/epopage1.htm' => {
           'offline'    => 0,
  -        'cgi'        => 0,
           'repeat'     => 2,
           },
       'EmbperlObject/epoincdiv.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/epodiv.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/epopage2.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/epopage2.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/subsub/eposubsub.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/subsub/subsubsub/eposubsub.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           'cmpext'     => '3',      
           },
       'EmbperlObject/sub/subsub/subsubsub/eposubsub2.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/eponotfound.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/sub/epobless.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           'repeat'     => 2,
           },
       'EmbperlObject/sub/epobless2.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           'repeat'     => 2,
           },
       'EmbperlObject/sub/epobless3.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           'repeat'     => 2,
           },
       'EmbperlObject/obj/epoobj1.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/obj/epoobj2.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/obj/epoobj3.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           },
       'EmbperlObject/obj/epoobj4.htm' => { 
           'offline'    => 0,
  -        'cgi'        => 0,
           'version'    => 1,
           },
       'EmbperlObject/base2/epostopdir.htm' => { 
  @@ -639,7 +624,7 @@
   
   use vars qw ($httpconfsrc $httpconf $EPPORT $EPPORT2 *SAVEERR *ERR $EPHTTPDDLL $EPSTARTUP $EPDEBUG
                $testshare
  -            $EPSESSIONDS $EPSESSIONCLASS $EPSESSIONVERSION $EP1COMPAT
  +            $EPSESSIONDS $EPSESSIONCLASS $EPSESSIONVERSION $EP1COMPAT $EPAPACHEVERSION
               $opt_offline $opt_ep1 $opt_cgi $opt_modperl $opt_execute $opt_nokill $opt_loop
               $opt_multchild $opt_memcheck $opt_exitonmem $opt_exitonsv $opt_config $opt_nostart $opt_uniquefn
               $opt_quite $opt_qq $opt_ignoreerror $opt_tests $opt_blib $opt_help $opt_dbgbreak $opt_finderr
  @@ -1203,7 +1188,7 @@
   		$max_sv = $num_sv ;
   		
   		}
  -	    die "\n\nMemory problem (SVs)" if ($opt_exitonsv && $loopcnt > 2 &&
  +	    die "\n\nMemory problem (SVs)" if ($opt_exitonsv && $loopcnt > 3 &&
   					       $testnum == $startnumber && 
                                                  $last_sv[$n] < $num_sv && 
                                                  $last_sv[$n] != 0 && 
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.11  +4 -3      embperl/Embperl/Syntax/Attic/SSI.pm
  
  Index: SSI.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/SSI.pm,v
  retrieving revision 1.1.2.10
  retrieving revision 1.1.2.11
  diff -u -r1.1.2.10 -r1.1.2.11
  --- SSI.pm	2001/03/28 19:15:33	1.1.2.10
  +++ SSI.pm	2001/05/15 14:21:05	1.1.2.11
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: SSI.pm,v 1.1.2.10 2001/03/28 19:15:33 richter Exp $
  +#   $Id: SSI.pm,v 1.1.2.11 2001/05/15 14:21:05 richter Exp $
   #
   ###################################################################################
    
  @@ -18,12 +18,13 @@
   
   use HTML::Embperl::Syntax qw{:types} ;
   use HTML::Embperl::Syntax::HTML ;
  -use Apache::Constants qw(:common OPT_INCNOEXEC);
   use File::Basename;
   
   BEGIN { 
       local $^W = 0 ;
       require POSIX ;
  +
  +    eval "use Apache::Constants qw(:common OPT_INCNOEXEC);" ;
       } ;
   
   use strict ;
  @@ -362,7 +363,7 @@
       my $filename = $r->filename;
   
       
  -    die ("httpd: exec used but not allowed in $filename") if ($r->allow_options & OPT_INCNOEXEC) ;
  +    die ("httpd: exec used but not allowed in $filename") if ($r->allow_options & &OPT_INCNOEXEC) ;
       
       return scalar `$cmd` if ($cmd) ;
       
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.24.4.15 +9 -4      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.14
  retrieving revision 1.24.4.15
  diff -u -r1.24.4.14 -r1.24.4.15
  --- httpd.conf.src	2001/05/11 07:14:39	1.24.4.14
  +++ httpd.conf.src	2001/05/15 14:21:13	1.24.4.15
  @@ -294,6 +294,15 @@
   Action text/html /cgi/embpcgi.test.pl
   Options ExecCGI
   </Location>
  +
  +SetEnv EMBPERL_OBJECT_BASE epobase.htm
  +SetEnv EMBPERL_OBJECT_FALLBACK epofallback.htm
  +
  +<Location /cgi-bin/EmbperlObject>
  +Action text/html /cgi/epocgi.test.pl
  +Options ExecCGI
  +</Location>
  +
   
   <Location /cgi-bin-32>
   Action text/html /cgi/embpcgi.test.bat
  @@ -367,10 +376,6 @@
   PerlSetEnv EMBPERL_SYNTAX "Embperl SSI"
   </Location>
   
  -<Location /embperl/rtf/>
  -PerlSetEnv EMBPERL_SYNTAX RTF
  -</Location>
  -
   <Location /eg>
   SetHandler perl-script
   PerlHandler HTML::Embperl
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.7   +1 -1      embperl/test/html/rawinput/Attic/include.htm
  
  Index: include.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/rawinput/Attic/include.htm,v
  retrieving revision 1.1.4.6
  retrieving revision 1.1.4.7
  diff -u -r1.1.4.6 -r1.1.4.7
  --- include.htm	2001/05/02 11:54:57	1.1.4.6
  +++ include.htm	2001/05/15 14:21:23	1.1.4.7
  @@ -55,7 +55,6 @@
   						 'package'  => 'MyPackage::Interface',
   						 req_rec    => $req_rec}) ;
   -]
  -
   <H1> 5.) Use \@param to pass parameters</H1>
   
   
  @@ -65,6 +64,7 @@
   						 param      => [1, 2, 3, 4] }
   						 ) ;
   -]
  +
   
   <H1> 6.) Use \@param to pass parameters and return it</H1>
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.2.6.2   +2 -1      embperl/test/html/registry/tied.htm
  
  Index: tied.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/registry/tied.htm,v
  retrieving revision 1.2.6.1
  retrieving revision 1.2.6.2
  diff -u -r1.2.6.1 -r1.2.6.2
  --- tied.htm	2000/12/04 13:38:19	1.2.6.1
  +++ tied.htm	2001/05/15 14:21:34	1.2.6.2
  @@ -73,7 +73,6 @@
   						 mtime      => 1}) ;
   
   
  -
   print "rc = $rc\n" ;
   
   tie $tiedvar1, 'HTML::Embperl::Test::Tie', $tst1 ;
  @@ -87,6 +86,8 @@
   
   
   print "rc = $rc\n" ;
  +
  +
   
   print "<HTML><TITLE>Test for HTML::Embperl::Execute</TITLE><BODY>\n" ;
   print "<H1> 6.) Include from memory: tied string</H1>\n" ;
  
  
  

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