Seems to be taking the raw 'oldid' URL parameter, which is not necessarily the revision ID number being viewed. For instance when paging through versions, the 'oldid' parameter may reference the starting point for a directional page (with 'dir=prev' or 'dir=next' parameter). Also missing the revision number for current-revision views, losing the permalink ability. This should be using the revision number actually being viewed, which should already be known at the output/skin level for permalink etc.
oldid parameter (it was HTML escaped, but it could be used to make tidy
whinge about "escaping malformed URI reference"). Also there doesn't seem
to be a need to pass the integer parameters by reference, so remove that.
This was done because they needed to be split from one file to two, for efficiency, and it makes sense to have two files in their own directory. It probably makes sense to have each extension in its own directory anyway.
Tested both the inefficient backwards compatible interface and the present interface. Still more to be converted...
* link to title=Special:Cite&page=foo&id=bar in the sidebar rather than Special:Cite/Foo
* Don't gray out the cite link on revision browsing, allows for citing an old revision
* Follow redirects
* Inserting things into the message cache based on the user language is probably going to cause problems
* Use new hook registering syntax
* Only display the cite link in the sidebar in the main namespace
* Page => Article since it's only being shown in the main namespace