Bugfix: msgid list handling was built entirely around the idea of obsolete entries being at the end of a .po file. Some .po files I came across had obsolete entries interspersed with the normal entries (this is apparently valid in .po files), so this needed adjusting, regrettably introducing a bit of complexity and non-elegance to the code.