axis.pan() problem?

I plotted a graph with integer values along the x axis and panned the
axis one step. I now had floating point labels along my integer x axis.
Where did they come from?

When running examples/ with axes.grid=True the gridlines
divide the x axis into five 0.2 units. When I click on the "pan right"
toolbar button I would expect to pan right one grid unit of 0.2.
However, the example pans right by 0.167.

I think the axis.pan() lines
        if numticks==0: numticks = 5
        step = numsteps*self.viewlim.interval()/numticks
should become
        if numticks==0: numticks = 6
        step = numsteps*self.viewlim.interval()/(numticks-1)
so that a one-step pan equals one grid unit.