brian-team/brian2 — pull request #287 by mstimberg (2014-07-23 19:16:44+00:00)
Title: Better error messages

This is a collection of rather small changes, improving the error messages a user receives (in particular when using Brian1-style reset and threshold definitions). There's one major bug fixed though: before 7331a8f, you could do this:
```Python
>>> G = NeuronGroup(10, 'v:1')
>>> G.v = np.arange(12)
>>> print G.v

>>> G.v = np.arange(3)
>>> print G.v

```
This is inherited from numpy, because we currently always index with an array:
```Python
>>> ar = np.zeros(10)
>>> ar[:] = np.arange(3) # raises error as expected
...
ValueError: could not broadcast input array from shape (3) into shape (10)
>>> ar[np.arange(10)] = np.arange(3) # works
>>> ar
array([ 0., 1., 2., 0., 1., 2., 0., 1., 2., 0.])
```

We now raise an error if the size of the right-hand-side is not 1 or the size of the index array -- I think that's the right thing to do.

Everything is ready to merge from my side.