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/03/07 09:18:32 UTC

cvs commit: embperl/test/html input.htm

richter     01/03/07 00:18:32

  Modified:    .        Tag: Embperl2c Embperl.pm Syntax.xs ep2.h epcomp.c
                        epdat.h epparse.c eputil.c typemap
               Embperl  Tag: Embperl2c Syntax.pm
               Embperl/Syntax Tag: Embperl2c EmbperlBlocks.pm HTML.pm
               eg/images Tag: Embperl2c jazzbkgd.gif
               test/html Tag: Embperl2c input.htm
  Log:
  Embperl 2 - multiple syntaxes
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.118.4.24 +3 -3      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.118.4.23
  retrieving revision 1.118.4.24
  diff -u -r1.118.4.23 -r1.118.4.24
  --- Embperl.pm	2001/03/07 04:54:41	1.118.4.23
  +++ Embperl.pm	2001/03/07 08:18:25	1.118.4.24
  @@ -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.23 2001/03/07 04:54:41 richter Exp $
  +#   $Id: Embperl.pm,v 1.118.4.24 2001/03/07 08:18:25 richter Exp $
   #
   ###################################################################################
   
  @@ -1984,7 +1984,7 @@
           foreach $err (@$errors)
               {
               $self -> output ("<A HREF=\"$virtlog?$logfilepos&$$#E$cnt\">") ; #<tt>") ;
  -            $HTML::Embperl::escmode = 3 ;
  +            $HTML::Embperl::escmode = 7 ;
               $err =~ s|\n|\n\\<br\\>\\&nbsp;\\&nbsp;\\&nbsp;\\&nbsp;|g;
               $err =~ s|(Line [0-9]*:)|$1\\</a\\>|;
               $self -> output ($err) ;
  @@ -1996,7 +1996,7 @@
           }
       else
           {
  -        $HTML::Embperl::escmode = 3 ;
  +        $HTML::Embperl::escmode = 7 ;
           foreach $err (@$errors)
               {
               $err =~ s|\n|\n\\<br\\>\\&nbsp;\\&nbsp;\\&nbsp;\\&nbsp;|g;
  
  
  
  1.1.2.3   +4 -4      embperl/Attic/Syntax.xs
  
  Index: Syntax.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/Syntax.xs,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- Syntax.xs	2001/03/07 04:54:42	1.1.2.2
  +++ Syntax.xs	2001/03/07 08:18:25	1.1.2.3
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Syntax.xs,v 1.1.2.2 2001/03/07 04:54:42 richter Exp $
  +#   $Id: Syntax.xs,v 1.1.2.3 2001/03/07 08:18:25 richter Exp $
   #
   ###################################################################################
   
  @@ -28,7 +28,7 @@
       HV *          pHV ;
       SV **         ppSV ;
   	
  -    if (!SvROK (pSyntaxObj) || SvTYPE(pHV = (HV *)SvRV(pSyntaxObj)) == SVt_PVHV || (mg = mg_find ((SV *)pHV, '~')))
  +    if (!SvROK (pSyntaxObj) || SvTYPE(pHV = (HV *)SvRV(pSyntaxObj)) != SVt_PVHV || (mg = mg_find ((SV *)pHV, '~')))
   	{        
   	/* tTokenTable * pTab = *((tTokenTable **)(mg -> mg_ptr)) ; */
   	croak ("Internal Error: pSyntaxObj has already a TokenTable") ;
  @@ -40,8 +40,8 @@
       sv_magic ((SV *)pHV, NULL, '~', (char *)&pTab, sizeof (pTab)) ;
   
       ppSV = hv_fetch (pHV, "-root", 5, 0) ;
  -    if (ppSV == NULL || *ppSV == NULL)
  +    if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
   	croak ("Internal Error: pSyntaxObj has no -root") ;
       else	
  -    	BuildTokenTable (pCurrReq, (HV *)*ppSV, "", pTab) ;
  +    	BuildTokenTable (pCurrReq, (HV *)(SvRV(*ppSV)), "", NULL, pTab) ;
   	
  
  
  
  1.1.2.9   +1 -0      embperl/Attic/ep2.h
  
  Index: ep2.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/ep2.h,v
  retrieving revision 1.1.2.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- ep2.h	2001/02/25 22:04:42	1.1.2.8
  +++ ep2.h	2001/03/07 08:18:26	1.1.2.9
  @@ -51,6 +51,7 @@
   int BuildTokenTable (/*i/o*/ register req *	  r,
                        /*in*/  HV *		  pTokenHash,
   		     /*in*/  const char *         pDefEnd,
  +		     /*i/o*/ void * *		  ppCompilerInfo,
                        /*out*/ struct tTokenTable * pTokenTable) ;
   
   int ParseFile (/*i/o*/ register req * r) ;
  
  
  
  1.4.2.37  +1 -1      embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.36
  retrieving revision 1.4.2.37
  diff -u -r1.4.2.36 -r1.4.2.37
  --- epcomp.c	2001/03/03 14:45:56	1.4.2.36
  +++ epcomp.c	2001/03/07 08:18:26	1.4.2.37
  @@ -1487,7 +1487,7 @@
   	    lprintf (r, "Setup source code for interactive debugger\n") ;
   	}    
       
  -    if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, "main")) != ok)
  +    if ((rc = EvalOnly (r, r -> pProgRun, ppCompResult, G_SCALAR, EPMAINSUB)) != ok)
   	return rc ;
   
   #if 0
  
  
  
  1.20.4.11 +2 -0      embperl/epdat.h
  
  Index: epdat.h
  ===================================================================
  RCS file: /home/cvs/embperl/epdat.h,v
  retrieving revision 1.20.4.10
  retrieving revision 1.20.4.11
  diff -u -r1.20.4.10 -r1.20.4.11
  --- epdat.h	2001/03/07 04:54:43	1.20.4.10
  +++ epdat.h	2001/03/07 08:18:26	1.20.4.11
  @@ -544,3 +544,5 @@
   
   
   
  +
  +#define EPMAINSUB   "_ep_main"
  
  
  
  1.4.2.10  +16 -10    embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.4.2.9
  retrieving revision 1.4.2.10
  diff -u -r1.4.2.9 -r1.4.2.10
  --- epparse.c	2001/03/07 04:54:44	1.4.2.9
  +++ epparse.c	2001/03/07 08:18:26	1.4.2.10
  @@ -63,10 +63,10 @@
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  -int CheckProcInfo      (/*i/o*/ register req * r,
  +static int CheckProcInfo      (/*i/o*/ register req * r,
   			/*in*/  HV *           pHash,
   			/*in*/	struct tToken * pToken,
  -			/*in*/	struct tTokenTable * pTokenTable)
  +			/*i/o*/ void * *       ppCompilerInfo)
   			
   
       {	
  @@ -107,9 +107,9 @@
   		}
   
   	    if (strcmp (pKey, "embperl") == 0)
  -		embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, 1, &pTokenTable -> pCompilerInfo) ;
  +		embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, 1, ppCompilerInfo) ;
   	    else if (strncmp (pKey, "embperl#", 8) == 0 && (n = atoi (pKey+8)) > 0)
  -		embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, n, &pTokenTable -> pCompilerInfo) ;
  +		embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> nNodeName, pToken -> nNodeType, n, ppCompilerInfo) ;
   	    }
   	}	    
   
  @@ -131,11 +131,12 @@
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  -int BuildSubTokenTable (/*i/o*/ register req * r,
  +static int BuildSubTokenTable (/*i/o*/ register req * r,
   			/*in*/  HV *           pHash,
   			/*in*/  const char *   pKey,
   			/*in*/  const char *   pAttr,
   			/*in*/  const char *   pDefEnd,
  +			/*i/o*/ void * *       ppCompilerInfo,
   			/*out*/ struct tTokenTable * * pTokenTable)
   
                        
  @@ -164,7 +165,7 @@
   
   	    if (r -> bDebug & dbgBuildToken)
   		lprintf (r, "[%d]TOKEN: -> %s\n", r -> nPid, pAttr) ; 
  -	    if ((rc = BuildTokenTable (r, pSubHash, pDefEnd, pNewTokenTable)))
  +	    if ((rc = BuildTokenTable (r, pSubHash, pDefEnd, ppCompilerInfo, pNewTokenTable)))
   		return rc ;    
   	    if (r -> bDebug & dbgBuildToken)
   		lprintf (r, "[%d]TOKEN: <- %s\n", r -> nPid, pAttr) ; 
  @@ -203,6 +204,7 @@
   int BuildTokenTable (/*i/o*/ register req *	  r,
                        /*in*/  HV *		  pTokenHash,
   		     /*in*/  const char *         pDefEnd,
  +		     /*i/o*/ void * *       ppCompilerInfo,
                        /*out*/ struct tTokenTable * pTokenTable)
   
                        
  @@ -225,7 +227,11 @@
       memset (pAllChars,   0, sizeof (pTokenTable -> cAllChars)) ;
       pTokenTable -> bLSearch = 0 ;    
       pTokenTable -> pContainsToken = NULL ;
  +    pTokenTable -> pCompilerInfo = NULL ;
  +    if (ppCompilerInfo == NULL)
  +	ppCompilerInfo = &pTokenTable -> pCompilerInfo ;
   
  +
       numTokens = 1 ;
       hv_iterinit (pTokenHash) ;
       while ((pEntry = hv_iternext (pTokenHash)))
  @@ -317,15 +323,15 @@
   		p -> nNodeName = String2Ndx (p -> sText, strlen (p -> sText)) ;
   
   
  -	    if ((rc = CheckProcInfo (r, pHash, p, pTokenTable)) != ok)
  +	    if ((rc = CheckProcInfo (r, pHash, p, ppCompilerInfo)) != ok)
   		return rc ;
   
   	    
  -	    if ((rc = BuildSubTokenTable (r, pHash, pKey, "follow", p -> sEndText, &pNewTokenTable)))
  +	    if ((rc = BuildSubTokenTable (r, pHash, pKey, "follow", p -> sEndText, ppCompilerInfo, &pNewTokenTable)))
   		return rc ;
   	    p -> pFollowedBy = pNewTokenTable ;
   
  -	    if ((rc = BuildSubTokenTable (r, pHash, pKey, "inside", "", &pNewTokenTable)))
  +	    if ((rc = BuildSubTokenTable (r, pHash, pKey, "inside", "", ppCompilerInfo, &pNewTokenTable)))
   		return rc ;
   	    p -> pInside     = pNewTokenTable ;
   
  @@ -429,7 +435,7 @@
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  -int ParseTokens (/*i/o*/ register req *	  r,
  +static int ParseTokens (/*i/o*/ register req *	  r,
   		 /*in */ char * *	  ppCurr, 
                       char *		  pEnd, 
                       struct tTokenTable *  pTokenTable, 
  
  
  
  1.15.4.4  +1 -1      embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.15.4.3
  retrieving revision 1.15.4.4
  diff -u -r1.15.4.3 -r1.15.4.4
  --- eputil.c	2000/12/22 06:19:46	1.15.4.3
  +++ eputil.c	2001/03/07 08:18:27	1.15.4.4
  @@ -867,7 +867,7 @@
       if ((symtab = gv_stashpv ((char *)sPackage, 0)) == NULL)
   	return ;
   
  -    ppSV = hv_fetch (symtab, "__ANON__", 8, 0) ;
  +    ppSV = hv_fetch (symtab, EPMAINSUB, sizeof (EPMAINSUB) - 1, 0) ;
       if (!ppSV || !*ppSV)
   	{
   	if (bDebug)
  
  
  
  1.3.4.5   +2 -2      embperl/typemap
  
  Index: typemap
  ===================================================================
  RCS file: /home/cvs/embperl/typemap,v
  retrieving revision 1.3.4.4
  retrieving revision 1.3.4.5
  diff -u -r1.3.4.4 -r1.3.4.5
  --- typemap	2001/03/07 04:54:44	1.3.4.4
  +++ typemap	2001/03/07 08:18:27	1.3.4.5
  @@ -48,10 +48,10 @@
   T_PTROBJ_SYNTAX
       {
       MAGIC * mg ;
  -    if (mg = mg_find (SvRV($arg), '~'))
  +    if (SvROK ($arg) && (mg = mg_find (SvRV($arg), '~')))
           $var = *((tTokenTable **)(mg -> mg_ptr)) ;
       else
  -        croak (\"$var is not of type XML::Embperl::Syntax\") ;
  +        croak (\"$var is not of type HTML::Embperl::Syntax\") ;
       }
   
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.21  +59 -51    embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.4.20
  retrieving revision 1.1.4.21
  diff -u -r1.1.4.20 -r1.1.4.21
  --- Syntax.pm	2001/03/07 04:54:48	1.1.4.20
  +++ Syntax.pm	2001/03/07 08:18:29	1.1.4.21
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Syntax.pm,v 1.1.4.20 2001/03/07 04:54:48 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.4.21 2001/03/07 08:18:29 richter Exp $
   #
   ###################################################################################
    
  @@ -148,7 +148,7 @@
       my ($name) = @_ ;
   
       my @names = map { /::/?$_:'HTML::Embperl::Syntax::'. $_ } split (/\s/, $name) ;
  -    my $name = join (' ', @names) ;
  +    $name = join (' ', @names) ;
   
       return undef if (!$name) ;
       return $Syntax{$name} if (exists ($Syntax{$name})) ;
  @@ -156,7 +156,7 @@
       foreach (@names)
           {
           eval "require $_" ;
  -        warn $@ ;
  +        warn $@ if ($@) ;
           return undef if ($@) ;
           }
   
  @@ -169,13 +169,55 @@
           &{"$_::new"}($self) ;
           }
   
  -    return $Syntax{$name} = BuildTokenTable ($self) ;
  +    BuildTokenTable ($self) ;
  +    $Syntax{$name} = $self ;
  +    return $self ;
       }
   
  +# ---------------------------------------------------------------------------------
  +#
  +#   Deep clone a hash and make replacements
  +#
  +# ---------------------------------------------------------------------------------
   
  +sub CloneHash
  +    {
  +    my ($self, $old, $replace) = @_ ;
  +
   
  +    my $new = {} ;
  +    $replace ||= {} ;    
  +    my ($v, $k) ;
  +
  +    while (($k, $v) = each (%$old))
  +        {
  +        if ($replace -> {$k})
  +            {
  +            $new -> {$k} = $replace -> {$k} ;
  +            }
  +        else
  +            {
  +            if (ref ($v) eq 'HASH')
  +                {
  +                $new -> {$k} = $self -> CloneHash ($v, $replace) ;
  +                }
  +            elsif (ref ($v) eq 'ARRAY')
  +                {
  +                $new -> {$k} = [@$v] ;
  +                }
  +            else
  +                {
  +                $new -> {$k} = $v ;
  +                }
  +            }
  +        }
  +
  +    return $new ;
  +    }
   
   
  +
  +
   ###################################################################################
   #
   #   Definitions for documents
  @@ -252,40 +294,6 @@
   
   __END__        
   
  -sub clonehash
  -    {
  -    my ($old, $new, $replace) = @_ ;
  -
  -
  -    $replace ||= {} ;    
  -    my ($v, $k) ;
  -
  -    while (($k, $v) = each (%$old))
  -        {
  -        if ($replace -> {$k})
  -            {
  -            $new -> {$k} = $replace -> {$k} ;
  -            }
  -        else
  -            {
  -            if (ref ($v) eq 'HASH')
  -                {
  -                $new -> {$k} = clonehash ($v, {}, $replace) ;
  -                }
  -            elsif (ref ($v) eq 'ARRAY')
  -                {
  -                $new -> {$k} = [$v] ;
  -                }
  -            else
  -                {
  -                $new -> {$k} = $v ;
  -                }
  -            }
  -        }
  -
  -    return $new ;
  -    }
  -
   
   ###################################################################################
   #
  @@ -304,7 +312,7 @@
           'end'    => '"',
           'inside' => \%Cmds,
           'nodetype'   => ntypAttr,
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           },
       'Attribut \'\'' => 
           {
  @@ -312,14 +320,14 @@
           'end'    => '\'',
           'inside' => \%Cmds,
           'nodetype'   => ntypAttr,
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           },
       'Attribut alphanum' => 
           {
           'contains'   => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789',
           'inside' => \%Cmds,
           'nodetype'   => ntypAttr,
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           }
       ) ;
   
  @@ -451,7 +459,7 @@
   
   
   %HtmlTagsStd = (
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside'    => \%Cmds,
           ) ;
   
  @@ -472,7 +480,7 @@
   %HtmlTags = (
       'input' => {
           'text' => 'input',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => 
               {
               'type'  => { 'text' => 'type',  'nodename' => 'type',  follow => \%AssignAttr },
  @@ -495,7 +503,7 @@
       'textarea' => {
           'text' => 'textarea',
           'nodetype'   => ntypStartTag, 
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => 
               {
               'name'  => { 'text' => 'name',  'nodename' => 'name',  follow => \%AssignAttr },
  @@ -681,37 +689,37 @@
            },
       'a' => {
           'text' => 'a',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => \%HrefLink,
            },
       'frame' => {
           'text' => 'frame',
           'inside' => \%SrcLink,
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
            },
       'iframe' => {
           'text' => 'iframe',
           'inside' => \%SrcLink,
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
            },
       'embed' => {
           'text' => 'embed',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => \%SrcLink,
            },
       'layer' => {
           'text' => 'layer',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => \%SrcLink,
            },
       'img' => {
           'text' => 'img',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => \%SrcLink,
            },
       'form' => {
           'text' => 'form',
  -        'cdatatype'  => ntypAttrValue,
  +        #'cdatatype'  => ntypAttrValue,
           'inside' => \%ActionLink,
            },
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.6   +15 -18    embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm
  
  Index: EmbperlBlocks.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- EmbperlBlocks.pm	2001/03/06 12:33:48	1.1.2.5
  +++ EmbperlBlocks.pm	2001/03/07 08:18:30	1.1.2.6
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: EmbperlBlocks.pm,v 1.1.2.5 2001/03/06 12:33:48 richter Exp $
  +#   $Id: EmbperlBlocks.pm,v 1.1.2.6 2001/03/07 08:18:30 richter Exp $
   #
   ###################################################################################
    
  @@ -51,9 +51,11 @@
   
       if ($firsttime)
           {
  -        $self -> AddToRoot (\%Blocks) ;
  -        $self -> AddToRoot (\%BlocksOutput) ;
  +        $self -> {-epbBlocks}     = $self -> CloneHash ({ %Blocks, %BlocksOutput }) ;
  +        $self -> {-epbBlocksLink} = $self -> CloneHash ({ %Blocks, %BlocksOutputLink }, { 'unescape' => 2 }) ;
   
  +        $self -> AddToRoot ($self -> {-epbBlocks}) ;
  +
           Init ($self) ;
           }
   
  @@ -157,14 +159,11 @@
       #### add the Embperl Block inside the new HTML Tag ####
   
       $tag -> {inside} ||= {} ;
  -    
  -    while (my ($k, $v) = each (%Blocks))
  -        {
  -        $tag -> {inside} -> {$k} = $v ;
  -        }
  -    while (my ($k, $v) = each (%BlocksOutput))
  +    my $inside = $tag -> {inside} ;    
  +
  +    while (my ($k, $v) = each (%{$self -> {-epbBlocks}}))
           {
  -        $tag -> {inside} -> {$k} = $v ;
  +        $inside -> {$k} = $v ;
           }
   
       if (!$self -> {-epbHTMLInit})
  @@ -173,9 +172,11 @@
   
           $self -> {-epbHTMLInit} = 1 ;
   
  -        foreach ('-htmlAssignAttr', '-htmlAssignAttrLink')
  +        my $unescape = 0 ;
  +        foreach ('', 'Link')
               {
  -            my $attr = $self -> {$_} ;
  +            my $attr   = $self -> {"-htmlAssignAttr$_"} ;
  +            my $blocks = $self -> {"-epbBlocks$_"} ;
               while (my ($k1, $v1) = each %$attr)
                   {
                   if (!($k1 =~ /^-/) && ref ($v1) eq 'HASH')
  @@ -190,14 +191,10 @@
   				$v2 -> {inside} ||= {} ;
                               	my $inside = $v2 -> {inside} ;
   
  -	                        while (my ($k, $v) = each (%Blocks))
  +	                        while (my ($k, $v) = each (%$blocks))
                                       {
                                       $inside -> {$k} = $v ;
                                       }
  -                                while (my ($k, $v) = each (%BlocksOutput))
  -                                    {
  -                                    $inside -> {$k} = $v ;
  -                                    }
   				}
                               }
                           }
  @@ -438,7 +435,7 @@
           'text' => '[+',       
           'nodename' => '[+url',
           'end'  => '+]',
  -        'unescape' => 1,
  +        'unescape' => 2,
           'procinfo' => {
               embperl => { 
                       perlcode => 
  
  
  
  1.1.2.6   +4 -10     embperl/Embperl/Syntax/Attic/HTML.pm
  
  Index: HTML.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/HTML.pm,v
  retrieving revision 1.1.2.5
  retrieving revision 1.1.2.6
  diff -u -r1.1.2.5 -r1.1.2.6
  --- HTML.pm	2001/03/06 12:33:50	1.1.2.5
  +++ HTML.pm	2001/03/07 08:18:30	1.1.2.6
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: HTML.pm,v 1.1.2.5 2001/03/06 12:33:50 richter Exp $
  +#   $Id: HTML.pm,v 1.1.2.6 2001/03/07 08:18:30 richter Exp $
   #
   ###################################################################################
    
  @@ -58,12 +58,13 @@
                               },
                           'HTML Comment' => {
                               'text' => '<!--',
  +                            'nodename' => '!--',
                               'end'  => '-->',
                               },
                           }) ;
   
  -        $self -> {-htmlAssignAttr}     = { %AssignAttr} ;
  -        $self -> {-htmlAssignAttrLink} = { %AssignAttrLink} ;
  +        $self -> {-htmlAssignAttr}     = $self -> CloneHash (\%AssignAttr) ;
  +        $self -> {-htmlAssignAttrLink} = $self -> CloneHash (\%AssignAttr) ;
           }
   
       return $self ;
  @@ -268,13 +269,6 @@
       ) ;
   
   
  -%AssignAttrLink = (
  -    'Assign' => 
  -        {
  -        'text' => '=',
  -        'follow' => { %Attr },
  -        }
  -    ) ;
   
   1;
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1.6.3 +1 -16     embperl/eg/images/jazzbkgd.gif
  
  	<<Binary file>>
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.10.4.4  +10 -0     embperl/test/html/input.htm
  
  Index: input.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/input.htm,v
  retrieving revision 1.10.4.3
  retrieving revision 1.10.4.4
  diff -u -r1.10.4.3 -r1.10.4.4
  --- input.htm	2000/12/18 11:38:59	1.10.4.3
  +++ input.htm	2001/03/07 08:18:31	1.10.4.4
  @@ -1,3 +1,13 @@
  +<input name="feld1">
  +<input name=feld1>
  +<input name='feld1'>
  +<input src='feld1[+ ' bla'+]'>
  +
  +<!-- Die ist ein Kommentar -->
  +
  +
  +
  +
   <html>
   
   <head>