Differentiating w.r.t. A Subscript



Let's say I want to differentiate a sum w.r.t. one of its terms.  Below is a
trivial case, though my real case is more complex.

(%i1) expr : sum(x[i], i, 1, N);
                                    N
                                   ====
                                   \
(%o1)                               >    x
                                   /      i
                                   ====
                                   i = 1
(%i2) diff(expr, x[1]);
(%o2)                                  0
(%i3)

Of course the answer I'm looking for is 1.  I want Maxima to treat the
summation as if I had written out, for some fixed N:

expr : x[1] + x[2] + x[3] + ... + x[N];

How do I get Maxima to behave more intelligently w.r.t. subscripts?