Carsten Ziegeler wrote:

[EMAIL PROTECTED] wrote:

Author: sylvain
Date: Tue Feb  1 07:43:40 2005
New Revision: 149408

/**
- * Remove attribute from the current instance, as well as from the
- * wrapped environment.
+ * Remove attribute from the current instance.
*
* @param name a <code>String</code> value
*/
public void removeAttribute(String name) {
super.removeAttribute(name);
- this.environment.removeAttribute(name);
}

Hmm, isn't this an incompatible change? Ok, I always thought that the implementation was not the way one would expect, but we shouldn't imho introduce such changes during maintenance releases. I'm fine with changing this for 2.2.


I tracked down all uses of removeAttribute in the code base (there are really few):
- ActionSetNode.call : the previous implementation could lead to bugs when an action-set was calling a cocoon: that itself uses an action-set
- MountNode.invoke : same bug if a pass-through calls a cocoon: that has a pass-through
- CocoonComponentManager.leaveEnvironment : called only when env stack is empty, meaning we aren't in a wrapped environment


So this change actually fixes some bugs ;-)

Now my changes in pass-through handling aren't finished, as I found some cases where it breaks. Working on it...

Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }



Reply via email to