Subject: [mg56696] named pattern variable scoped as global, should be local

From: leenewman at gmail.com

Date: Wed, 4 May 2005 00:33:07 -0400 (EDT)

Sender: owner-wri-mathgroup at wolfram.com

When using a named pattern variable within a module, it should be
scoped locally within the pattern. However, this does not seem to work
as advertised. For example, shouldn't the pattern variable x in the
statements below be local to the pattern? Does anyone know whether
this is a bug, or whether I am just missing something about the usage
of variables in patterns/condition constructs?
(* this returns 14! *)
x = 7;
Module[{x},{1, 2, 3} /. x_ -> 2x];
(* this returns {2,4,6}, assuming q is not globally defined. *)
Remove[q];
Module[{q},{1, 2, 3} /. q_ -> 2q];
Lee