From: ptkwt@... (Phil Tomson) Date: 2006-02-17T05:33:28+09:00 Subject: recontextualizing a block (looking for deep magic) What I'm trying to do probably isn't possible, but maybe someone knows some deep magic. I'd like something like: def runit &b a = 42 pnew = Proc.new &b, binding pnew.call end runit { puts "a is: #{a}" } #would print: a is: 42 Or course, Proc.new currently doesn't take a Binding object second argument. What I'm wondering is if there is any way to 'rebind' or 'recontextualize' a block? Phil