Note to self...the overwrite attribute in the Fusebox set verb does exactly that, it overwrites the existing value of the variable.

While working with a Fusebox application, I needed to pass the current fuseaction to the next one. So I crafted a URL like:

view plain print about
1<a href="#request.myself##xfa.delete#&return=#myfusebox.originalfuseaction#">Delete</a>

The delete fuseaction looks for the return value and relocates to that fuseaction. The only problem was, it didn't work. It relocated to the wrong fuseaction. In fact, it was the default return location (I'm reusing the same fuseaction for multiple views). Looking at the code:

view plain print about
1<fuseaction name="doDelete">
2    <set name="attributes.return" value="defaultList" overwrite="true" />
3    <do action="m.deleteRecord" />
4    <relocate url="#request.myself##myfusebox.thiscircuit#.#attributes.return#" addtoken="false" />

I realized my problem. Instead of paraming the attributes.return value, I was setting it. Changing the overwrite attribute to "false" fixed it right up. Mea culpa.