Understanding limits



Hello.

Does anyone know why I get the following behavior when computing limits:

(%i1) limit((-1/2)^x,x,inf);
(%o1)                                  0
(%i2) limit((-2/3)^x,x,inf);
                                              x
                                         (- 2)
(%o2)                           limit    ------
                                x -> inf    x
                                           3
(%i3) limit((-1/%pi)^x,x,inf);
(%o3)                                 und
(%i4) declare(x,integer);
(%o4)                                done
(%i5) limit((-1/%pi)^x,x,inf);
(%o5)                                  0
(%i6) limit((-2/%pi)^x,x,inf);
                                              x
                                         (- 2)
(%o6)                           limit    ------
                                x -> inf     x
                                          %pi


I'm not sure about the right answers with x being non-integer. But when x is 
integer the last two limits should evaluate to 0. One doesn't. Do you I do 
something wrong or is it a limitation of the current algorithms?

Andrei.