On Jun 14, 2009, at 03:47 , apeiros wrote: > In ruby 1.8, instance_eval yielded self, this is no longer the case > in ruby 1.9. > Was this an informed decision or just an oversight (after all it was > undocumented in 1.8)? > If it was an informed decision I'd be interested in the rationale. > If it was an oversight: could we have it back please? > It was nice for blocks that didn't care whether they were > instance_eval'd or just called/yielded to, as long as they get an > argument. With 1.9 those blocks have to be written specifically for > instance_eval and use self instead of the argument. I'd really like to hear someone weigh in on this. Personally, I hope it was unintentional and can go back. It'd be nice if self.instance_eval(&block) and Block#call(self) can be interchanged.