The following statement, free of all context, generates an error: x # NameError: undefined local variable or method `x' ... So does this one: x = y # NameError: undefined local variable or method `y' ... However, this one does not (again, free of all context): x = x x # nil This, to me, is inconsistent and undesirable behaviour. I would prefer this: x = x # NameError: undefined local variable or method `x' ... I haven't given it much thought, but the existing behaviour cost me 15 minutes debugging, and I: * don't see a benefit of the existing behaviour; * do see a benefit (consistency) of changing the behaviour. Any comments? Gavin