Now <?pike for( var.foo = 0; var.foo < 3; var.foo++ ) { //# var.foo is now <b>&var.foo;</b> //@ var.foo is now <b>&var.foo;</b> } ?> results in var.foo is now <b>0</b> var.foo is now <b>&var.foo;</b> var.foo is now <b>1</b> var.foo is now <b>&var.foo;</b> var.foo is now <b>2</b> The actual pike-code that is evaluated is along the lines of mixed parse( RequestID id ) { for( var->foo = 0; var->foo < 3; var->foo++ ) { write( rxml( "var.foo is now <b>&var.foo;</b>\n", id ) ); write( "var.foo is now <b>&var.foo;</b>\n" ); } } Rev: server/modules/scripting/piketag.pike:2.10