richter     00/10/25 23:36:00

  Modified:    .        Tag: Embperl2c Changes.pod epcomp.c epdom.c
  Log:
  - Embperl 2 - sub inside same page works
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.2 +38 -1     embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.1
  retrieving revision 1.129.4.2
  diff -u -r1.129.4.1 -r1.129.4.2
  --- Changes.pod       2000/10/17 12:55:42     1.129.4.1
  +++ Changes.pod       2000/10/26 06:35:57     1.129.4.2
  @@ -1,10 +1,47 @@
   =pod
   
  -=head1 1.3b6_dev -- That's what currently under developement
  +=head1 2.0b1_dev -- That's what currently under developement
   
   Last Update: <$localtime$> (MET)
   
   NOTE: This version is only available via L<"CVS"|CVS/"INTRO">
  +You need to use the CVS tag "Embperl2c" to check it out.
  +
  +
  +   - Output is 8Bit clean. Now you can output strings that contains
  +     binary zeros from Embperl.
  +   - Syntax of Embperl is now defined in module HTML::Embperl::Syntax
  +   - Processing of Embperl is now divided in smaller steps:
  +        1 reading the source
  +        2 parseing 
  +        3 compiling 
  +        4 executing
  +        5 outputing
  +     Since steps 1-3 has only to take place for the first time a file
  +     is processed, Embperl is about 25-50% faster the Embperl 1.x.
  +     (Embperl 1.x has also precompiled the Perl code, but Embperl
  +     goes much further and stores also a precompiled structure of
  +     the document)
  +     This modularisation will also allow to replace single steps
  +     with other modules and to cascade multiple processors, that
  +     work on one document.
  +   - The following options can currently only set from the httpd.conf:
  +     optRawInput, optKeepSpaces
  +   - The following options are currently not supported:
  +     optDisableHtmlScan, optDisableTableScan,
  +     optDisableInputScan, optDisableMetaScan 
  +   - Nesting must be properly. I.e. you cannot put a <table> tag (for an
  +     dynamic table) inside an if and the </table> inside another if.
  +     (That still works for static tables)
  +   - optUndefToEmptyValue is always set and cannot be disabled.
  +   - [$ 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.3b6 (BETA)  18. Oct 2000
   
      - Embperl now runs on ActiveState Perl. (At least in offline mode,
        mod_perl mode seems to still have some problems). With a lot of help
  
  
  
  1.4.2.11  +21 -19    embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.10
  retrieving revision 1.4.2.11
  diff -u -r1.4.2.10 -r1.4.2.11
  --- epcomp.c  2000/10/25 14:27:09     1.4.2.10
  +++ epcomp.c  2000/10/26 06:35:58     1.4.2.11
  @@ -928,7 +928,8 @@
        char buf [80] ;
   
        pNode -> bFlags |= nflgCheckpoint ;
  -     l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode 
-> xNdx:*bCheckpointPending) ;
  +     //l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", 
*bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
  +     l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
        nCheckpointCodeOffset = StringAdd (pProg, buf,  l) ;
        *bCheckpointPending = 0 ;
   
  @@ -1100,24 +1101,6 @@
        lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d -------> parent=%d node=%d type=%d 
text=%s\n", pCurrReq -> nPid, pNode -> xNdx, pNode -> nLinenumber, Node_parentNode 
(pDomTree, pNode -> xNdx), pNode -> xNdx,
                     pNode -> nType, Node_selfNodeName(pNode)) ;
       
  -    //if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == 
ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  -    if ((*bCheckpointPending ||
  -          (pCmd && pCmd -> nSwitchCodeType == 2 && pProg != &pProgDef)) &&
  -         pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  -     {
  -     int l ;
  -     char buf [80] ;
  -     
  -     pNode -> bFlags |= nflgCheckpoint ;
  -     l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", *bCheckpointPending<0?pNode 
-> xNdx:*bCheckpointPending) ;
  -     nCheckpointCodeOffset = StringAdd (pProg, buf,  l) ; 
  -     *bCheckpointPending = 0 ;
  -
  -     if (pCurrReq -> bDebug & dbgParse)
  -         lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Checkpoint\n", pCurrReq -> nPid, 
pNode -> xNdx, pNode -> nLinenumber) ; 
  -     
  -     }
  -
       pCmd = NULL ;
       
       nNdx = Node_selfNodeNameNdx (pNode) ;
  @@ -1131,6 +1114,25 @@
       else
        pCmd = pCmdHead = NULL ;
       
  +
  +//    if (*bCheckpointPending && (pNode -> nType == ntypText || pNode -> nType == 
ntypCDATA) && pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  +//    if (*bCheckpointPending &&      pNode -> bFlags && (pNode -> bFlags & 
nflgIgnore) == 0)
  +    if (*bCheckpointPending &&       !(pCmd && pCmd -> nSwitchCodeType == 2) && 
pNode -> bFlags && (pNode -> bFlags & nflgIgnore) == 0)
  +     {
  +     int l ;
  +     char buf [80] ;
  +     
  +     pNode -> bFlags |= nflgCheckpoint ;
  +     //l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", 
*bCheckpointPending<0?pNode -> xNdx:*bCheckpointPending) ;
  +     l = sprintf (buf, " _ep_cp($_ep_DomTree,%d) ;\n", pNode -> xNdx) ;
  +     nCheckpointCodeOffset = StringAdd (pProg, buf,  l) ; 
  +     *bCheckpointPending = 0 ;
  +
  +     if (pCurrReq -> bDebug & dbgParse)
  +         lprintf (pCurrReq, "[%d]EPCOMP: #%d L%d Checkpoint\n", pCurrReq -> nPid, 
pNode -> xNdx, pNode -> nLinenumber) ; 
  +     
  +     }
  +
       if (pCmd && pCmd -> nSwitchCodeType == 2)
           {
           pProg = &pProgDef ;
  
  
  
  1.4.2.4   +2 -2      embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.3
  retrieving revision 1.4.2.4
  diff -u -r1.4.2.3 -r1.4.2.4
  --- epdom.c   2000/09/26 19:31:59     1.4.2.3
  +++ epdom.c   2000/10/26 06:35:58     1.4.2.4
  @@ -2008,7 +2008,7 @@
                   tNodeData * pParent ;
                   
                   if (pCurrReq -> bDebug & dbgParse)
  -                 lprintf (r, "[%d]toString: Skip Node=%d to Node=%d\n", r -> nPid, 
pNode -> xNdx, xNextNode) ; 
  +                 lprintf (r, "[%d]toString: ** Skip Node=%d to Node=%d (OrderIndex 
%d)\n", r -> nPid, pNode -> xNdx, xNextNode, nOrderNdx) ; 
                
                if (xNextNode == -1)
                    return NULL ; /* end of flow */
  @@ -2055,7 +2055,7 @@
                if ((xNextNode = pOrder[i].xToNode) != pNode -> xNdx && xNextNode)     
 
                    {
                    if (pCurrReq -> bDebug & dbgParse)
  -                     lprintf (r, "[%d]toString: Replace Node=%d with Node=%d\n", r 
-> nPid, pNode -> xNdx, xNextNode) ; 
  +                     lprintf (r, "[%d]toString: ** Replace Node=%d with Node=%d 
(OrderIndex %d, initial %d)\n", r -> nPid, pNode -> xNdx, xNextNode, i, nOrderNdx) ; 
                    pSavedNode = pNode ;    
                    pNode  = Node_self (pDomTree, xNextNode) ;
                    pSavedNodeFrom = pNode ;    
  
  
  

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

Reply via email to