There is a full discussion on ML about this topic:
http://groups.google.com/group/turbogears/browse_thread/thread/751f9013caf40801/9084e2e658e65cd1
Thread summary:
- page <= 0 should be handle as page = 1.
- page > page_count should be handle as page = page_count.
- page_count = 0 should bring empty data (as it is now).
- paginate should provide a get_last_href(...) method which would ensure, at server-side, that page = page_count.
As an extra bonus, paginate could force redirects to correct this out of bound situations, so we can have the correct page number at URL.
This bonus behavior would be switched on with a parameter: "paginate.redirect_on_out_of_range"