mmidy       00/10/06 13:22:57

  Modified:    java/src/org/apache/xalan/templates ElemApplyTemplates.java
                        ElemCallTemplate.java
  Log:
  Fix when pushing and popping context markers
  
  Revision  Changes    Path
  1.3       +2 -8      
xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java
  
  Index: ElemApplyTemplates.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemApplyTemplates.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ElemApplyTemplates.java   2000/07/05 14:39:54     1.2
  +++ ElemApplyTemplates.java   2000/10/06 20:22:54     1.3
  @@ -162,16 +162,10 @@
             mode = m_mode;
           }
   
  -        // Dragons here.  Push the params & stack frame, but then 
  -        // execute the select statement inside transformSelectedNodes, 
  -        // which must be executed in the stack frame before the 
  -        // new stack frame.  Because of depth-first searching, this 
  -        // gets worse.
           VariableStack vars = transformer.getXPathContext().getVarStack();
  -        int selectStackFrameIndex = vars.getCurrentStackFrameIndex();
  +        int selectStackFrameIndex = vars.getCurrentStackFrameIndex();       
           
  -        vars.pushContextMarker();
  -        vars.setCurrentStackFrameIndex(selectStackFrameIndex);
  +        // This call will cause a context marker to be pushed into the stack 
           transformer.pushParams(getStylesheet(), 
                           this, 
                           sourceNode, mode);
  
  
  
  1.4       +2 -4      
xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java
  
  Index: ElemCallTemplate.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemCallTemplate.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ElemCallTemplate.java     2000/07/23 17:45:05     1.3
  +++ ElemCallTemplate.java     2000/10/06 20:22:55     1.4
  @@ -148,10 +148,8 @@
       {
         XPathContext xctxt = transformer.getXPathContext();
         VariableStack vars = xctxt.getVarStack();
  -      int selectStackFrameIndex = vars.getCurrentStackFrameIndex();
  +      // int selectStackFrameIndex = vars.getCurrentStackFrameIndex();
         
  -      vars.pushContextMarker();
  -      vars.setCurrentStackFrameIndex(selectStackFrameIndex);
         transformer.pushParams(getStylesheet(), 
                                this, sourceNode, mode);
         vars.setCurrentStackFrameIndex(vars.size());
  @@ -168,7 +166,7 @@
           transformer.popElemTemplateElement();
           xctxt.setSAXLocator(savedLocator);
           vars.popCurrentContext();
  -        vars.setCurrentStackFrameIndex(selectStackFrameIndex);
  +        // vars.setCurrentStackFrameIndex(selectStackFrameIndex);
         }
       }
       else
  
  
  

Reply via email to