Leszek wrote: > Simply speaking: page local is a special variable that has different > values in different continuations.
So it seems that a continuation by default only saves the "program counter" (or equivalent notion in JS) but not the local variables. This is a bit counter-intuitive, and blatantly against the documentation[1], but you clearly explained the reasons behind it. What about global variables? And the parameters of a (recursive) function call? I have run a little test and frankly I don't understand what's happening any more. var called = 0 function f(x) { called++ cocoon.sendPageAndWait('test', { x: x, called: called }) f(x + 1) } function called_from_sitemap() { f(1) } called is a global variable. There is a sitemap matcher that calls called_from_sitemap(), which in turn calls f(1), which calls f(2), etc. Every new call to f() increments called (which should grow on par with the stack of x parameters) and sends both variables to 'test', which is: <html> <body> <p> x = ${x} </p> <p> called ${called} times </p> <p> <a href="cont=${continuation.id}">next</a> </p> </body> </html> The cont=* pipeline calls the continuation. Following the 'next' links, I expected to see: x = 1, called 1 times x = 2, called 2 times x = 3, called 3 times At which point I would start playing with the continuations, going back and forth. Instead I get: x = 1, called 1 times x = 1, called 1 times x = 1, called 1 times What's happening? Toby [1] As I pointed out in a previous email, this page http://cocoon.apache.org/2.1/userdocs/flow/continuations.html says: «Think of a continuation as an object that, for a given point in your program, contains a snapshot of the stack trace, including all the local variables, and the program counter.» --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]