Pyflakes' goal is to be useful. It does not try to fit into any particular formal mathematical framework.
Personally, I avoid the question of what pyflakes should do in this case by not using locals() to interpolate into strings. I don't find that this constrains my ability to write programs easily. I would say that injecting `locals` into a scope and expecting Pyflakes to behave correctly in that case is more unreasonable than expecting locals() interpolated into a string literal to mark the keys in the string literal as used locals. So, go ahead and submit a branch implementing this feature. -- You received this bug notification because you are a member of Divmod- dev, which is the registrant for Pyflakes. https://bugs.launchpad.net/bugs/872503 Title: Pyflakes is unable to recognize string substitution as a use Status in Pyflakes: New Bug description: See attached program for a trivial example of a common idiom: "my special string %(with_a_variable)s"%locals() I wouldn't expect pyflakes to know how to deal with an arbitrary dictionary in the right hand position, but the use of locals() means that certain variables are actually used! To manage notifications about this bug go to: https://bugs.launchpad.net/pyflakes/+bug/872503/+subscriptions -- Mailing list: https://launchpad.net/~divmod-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~divmod-dev More help : https://help.launchpad.net/ListHelp

