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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to