Ahh, the ever-changing watchlist. :)
I've just checked in changes to switch the watchlist table to use namespace/title pairs instead of the cur_id numeric key. This may sound like a dumb idea, but it's actually good:
* Restores ability to watch nonexistent pages that may come into being (or pages that are deleted and recreated -- with a different cur_id, but the same title) * Makes it easier to deal with article/talk pairs; just and/or out the ones bit of the namespace. Now articles and their talks are considered identical; if you're watching one, you're watching the other. If you unwatch one, you unwatch the other.
I also would like it to deal better with renames; it's been suggested (bug report 654899) that both the old and new titles be included in the watchlist. The old old behavior was to show only the old title, which would show up at the time of move as 'moved to XX' (good if you notice it, but won't show any more edits to the article unless you explicitly follow the redirect and add it); the current behavior is to show only the new title, which remains buried at its last edit (but if it's edited again, you see the current edits).
At the moment the cvs code will dupe the watchlist entry for the new title too, but only for the user doing the rename. It should do that for all users, which sounds annoying since you can't do an INSERT INTO ... SELECT FROM the same table in MySQL. So probably a loop, urgh.
Code is running on test.wikipedia.org; try it out and let me know if it's horribly broken before I install it around in the morning.
I've added a 'patch-list.txt' in the maintenance directory; the watchlist fixerupper code is in path-watchlist.sql.
-- brion vibber (brion @ pobox.com)
wikitech-l@lists.wikimedia.org