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/22 10:04:54 UTC

cvs commit: embperl/Embperl/Syntax EmbperlBlocks.pm HTML.pm SSI.pm

richter     01/03/22 01:04:53

  Modified:    .        Tag: Embperl2c Embperl.xs Syntax.xs ep.h ep2.h
                        epcomp.c epdat.h epparse.c eputil.c
               Embperl  Tag: Embperl2c Syntax.pm
               Embperl/Syntax Tag: Embperl2c EmbperlBlocks.pm HTML.pm
                        SSI.pm
  Log:
  Embperl 2 - switch syntax
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.29.4.10 +22 -0     embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.29.4.9
  retrieving revision 1.29.4.10
  diff -u -r1.29.4.9 -r1.29.4.10
  --- Embperl.xs	2001/03/07 04:54:42	1.29.4.9
  +++ Embperl.xs	2001/03/22 09:04:40	1.29.4.10
  @@ -682,6 +682,28 @@
   
   #ifdef EP2
   
  +
  +char *
  +embperl_SyntaxName(r)
  +    tReq * r
  +CODE:
  +    if (r && r -> pTokenTable && r -> pTokenTable -> sName)
  +        RETVAL = (char *)r -> pTokenTable -> sName ;
  +    else
  +        RETVAL = "" ;
  +OUTPUT:
  +    RETVAL               
  +
  +
  +void
  +embperl_Syntax(r, pSyntaxObj)
  +    tReq * r
  +    tTokenTable *    pSyntaxObj ;
  +CODE:
  +    r -> pTokenTable = pSyntaxObj ;
  +
  +
  +
   INCLUDE: Cmd.xs
   
   INCLUDE: DOM.xs
  
  
  
  1.1.2.5   +10 -2     embperl/Attic/Syntax.xs
  
  Index: Syntax.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/Syntax.xs,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- Syntax.xs	2001/03/07 14:23:41	1.1.2.4
  +++ Syntax.xs	2001/03/22 09:04:41	1.1.2.5
  @@ -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.4 2001/03/07 14:23:41 richter Exp $
  +#   $Id: Syntax.xs,v 1.1.2.5 2001/03/22 09:04:41 richter Exp $
   #
   ###################################################################################
   
  @@ -28,6 +28,8 @@
       HV *          pHV ;
       SV **         ppSV ;
       int           rc ;
  +    STRLEN        l ;
  +    char *        sName ;
   	
       if (!SvROK (pSyntaxObj) || SvTYPE(pHV = (HV *)SvRV(pSyntaxObj)) != SVt_PVHV || (mg = mg_find ((SV *)pHV, '~')))
   	{        
  @@ -40,10 +42,16 @@
       sv_unmagic ((SV *)pHV, '~') ;
       sv_magic ((SV *)pHV, NULL, '~', (char *)&pTab, sizeof (pTab)) ;
   
  +    ppSV = hv_fetch (pHV, "-name", 5, 0) ;
  +    if (ppSV == NULL || *ppSV == NULL || !SvPOK (*ppSV))
  +	croak ("Internal Error: pSyntaxObj has no -name") ;
  +
  +    sName = strdup (SvPV(*ppSV, l)) ;
  +
       ppSV = hv_fetch (pHV, "-root", 5, 0) ;
       if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
   	croak ("Internal Error: pSyntaxObj has no -root") ;
       else	
  -    	if ((rc = BuildTokenTable (pCurrReq, (HV *)(SvRV(*ppSV)), "", NULL, pTab)) != ok)
  +    	if ((rc = BuildTokenTable (pCurrReq, sName, (HV *)(SvRV(*ppSV)), "", NULL, pTab)) != ok)
               LogError (pCurrReq, rc) ;
   	
  
  
  
  1.27.4.9  +3 -0      embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.27.4.8
  retrieving revision 1.27.4.9
  diff -u -r1.27.4.8 -r1.27.4.9
  --- ep.h	2001/03/07 04:54:43	1.27.4.8
  +++ ep.h	2001/03/22 09:04:42	1.27.4.9
  @@ -394,6 +394,9 @@
   
   /* ---- from eputil.c ----- */
   
  +const char * strnstr (/*in*/ const char *   pString,
  +                             /*in*/ const char *   pSubString,
  +			     /*in*/ int            nMax) ;
   
   char * GetHashValue (/*in*/  HV *           pHash,
                        /*in*/  const char *   sKey,
  
  
  
  1.1.2.10  +1 -0      embperl/Attic/ep2.h
  
  Index: ep2.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/ep2.h,v
  retrieving revision 1.1.2.9
  retrieving revision 1.1.2.10
  diff -u -r1.1.2.9 -r1.1.2.10
  --- ep2.h	2001/03/07 08:18:26	1.1.2.9
  +++ ep2.h	2001/03/22 09:04:42	1.1.2.10
  @@ -49,6 +49,7 @@
   extern struct tTokenTable DefaultTokenTable ;
   
   int BuildTokenTable (/*i/o*/ register req *	  r,
  +                     /*in*/  const char *         sName,
                        /*in*/  HV *		  pTokenHash,
   		     /*in*/  const char *         pDefEnd,
   		     /*i/o*/ void * *		  ppCompilerInfo,
  
  
  
  1.4.2.38  +6 -3      embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.37
  retrieving revision 1.4.2.38
  diff -u -r1.4.2.37 -r1.4.2.38
  --- epcomp.c	2001/03/07 08:18:26	1.4.2.37
  +++ epcomp.c	2001/03/22 09:04:42	1.4.2.38
  @@ -853,7 +853,9 @@
       char *          sSourcefile ;
       int             nSourcefile ;
       int i ;
  +    SV *        args[2] ;
   
  +
       Ndx2StringLen (pDomTree -> xFilename, sSourcefile, nSourcefile) ;
   
       if (pCmd -> nNodeType != pNode -> nType)
  @@ -872,10 +874,11 @@
   		if (pCurrReq -> bDebug & dbgParse)
   		    lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d CompileTimeCode:    %*.*s\n", pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber, l, l, pCode) ;
   
  -		pSV = newSVpvf("package %s ; \n#line %d \"%s\"\n%*.*s",
  +		pSV = newSVpvf("package %s ;\nmy ($_ep_req) = @_;\n#line %d \"%s\"\n%*.*s",
   			pCurrReq -> Buf.sEvalPackage, pNode ->	nLinenumber, sSourcefile, l,l, pCode) ;
  -		if ((rc = EvalDirect (pCurrReq, pSV, 0, NULL)) != ok)
  -		    LogError (pCurrReq, rc) ;
  +		args[0] = r -> pReqSV ;
  +		if ((rc = EvalDirect (r, pSV, 1, args)) != ok)
  +		    LogError (r, rc) ;
   		SvREFCNT_dec(pSV);
   		}
   	    break ;
  
  
  
  1.20.4.12 +2 -0      embperl/epdat.h
  
  Index: epdat.h
  ===================================================================
  RCS file: /home/cvs/embperl/epdat.h,v
  retrieving revision 1.20.4.11
  retrieving revision 1.20.4.12
  diff -u -r1.20.4.11 -r1.20.4.12
  --- epdat.h	2001/03/07 08:18:26	1.20.4.11
  +++ epdat.h	2001/03/22 09:04:43	1.20.4.12
  @@ -115,11 +115,13 @@
       struct tTokenTable *    pInside ;	/* table of tokens that can apear inside this one */
       struct tToken      *    pStartTag ;	/* token that contains definition for the start of the current token */
       struct tToken      *    pEndTag ;	/* token that contains definition for the end of the current token */
  +    const char *	    sParseTimePerlCode ; /* perl code that is executed when this token is parsed, %% is replaced by the value of the current attribute */
       } ;        
   
   struct tTokenTable
       {
       void *	    pCompilerInfo ; /* stores tables of the compiler , must be first item */
  +    const char *    sName ;	    /* name of syntax */
       tCharMap	    cStartChars ;   /* for every vaild start char there is one bit set */
       tCharMap	    cAllChars   ;   /* for every vaild char there is one bit set */
       struct tToken * pTokens ;	    /* table with all tokens */
  
  
  
  1.4.2.13  +94 -18    embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.4.2.12
  retrieving revision 1.4.2.13
  diff -u -r1.4.2.12 -r1.4.2.13
  --- epparse.c	2001/03/07 20:43:24	1.4.2.12
  +++ epparse.c	2001/03/22 09:04:43	1.4.2.13
  @@ -165,7 +165,7 @@
   
   	    if (r -> bDebug & dbgBuildToken)
   		lprintf (r, "[%d]TOKEN: -> %s\n", r -> nPid, pAttr) ; 
  -	    if ((rc = BuildTokenTable (r, pSubHash, pDefEnd, ppCompilerInfo, pNewTokenTable)))
  +	    if ((rc = BuildTokenTable (r, NULL, pSubHash, pDefEnd, ppCompilerInfo, pNewTokenTable)))
   		return rc ;    
   	    if (r -> bDebug & dbgBuildToken)
   		lprintf (r, "[%d]TOKEN: <- %s\n", r -> nPid, pAttr) ; 
  @@ -202,9 +202,10 @@
   /* ------------------------------------------------------------------------ */
   
   int BuildTokenTable (/*i/o*/ register req *	  r,
  -                     /*in*/  HV *		  pTokenHash,
  +                     /*in*/  const char *         sName,
  +		     /*in*/  HV *		  pTokenHash,
   		     /*in*/  const char *         pDefEnd,
  -		     /*i/o*/ void * *       ppCompilerInfo,
  +		     /*i/o*/ void * *		  ppCompilerInfo,
                        /*out*/ struct tTokenTable * pTokenTable)
   
                        
  @@ -228,6 +229,7 @@
       pTokenTable -> bLSearch = 0 ;    
       pTokenTable -> pContainsToken = NULL ;
       pTokenTable -> pCompilerInfo = NULL ;
  +    pTokenTable -> sName = sName ;
       if (ppCompilerInfo == NULL)
   	ppCompilerInfo = &pTokenTable -> pCompilerInfo ;
   
  @@ -285,6 +287,7 @@
   	    p -> nForceType = GetHashValueInt (pHash, "forcetype", 0) ;
   	    p -> pStartTag  = (struct tToken *)GetHashValueStrDup (pHash, "starttag", NULL) ;
   	    p -> pEndTag    = (struct tToken *)GetHashValueStrDup (pHash, "endtag", NULL) ;
  +	    p -> sParseTimePerlCode =  GetHashValueStrDup (pHash, "parsetimeperlcode", NULL) ;
   	    if (sContains  = GetHashValueStrDup (pHash, "contains", NULL))
   		{
   		unsigned char * pC ;
  @@ -312,7 +315,7 @@
   		pAllChars [toupper(*c) >> 3] |= 1 << (toupper(*c) & 7) ;
   		c++ ;
   		}
  -
  +	    
   
   	    if (r -> bDebug & dbgBuildToken)
                   lprintf (r, "[%d]TOKEN: %s ... %s  unesc=%d nodetype=%d, cdatatype=%d, nodename=%s\n", r -> nPid, p -> sText, p -> pContains?sContains:p -> sEndText, p -> bUnescape, p -> nNodeType, p -> nCDataType, p -> sNodeName?p -> sNodeName:"<null>") ; 
  @@ -401,7 +404,65 @@
       return ok ;
       }
       
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
  +/* ExecParseTimeCode                                                        */
  +/*                                                                          */
  +/* executes Perl code at parse time                                         */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
  +
  +static int ExecParseTimeCode (/*i/o*/	register req *	    r,
  +			      /*in */	struct tToken *	    pToken, 
  +		  	      /*in */	char * 		    pCurr, 
  +					int		    nLen,
  +					int                 nLinenumber)
  +
  +    {
  +    SV * pSV ;
  +    int  rc ;
  +    const char * sPCode = pToken -> sParseTimePerlCode ;
  +    int          plen = strlen (sPCode) ;
  +    char *       sCode ;
  +    const char *  p ;
  +    int          n ;
  +    SV *        args[2] ;
  +
  +
  +    if (p = strnstr (sPCode, "%%", nLen))
  +	{
  +	sCode = parse_malloc (r, nLen + plen + 1) ;
  +	n = p - sPCode ;
  +	memcpy (sCode, sPCode, n) ;
  +	memcpy (sCode + n, pCurr, nLen) ;
  +	memcpy (sCode + n + nLen, sPCode + n + 2, plen - n - 2) ;
  +	nLen = nLen + plen - 2 ;
  +	sCode[nLen] = '\0' ;
  +	}
  +    else
  +	{
  +	sCode = (char *)sPCode ;
  +	nLen = plen ;
  +	}
       
  +    if (nLen && pCurrReq -> bDebug & dbgParse)
  +	lprintf (r, "[%d]PARSE: ParseTimeCode:    %*.*s\n", r -> nPid, nLen, nLen, sCode) ; 
  +
  +    pSV = newSVpvf("package %s ;\nmy ($_ep_req) = @_;\n#line %d \"%s\"\n%*.*s",
  +	    pCurrReq -> Buf.sEvalPackage, nLinenumber, r -> Buf.pFile -> sSourcefile, nLen, nLen, sCode) ;
  +    args[0] = r -> pReqSV ;
  +    if ((rc = EvalDirect (r, pSV, 1, args)) != ok)
  +	LogError (r, rc) ;
  +    SvREFCNT_dec(pSV);
  +
  +    return rc ;
  +    }
  +
  +
  +
  +
  +
  +    
   /* ------------------------------------------------------------------------ */
   /* compare tokens                                                           */
   /* ------------------------------------------------------------------------ */
  @@ -435,18 +496,18 @@
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  -static int ParseTokens (/*i/o*/ register req *	  r,
  -		 /*in */ char * *	  ppCurr, 
  -                    char *		  pEnd, 
  -                    struct tTokenTable *  pTokenTable, 
  -                    const char *          sEndText,
  -                    const char *          pParentContains,
  -		    enum tNodeType	  nCDataType,
  -		    enum tNodeType	  nForceType,
  -		    int			  bUnescape,
  -		    const char *          pParentNodeName,
  -		    tNode		  xParentNode,
  -		    int			  level) 
  +static int ParseTokens (/*i/o*/ register req *		r,
  +			/*in */ char * *		ppCurr, 
  +				char *			pEnd, 
  +				struct tTokenTable *	pTokenTable, 
  +				const char *		sEndText,
  +				const char *		pParentContains,
  +				enum tNodeType		nCDataType,
  +				enum tNodeType		nForceType,
  +				int			bUnescape,
  +				const char *		pParentNodeName,
  +				tNode			xParentNode,
  +				int			level) 
   
       {
       unsigned char * pStartChars = pTokenTable -> cStartChars ;
  @@ -461,6 +522,13 @@
       while (pCurr < pEnd)
           {
   	struct tToken *	    pToken	    = NULL ;
  +
  +	if (level == 0 && pTokenTable != r -> pTokenTable)
  +	    { /* syntax has changed */
  +	    pTokenTable = r -> pTokenTable ;
  +	    pStartChars = pTokenTable -> cStartChars ;
  +	    }
  +	
           if (pStartChars [*pCurr >> 3] & 1 << (*pCurr & 7))
               { /* valid token start char found */
   	    struct tTokenTable *    pNextTokenTab   = pTokenTable ;
  @@ -618,6 +686,7 @@
   			    tNode xNewAttrNode ;
                               if (pEndCurr - pCurr && pToken -> nCDataType)
   				{
  +				int nLine ;
   				if (pToken -> bUnescape)
                                       {
                                       r -> bEscInUrl = pToken -> bUnescape - 1 ;
  @@ -625,8 +694,11 @@
                                       r -> bEscInUrl = 0 ;
                                       }
   
  -				if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xNewNode, level+1, GetLineNoOf (r, pCurr))))
  +				if (!(xNewAttrNode = Node_appendChild (pDomTree, pToken -> nCDataType, 0, pCurr, pEndCurr - pCurr, xNewNode, level+1, nLine = GetLineNoOf (r, pCurr))))
   				    return 1 ;
  +				if (pToken -> sParseTimePerlCode)
  +				    if ((rc = ExecParseTimeCode (r, pToken, pCurr, pEndCurr - pCurr, nLine)) != ok)
  +					return rc ;
   				}
   			    pCurr = pEndCurr + nSkip ;
   			    }
  @@ -694,8 +766,8 @@
       tNode   xDocNode ;
       tNode   xNode ;
       tDomTree * pDomTree = DomTree_self (r -> xCurrDomTree) ;
  +    tTokenTable * pTokenTableSave ;
   
  -
       if (!(r -> xCurrDomTree  = DomTree_new (&pDomTree)))
   	return 1 ;
   
  @@ -715,8 +787,12 @@
   
       pDomTree -> xDocument = xDocNode ;
   
  +    pTokenTableSave = r -> pTokenTable ;
  +    
       if ((rc = ParseTokens (r, &pStart, pEnd, r -> pTokenTable, "", NULL, ntypCDATA, 0, 0, "root", xDocNode, 0)) != ok)
   	return rc ; 
  +    
  +    r -> pTokenTable = pTokenTableSave ;
   
   
   
  
  
  
  1.15.4.5  +39 -0     embperl/eputil.c
  
  Index: eputil.c
  ===================================================================
  RCS file: /home/cvs/embperl/eputil.c,v
  retrieving revision 1.15.4.4
  retrieving revision 1.15.4.5
  diff -u -r1.15.4.4 -r1.15.4.5
  --- eputil.c	2001/03/07 08:18:27	1.15.4.4
  +++ eputil.c	2001/03/22 09:04:43	1.15.4.5
  @@ -165,6 +165,8 @@
       while (TRUE) ;
       }
   
  +
  +
   /* ---------------------------------------------------------------------------- */
   /* make string lower case */
   /* */
  @@ -188,6 +190,43 @@
       }
   
   #endif
  +
  +
  +/* ---------------------------------------------------------------------------- */
  +/* find substring with max len                                                  */
  +/*                                                                              */
  +/* in  pSring  = string to search in						*/
  +/* in  pSubStr = string to search for						*/
  +/*                                                                              */
  +/* out ret  = pointer to pSubStr in pStringvalue or NULL if not found           */
  +/*                                                                              */
  +/* ---------------------------------------------------------------------------- */
  +
  +
  + 
  +const char * strnstr (/*in*/ const char *   pString,
  +                             /*in*/ const char *   pSubString,
  +			     /*in*/ int            nMax)
  +
  +    {
  +    char c = *pSubString ;
  +    int  l = strlen (pSubString) ;
  +    
  +    while (nMax-- > 0)
  +        {
  +        while (*pString && *pString != c)
  +            pString++ ;
  +
  +        if (*pString == '\0')
  +            return NULL ;
  +
  +        if (strncmp (pString, pSubString, l) == 0)
  +            return pString ;
  +        pString++ ;
  +        }
  +    }
  +
  +
   
   /* ---------------------------------------------------------------------------- */
   /* save strdup                                                                  */
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.4.25  +2 -1      embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.4.24
  retrieving revision 1.1.4.25
  diff -u -r1.1.4.24 -r1.1.4.25
  --- Syntax.pm	2001/03/20 08:01:54	1.1.4.24
  +++ Syntax.pm	2001/03/22 09:04:49	1.1.4.25
  @@ -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.24 2001/03/20 08:01:54 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.4.25 2001/03/22 09:04:49 richter Exp $
   #
   ###################################################################################
    
  @@ -205,6 +205,7 @@
   use strict ;
           }
   
  +    $self -> {-name} = $name ;
       BuildTokenTable ($self) ;
       $Syntax{$name} = $self ;
       return $self ;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.9   +13 -2     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.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- EmbperlBlocks.pm	2001/03/17 22:20:52	1.1.2.8
  +++ EmbperlBlocks.pm	2001/03/22 09:04:51	1.1.2.9
  @@ -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.8 2001/03/17 22:20:52 richter Exp $
  +#   $Id: EmbperlBlocks.pm,v 1.1.2.9 2001/03/22 09:04:51 richter Exp $
   #
   ###################################################################################
    
  @@ -70,7 +70,7 @@
   sub AddMetaCmd
   
       {
  -    my ($self, $cmdname, $procinfo) = @_ ;
  +    my ($self, $cmdname, $procinfo, $taginfo) = @_ ;
   
       my $tagtype = 'Embperl meta command' ;
       my $ttref ;
  @@ -83,6 +83,7 @@
                                   'cdatatype' => ntypAttrValue,
                                   'forcetype' => 1,
                                   'unescape'  => 1,
  +                                (ref($taginfo) eq 'HASH'?%$taginfo:()),
                                 } ;
       $tag -> {'procinfo'} = { $self -> {-procinfotype} => $procinfo } if ($procinfo) ;
   
  @@ -95,6 +96,7 @@
                                   'cdatatype' => ntypAttrValue,
                                   'forcetype' => 1,
                                   'unescape'  => 2,
  +                                (ref($taginfo) eq 'HASH'?%$taginfo:()),
                                 } ;
       $tag -> {'procinfo'} = { $self -> {-procinfotype} => $procinfo } if ($procinfo) ;
   
  @@ -307,6 +309,15 @@
                   perlcode => '_ep_hid(%$n%,%&\'<noname>%);', 
                   removenode => 8,
                   }) ;
  +    $self -> AddMetaCmd ('syntax',
  +                { 
  +                compiletimeperlcode => '$_ep_req -> Syntax (HTML::Embperl::Syntax::GetSyntax(%&\'<noname>%));', 
  +                removenode => 3,
  +                },
  +                { 
  +                parsetimeperlcode => '$_ep_req -> Syntax (HTML::Embperl::Syntax::GetSyntax(\'%%\')) ;', 
  +                },
  +                ) ;
       $self -> AddMetaCmdBlock ('sub', 'endsub',
                   { 
                   perlcode => 'sub _ep_sub_%&<noname>% { ', 
  
  
  
  1.1.2.9   +3 -2      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.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- HTML.pm	2001/03/17 22:20:52	1.1.2.8
  +++ HTML.pm	2001/03/22 09:04:52	1.1.2.9
  @@ -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.8 2001/03/17 22:20:52 richter Exp $
  +#   $Id: HTML.pm,v 1.1.2.9 2001/03/22 09:04:52 richter Exp $
   #
   ###################################################################################
    
  @@ -66,7 +66,7 @@
   sub AddElement 
   
       {
  -    my ($self, $tagtype, $tagname, $attrs, $attrsurl, $attrsnoval, $procinfo) = @_ ;
  +    my ($self, $tagtype, $tagname, $attrs, $attrsurl, $attrsnoval, $procinfo, $taginfo) = @_ ;
   
   
       my $ttref ;
  @@ -76,6 +76,7 @@
       my $tag = $ttfollow -> {$tagname} = { 
                                   'text'      => $tagname,
                                   'unescape'  => 1,
  +                                (ref($taginfo) eq 'HASH'?%$taginfo:()),
                                 } ;
       $tag -> {'procinfo'} = { $self -> {-procinfotype} => $procinfo } if ($procinfo) ;
   
  
  
  
  1.1.2.7   +10 -1     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.6
  retrieving revision 1.1.2.7
  diff -u -r1.1.2.6 -r1.1.2.7
  --- SSI.pm	2001/03/17 22:20:52	1.1.2.6
  +++ SSI.pm	2001/03/22 09:04:52	1.1.2.7
  @@ -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.6 2001/03/17 22:20:52 richter Exp $
  +#   $Id: SSI.pm,v 1.1.2.7 2001/03/22 09:04:52 richter Exp $
   #
   ###################################################################################
    
  @@ -139,6 +139,15 @@
                               stackname   => 'ssicmd',
                               stackmatch  => 'if',
                               } ) ;
  +    $self -> AddComment ('#syntax', ['type'], undef, undef, 
  +                { 
  +                compiletimeperlcode => '$_ep_req -> Syntax (HTML::Embperl::Syntax::GetSyntax(%&\'type%));', 
  +                removenode => 3,
  +                },
  +                { 
  +                parsetimeperlcode => '$_ep_req -> Syntax (HTML::Embperl::Syntax::GetSyntax(\'%%\')) ;', 
  +                },
  +                 ) ;
       }
   
   
  
  
  

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