richter     00/06/18 12:27:57

  Modified:    .        Tag: Embperl2 Changes.pod embpcgi.bat embpcgi.pl
                        embpcgi.test.bat embpcgi.test.pl embpexec.bat
                        embpexec.pl ep.h epcomp.c epdom.h epparse.c test.pl
               Embperl  Tag: Embperl2 Syntax.pm
               test/cmp Tag: Embperl2 error.htm input.htm
               test/html Tag: Embperl2 input.htm
  Log:
  Embperl 2 - <option> & tag mismatch error msg
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.115.2.9 +2 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.115.2.8
  retrieving revision 1.115.2.9
  diff -u -r1.115.2.8 -r1.115.2.9
  --- Changes.pod       2000/06/07 09:22:52     1.115.2.8
  +++ Changes.pod       2000/06/18 19:27:53     1.115.2.9
  @@ -39,6 +39,8 @@
      - [$ foreach $x (@x) $] requires now the bracket around the
        array (like Perl)
      - [* *] blocks works now as expected.
  +   - option tag can take value optional from html text, so 
  +     <option value="foo"> and <option>foo</option> are the same
   
   
   =head1 1.3b4_dev -- That's what currently under developement
  
  
  
  1.7.2.12  +2 -2      embperl/embpcgi.bat
  
  Index: embpcgi.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.bat,v
  retrieving revision 1.7.2.11
  retrieving revision 1.7.2.12
  diff -u -r1.7.2.11 -r1.7.2.12
  --- embpcgi.bat       2000/06/14 12:27:14     1.7.2.11
  +++ embpcgi.bat       2000/06/18 19:27:53     1.7.2.12
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.7.2.12  +1 -1      embperl/embpcgi.pl
  
  Index: embpcgi.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.pl,v
  retrieving revision 1.7.2.11
  retrieving revision 1.7.2.12
  diff -u -r1.7.2.11 -r1.7.2.12
  --- embpcgi.pl        2000/06/14 12:27:14     1.7.2.11
  +++ embpcgi.pl        2000/06/18 19:27:53     1.7.2.12
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.5.2.12  +2 -2      embperl/embpcgi.test.bat
  
  Index: embpcgi.test.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.test.bat,v
  retrieving revision 1.5.2.11
  retrieving revision 1.5.2.12
  diff -u -r1.5.2.11 -r1.5.2.12
  --- embpcgi.test.bat  2000/06/14 12:27:16     1.5.2.11
  +++ embpcgi.test.bat  2000/06/18 19:27:53     1.5.2.12
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x -T %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x -T %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.7.2.12  +1 -1      embperl/embpcgi.test.pl
  
  Index: embpcgi.test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpcgi.test.pl,v
  retrieving revision 1.7.2.11
  retrieving revision 1.7.2.12
  diff -u -r1.7.2.11 -r1.7.2.12
  --- embpcgi.test.pl   2000/06/14 12:27:20     1.7.2.11
  +++ embpcgi.test.pl   2000/06/18 19:27:53     1.7.2.12
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.18.2.12 +2 -2      embperl/embpexec.bat
  
  Index: embpexec.bat
  ===================================================================
  RCS file: /home/cvs/embperl/embpexec.bat,v
  retrieving revision 1.18.2.11
  retrieving revision 1.18.2.12
  diff -u -r1.18.2.11 -r1.18.2.12
  --- embpexec.bat      2000/06/14 12:27:21     1.18.2.11
  +++ embpexec.bat      2000/06/18 19:27:53     1.18.2.12
  @@ -1,9 +1,9 @@
   @rem = '--*-Perl-*--
   @echo off
  -/usr/bin/perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  +D:\Perl\5.00502\bin\MSWin32-x86\perl -x %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
   goto endofperl
   @rem ';
  -#!/usr/bin/perl --
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl --
   #line 8
   ###################################################################################
   #
  
  
  
  1.18.2.12 +1 -1      embperl/embpexec.pl
  
  Index: embpexec.pl
  ===================================================================
  RCS file: /home/cvs/embperl/embpexec.pl,v
  retrieving revision 1.18.2.11
  retrieving revision 1.18.2.12
  diff -u -r1.18.2.11 -r1.18.2.12
  --- embpexec.pl       2000/06/14 12:27:21     1.18.2.11
  +++ embpexec.pl       2000/06/18 19:27:53     1.18.2.12
  @@ -1,4 +1,4 @@
  -#!/usr/bin/perl 
  +#!D:\Perl\5.00502\bin\MSWin32-x86\perl 
   ###################################################################################
   #
   #   Embperl - Copyright (c) 1997-1999 Gerald Richter / ECOS
  
  
  
  1.23.2.9  +2 -1      embperl/ep.h
  
  Index: ep.h
  ===================================================================
  RCS file: /home/cvs/embperl/ep.h,v
  retrieving revision 1.23.2.8
  retrieving revision 1.23.2.9
  diff -u -r1.23.2.8 -r1.23.2.9
  --- ep.h      2000/06/09 14:23:01     1.23.2.8
  +++ ep.h      2000/06/18 19:27:53     1.23.2.9
  @@ -555,7 +555,8 @@
   
   int embperl_CompileInitItem      (/*i/o*/ register req * r,
                                  /*in*/  HV *           pHash,
  -                               /*in*/  int            nNodeName) ;
  +                               /*in*/  int            nNodeName,
  +                               /*in*/  int            nNodeType) ;
   
   int embperl_CompileDocument (/*i/o*/ register req * r) ;
   
  
  
  
  1.1.2.34  +122 -11   embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.1.2.33
  retrieving revision 1.1.2.34
  diff -u -r1.1.2.33 -r1.1.2.34
  --- epcomp.c  2000/06/14 07:20:34     1.1.2.33
  +++ epcomp.c  2000/06/18 19:27:53     1.1.2.34
  @@ -22,6 +22,7 @@
       const char *    sPerlCodeEnd ;
       const char *    sStackName ;
       const char *    sPushStack ;
  +    const char *    sMatchStack ;
       const char *    sStackName2 ;
       const char *    sPushStack2 ;
       int                  numPerlCode ;
  @@ -29,6 +30,7 @@
       int                  bRemoveNode ;
       int                  bPerlCodeRemove ;
       int                  bCompileChilds ;
  +    int                  nNodeType ;
       const char *    sMayJump ;
       } ;
   
  @@ -70,7 +72,8 @@
   
   int embperl_CompileInitItem      (/*i/o*/ register req * r,
                                  /*in*/  HV *           pHash,
  -                               /*in*/  int            nNodeName)
  +                               /*in*/  int            nNodeName,
  +                               /*in*/  int            nNodeType)
   
       {
       SV * * ppSV ;
  @@ -154,12 +157,14 @@
       pEmbperlCmds[nNodeName].sPerlCodeEnd = GetHashValueStrDup  (pHash, 
"perlcodeend", NULL) ;
       pEmbperlCmds[nNodeName].sStackName   = GetHashValueStrDup  (pHash, "stackname", 
NULL) ;
       pEmbperlCmds[nNodeName].sPushStack   = GetHashValueStrDup  (pHash, "push", 
NULL) ;
  +    pEmbperlCmds[nNodeName].sMatchStack   = GetHashValueStrDup  (pHash, 
"stackmatch", NULL) ;
       pEmbperlCmds[nNodeName].sStackName2   = GetHashValueStrDup (pHash, 
"stackname2", NULL) ;
       pEmbperlCmds[nNodeName].sPushStack2   = GetHashValueStrDup (pHash, "push2", 
NULL) ;
       pEmbperlCmds[nNodeName].bRemoveNode  = GetHashValueInt     (pHash, 
"removenode", 0) ;
       pEmbperlCmds[nNodeName].sMayJump     = GetHashValueStrDup  (pHash, "mayjump", 
NULL) ;
       pEmbperlCmds[nNodeName].bPerlCodeRemove  = GetHashValueInt (pHash, 
"perlcoderemove", 0) ;
       pEmbperlCmds[nNodeName].bCompileChilds  = GetHashValueInt  (pHash, 
"compilechilds", 1) ;
  +    pEmbperlCmds[nNodeName].nNodeType  = nNodeType ;
   
   
       if (r -> bDebug & dbgParse)
  @@ -284,7 +289,7 @@
   /*                                                                          */
   /* embperl_CompilePushStack                                                 */
   /*                                                                          */
  -/* Add value of child node to perl code                                     */
  +/* Push valuie on named stack                                               */
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  @@ -319,7 +324,7 @@
   /*                                                                          */
   /* embperl_CompilePopStack                                                  */
   /*                                                                          */
  -/* Add value of child node to perl code                                     */
  +/* pop value from named stack                                               */
   /*                                                                          */
   /* ------------------------------------------------------------------------ */
   
  @@ -340,6 +345,46 @@
   
   /* ------------------------------------------------------------------------ */
   /*                                                                          */
  +/* embperl_CompileMatchStack                                                */
  +/*                                                                          */
  +/* check if top of stack value matches given value                          */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
  +
  +
  +static int embperl_CompileMatchStack (/*in*/ tDomTree *   pDomTree,
  +                                          tNodeData *  pNode,
  +                                          const char * sStackName,
  +                                          const char * sStackValue)
  +                                              
  +    {
  +    SV **   ppSV ;
  +    SV *    pSV ;
  +    AV *    pAV ;
  +    STRLEN  l ;
  +    char *  s ;
  +
  +    ppSV = hv_fetch((HV *)(pDomTree -> pSV), (char *)sStackName, strlen 
(sStackName), 0) ;  
  +    if (ppSV == NULL || *ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
  +        return rcHashError ;
  +
  +    pSV = av_pop ((AV *)SvRV (*ppSV)) ;
  +
  +    s = SvPV (pSV, l) ;
  +    if (strcmp (s, sStackValue) == 0)
  +     return ok ;
  +
  +    strncpy (pCurrReq -> errdat1, Ndx2String (pNode -> nText), sizeof (pCurrReq -> 
errdat1)) ;
  +    sprintf (pCurrReq -> errdat2, "'%s', starttag should be '%s'", s, sStackValue) ;
  +    pCurrReq -> Buf.pCurrPos  = NULL ;
  +    pCurrReq -> Buf.nSourceline = pNode -> nLinenumber ;
  +
  +    return rcTagMismatch ;
  +    }
  +
  +
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
   /* embperl_CompileAddStack                                                  */
   /*                                                                          */
   /* Add value of child node to perl code                                     */
  @@ -421,6 +466,40 @@
   
   /* ------------------------------------------------------------------------ */
   /*                                                                          */
  +/* embperl_CompileAddSiblingNode                                            */
  +/*                                                                          */
  +/* Add value of sibling node to perl code                                   */
  +/*                                                                          */
  +/* ------------------------------------------------------------------------ */
  +
  +
  +static int embperl_CompileAddSiblingNode (/*in*/ tDomTree *   pDomTree,
  +                              /*in*/ tNodeData *      pNode,
  +                                     const char * p,
  +                                     const char * q,
  +                                     char op,
  +                                     char out,
  +                                       /*i/o*/  char * *      ppCode )
  +
  +
  +
  +    {
  +    const char * eq = strchr (p, ':') ;
  +    int nChildNo = atoi (p) ;
  +    struct tNodeData * pChildNode = Node_selfNextSibling (pDomTree, pNode) ;
  +    const char * sText = NULL ;
  +    
  +    while (pChildNode && nChildNo-- > 0)
  +     pChildNode = Node_selfNextSibling (pDomTree, pChildNode) ;
  +     
  +    if (pChildNode)
  +     sText = Node_selfNodeName(pChildNode) ;
  +
  +    return embperl_CompileAddValue (sText, p, q, eq, op, out, ppCode) ;
  +    }
  +
  +/* ------------------------------------------------------------------------ */
  +/*                                                                          */
   /* embperl_CompileAddAttribut                                               */
   /*                                                                          */
   /* Add value of child node to perl code                                     */
  @@ -524,6 +603,14 @@
                        break ;
                        }
                    }
  +             else if (type == '>')
  +                 {
  +                 if (!embperl_CompileAddSiblingNode (pDomTree, pNode ,p, q, op, 
out, ppCode))
  +                     {
  +                     valid = 0 ;
  +                     break ;
  +                     }
  +                 }
                else if (type == '&')
                    {
                    if (!embperl_CompileAddAttribut (pDomTree, pNode ,p, q, op, out, 
ppCode))
  @@ -593,7 +680,7 @@
   /* ------------------------------------------------------------------------ */
   
   
  -embperl_CompileNode (/*in*/  tDomTree *   pDomTree,
  +int embperl_CompileNode (/*in*/  tDomTree *   pDomTree,
                     /*in*/ tNode         xNode,
                     /*i/o*/ int *        bCheckpointPending)
   
  @@ -633,13 +720,19 @@
        
        }
   
  +    pCmd = NULL ;
  +    
       nNdx = Node_selfNodeNameNdx (pNode) ;
   
       if (nNdx <= nMaxEmbperlCmd)
  +     {
        pCmd = &pEmbperlCmds[nNdx] ;
  +     if (pCmd -> nNodeType != pNode -> nType)
  +          pCmd = NULL ;
  +     }
       else
  -        pCmd = NULL ;
  -
  +     pCmd = NULL ;
  +    
       if (pCmd == NULL || (pCmd -> bRemoveNode & 8) == 0)
           { /* calculate attributes before tag, but not when tag should be ignored in 
output stream */
           while (pAttr = Element_selfGetNthAttribut (pDomTree, pNode, nAttr++))
  @@ -840,10 +933,25 @@
                if (pCurrReq -> bDebug & dbgParse)
                    lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Set Checkpoint pending\n", 
pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber) ; 
                }
  -        if (pCmd -> sStackName && pCmd -> sPushStack)
  -            {
  -            embperl_CompilePopStack (pDomTree, pCmd -> sStackName) ;
  -            }
  +     if (pCmd -> sStackName)
  +         {
  +         if (pCmd -> sMatchStack)
  +             {
  +             if (embperl_CompileToPerlCode (pDomTree, pNode, pCmd -> sMatchStack, 
&sStackValue))
  +                 {
  +                 int rc ;
  +                 
  +                 if ((rc = embperl_CompileMatchStack (pDomTree, pNode, pCmd -> 
sStackName, sStackValue)) != ok)
  +                     return rc ;
  +                 }
  +             }
  +         }
  +     else
  +         {
  +         if (pCmd -> sPushStack && pNode -> nType == ntypStartTag)
  +             embperl_CompilePopStack (pDomTree, pCmd -> sStackName) ;
  +         }
  +
           if (pCmd -> sStackName2 && pCmd -> sPushStack2)
               {
               embperl_CompilePopStack (pDomTree, pCmd -> sStackName2) ;
  @@ -852,6 +960,8 @@
   
       StringFree (&sStackValue) ;
       StringFree (&pCode) ;
  +
  +    return ok ;
       }
   
   /* ------------------------------------------------------------------------ */
  @@ -917,7 +1027,8 @@
   
        while (xNode)
            {
  -         embperl_CompileNode (pDomTree, xNode, &bCheckpointPending) ;
  +         if ((rc = embperl_CompileNode (pDomTree, xNode, &bCheckpointPending)) != 
ok)
  +             return rc ;
   
            xNode  = Node_nextSibling (pDomTree, xNode) ;
            }
  
  
  
  1.1.2.27  +2 -0      embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.1.2.26
  retrieving revision 1.1.2.27
  diff -u -r1.1.2.26 -r1.1.2.27
  --- epdom.h   2000/06/13 21:13:37     1.1.2.26
  +++ epdom.h   2000/06/18 19:27:54     1.1.2.27
  @@ -126,6 +126,8 @@
       ntypNotation        = 12,
       } ;
   
  +#define ntypMask 0x1f 
  +
   enum tNodeFlags
       {
       nflgDeleted          = 0,
  
  
  
  1.1.2.26  +1 -1      embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.1.2.25
  retrieving revision 1.1.2.26
  diff -u -r1.1.2.25 -r1.1.2.26
  --- epparse.c 2000/06/14 11:48:59     1.1.2.25
  +++ epparse.c 2000/06/18 19:27:54     1.1.2.26
  @@ -136,7 +136,7 @@
                }
   
            if (strcmp (pKey, "embperl") == 0)
  -             embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> 
nNodeName) ;
  +             embperl_CompileInitItem (r, (HV *)(SvRV (pSVValue)), pToken -> 
nNodeName, pToken -> nNodeType) ;
            }
        }           
   
  
  
  
  1.57.2.27 +1 -0      embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.57.2.26
  retrieving revision 1.57.2.27
  diff -u -r1.57.2.26 -r1.57.2.27
  --- test.pl   2000/06/14 12:27:23     1.57.2.26
  +++ test.pl   2000/06/18 19:27:54     1.57.2.27
  @@ -20,6 +20,7 @@
       'error.htm???7',
       'error.htm???7',
       'errormismatch.htm???1',
  +    'errormismatchcmd.htm???1',
   ##    'unclosed.htm???1',
   #    'errorright.htm???1',
       'notfound.htm???1',
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.26  +57 -4     embperl/Embperl/Attic/Syntax.pm
  
  Index: Syntax.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Attic/Syntax.pm,v
  retrieving revision 1.1.2.25
  retrieving revision 1.1.2.26
  diff -u -r1.1.2.25 -r1.1.2.26
  --- Syntax.pm 2000/06/13 21:13:48     1.1.2.25
  +++ Syntax.pm 2000/06/18 19:27:55     1.1.2.26
  @@ -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.2.25 2000/06/13 21:13:48 richter Exp $
  +#   $Id: Syntax.pm,v 1.1.2.26 2000/06/18 19:27:55 richter Exp $
   #
   ###################################################################################
   
  @@ -411,7 +411,7 @@
            },
       'option' => {
           'text' => 'option',
  -        'nodetype'   => ntypStartTag, 
  +        'nodetype'   => ntypTag, 
           %HtmlTagsStd,
           'inside' => 
               {
  @@ -424,14 +424,14 @@
                   perlcode =>
                       [ 
                       'HTML::Embperl::Cmd::Option (%$n%, %^*\'htmlselect%, 
%&*\'value%);',
  -                    'HTML::Embperl::Cmd::Option (%$n%, %^*\'htmlselect%, %#*\'0%);',
  +                    'HTML::Embperl::Cmd::Option (%$n%, %^*\'htmlselect%, %>*\'0%);',
                       ]
                   }                     
               },
            },
       '/option' => {
           'text' => '/option',
  -        'nodetype'   => ntypEndTag, 
  +        'nodetype'   => ntypTag, 
           'cdatatype'  => 0,
            'starttag'   => 'option', 
            },
  @@ -497,6 +497,8 @@
                   perlcode => 'if (%&<noname>%) { ', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                'push'        => 'if',
                   }
               },
            },
  @@ -511,6 +513,9 @@
                   perlcode => '} else {',
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'if',
  +                'push'      => 'if',
                   }
               },
            },
  @@ -524,6 +529,8 @@
                   perlcode => '}', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'if',
                   }
               },
            },
  @@ -539,6 +546,9 @@
                   perlcode => '} elsif (%&<noname>%) { ', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'if',
  +                'push'      => 'if',
                   }
               },
            },
  @@ -554,6 +564,8 @@
                   perlcode => 'while (%&<noname>%) { ', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                'push'      => 'while',
                   }
               },
            },
  @@ -567,6 +579,8 @@
                   perlcode => '};', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'while',
                   }
               },
            },
  @@ -582,6 +596,8 @@
                   perlcode => 'foreach %&<noname>% { ', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                'push'      => 'foreach',
                   }
               },
            },
  @@ -595,6 +611,8 @@
                   perlcode => '};', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'foreach',
                   }
               },
            },
  @@ -610,6 +628,8 @@
                   perlcode => 'do { ', 
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                'push'      => 'do',
                   }
               },
            },
  @@ -624,6 +644,8 @@
                   perlcode => '} until (%&<noname>%) ; ',
                   removenode => 10,
                   mayjump     => 1,
  +                stackname   => 'metacmd',
  +                stackmatch  => 'do',
                   }
               },
            },
  @@ -809,6 +831,10 @@
   
   Text of childnode number <N> (starting with zero)
   
  +=item %><N>% 
  +
  +Text of sibling node number <N> (starting with zero)
  +
   =item %&<attr>%
   
   Value of attribute <attr>.
  @@ -909,6 +935,33 @@
   If set, tells the compiler that this code may jump to another programm location.
   (e.g. if, while, goto etc.).
   
  +=item compilechilds => 0/1
  +
  +Compile child nodes. Default: 1
  +
  +=item stackname => <name>
  +
  +Name of stack for C<push>, C<stackmatch>
  + 
  +=item stackname2 => <name>
  +
  +Name of stack for C<push2>
  + 
  +=item push => <value> 
  +
  +Push value on stack which name is given with C<stackname>. Value could
  +include the same specical values as C<perlcode>
  +
  +=item push2 => <value> 
  +
  +Push value on stack which name is given with C<stackname2>. Value could
  +include the same specical values as C<perlcode>
  +
  +=item stackmatch => <value> 
  +
  +Check if value on stack which name is given with C<stackname> is the
  +same as the given value. If not give a error message about tag mismatch. Value could
  +include the same specical values as C<perlcode>
   
   =back
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.7   +1 -1      embperl/test/cmp/error.htm
  
  Index: error.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/error.htm,v
  retrieving revision 1.5.2.6
  retrieving revision 1.5.2.7
  diff -u -r1.5.2.6 -r1.5.2.7
  --- error.htm 2000/06/13 21:13:52     1.5.2.6
  +++ error.htm 2000/06/18 19:27:56     1.5.2.7
  @@ -2,7 +2,7 @@
   <H1>Internal Server Error</H1>
   The server encountered an internal error or misconfiguration and was unable to 
complete your request.<P>
   ^Please contact the server administrator\,.*?and inform them of the time the error 
occurred\, and anything you might have done that may have caused the error
  -^^\[.*?\]ERR:  32: Line \d+: Warning in Perl code: Unquoted string 
&quot;qqqqqqqqqqqqqq&quot; may clash with future reserved word at .*?error.htm line 
\d+.<p>
  +^^\[.*?\]ERR:  32: Line \d+: Warning in Perl code: Unquoted string 
&quot;qqqqqqqqqqqqqq&quot; may clash with future reserved word at .*?error.htm line
   ^^\[.*?\]ERR:  32: Line \d+: Warning in Perl code: Use of uninitialized value at 
.*?error.htm line \d+.<p>
   ^^\[.*?\]ERR:  32: Line \d+: Warning in Perl code: Bareword found where operator 
expected at .*?error.htm line \d+, near &quot;\$error is&quot;<p>
   ^^\[.*?\]ERR:  32: Line \d+: Warning in Perl code:   \(Missing operator before 
is\?\)<p>
  
  
  
  1.10.2.4  +19 -0     embperl/test/cmp/input.htm
  
  Index: input.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/input.htm,v
  retrieving revision 1.10.2.3
  retrieving revision 1.10.2.4
  diff -u -r1.10.2.3 -r1.10.2.4
  --- input.htm 2000/06/05 06:44:08     1.10.2.3
  +++ input.htm 2000/06/18 19:27:56     1.10.2.4
  @@ -81,6 +81,24 @@
                <option value="Wert8">Wert8</option>
        </select>
   
  +     <select name="feld5">
  +             <option value="Wert3">Wert3
  +             <option value="Wert4">Wert4
  +             <option value="Wert5" selected>Wert5
  +     </select>
  +
  +     <select name="feld5">
  +             <option>Wert3</option>
  +             <option>Wert4</option>
  +             <option selected>Wert5</option>
  +     </select>
  +
  +     <select name="feld5">
  +             <option>Wert3
  +             <option>Wert4
  +             <option>Wert5
  +     </select>
  +
        <select name="mult" multiple>
                <option value="Wert1">Wert1</option>
                <option value="Wert2">Wert2</option>
  @@ -186,3 +204,4 @@
   
   </body>
   </html>
  +
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.9.2.8   +18 -0     embperl/test/html/input.htm
  
  Index: input.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/input.htm,v
  retrieving revision 1.9.2.7
  retrieving revision 1.9.2.8
  diff -u -r1.9.2.7 -r1.9.2.8
  --- input.htm 2000/06/04 19:42:42     1.9.2.7
  +++ input.htm 2000/06/18 19:27:57     1.9.2.8
  @@ -118,6 +118,24 @@
                <option value="Wert8">Wert8</option>
        </select>
   
  +     <select name="feld5">
  +             <option value="Wert3">Wert3
  +             <option value="Wert4">Wert4
  +             <option value="Wert5">Wert5
  +     </select>
  +
  +     <select name="feld5">
  +             <option>Wert3</option>
  +             <option>Wert4</option>
  +             <option>Wert5</option>
  +     </select>
  +
  +     <select name="feld5">
  +             <option>Wert3
  +             <option>Wert4
  +             <option>Wert5
  +     </select>
  +
        <select name="mult" multiple>
                <option value="Wert1">Wert1</option>
                <option value="Wert2">Wert2</option>
  
  
  

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

Reply via email to