sympy/sympy — pull request #2831 by smichr (2014-01-25 21:59:03+00:00)
Title: restrict multiplicative extraction of negative sign

https://code.google.com/p/sympy/issues/detail?id=3973

No tests fail when making this change and it will alleviate confusion about what is supposed to happen during extraction: the underlying form of the expr should not change: so the sign of the expression should not change unless a negative is extracted from a negative expression:

```
>>> (4*x).extract_multiplicatively(-2) # there's no negative
>>> (-4*x).extract_multiplicatively(-2)
2*x
>>> (-4*x).extract_multiplicatively(2) # -1*4*x so extract 2 from 4
-2*x
```