Version: (using KDE KDE 3.5.2) Installed from: Debian testing/unstable Packages This is just a small but obvious glitch. From kmmainwidget.cpp: void KMMainWidget::slotNextUnreadMessage() { if ( !mHeaders->nextUnreadMessage() ) if ( GlobalSettings::self()->loopOnGotoUnread() == GlobalSettings::EnumLoopOnGotoUnread::LoopInAllFolders ) mFolderTree->nextUnreadFolder(true); } If the last and only unread message in a folder is active, mHeaders->nextUnreadMessage() will find it and nothing will happen. It can be argued whether this is a bug; if there are two unread messages, "Next unread" without waiting for the mails to be read will jump back and forth between them, and that's expected. But nothing happening always feels wrong. In addition, the fix to Bug 92915 won't work as the marking as read is done asynchronously, so spacing past the end of the last unread in a folder will cause it to be marked read but not jump to the next folder with unread mail. mHeaders->nextUnreadMessage(false) should suffice; KMHeaders::prevUnreadMessage() doesn't have that parameter though.
Thank you for taking the time to file a bug report. KMail2 was released in 2011, and the entire code base went through significant changes. We are currently in the process of porting to Qt5 and KF5. It is unlikely that these bugs are still valid in KMail2. We welcome you to try out KMail 2 with the KDE 4.14 release and give your feedback.