Hello. mutt_buffy_check() has the following code fragment at the beginning of `Incoming' loop (line 311 of buffy.c on tip):
if (stat (tmp->path, &sb) != 0 || sb.st_size == 0 || (!tmp->magic && (tmp->magic = mx_get_magic (tmp->path)) <= 0)) { /* if the mailbox still doesn't exist, set the newly created flag to * be ready for when it does. */ tmp->newly_created = 1; tmp->magic = 0; tmp->size = 0; continue; } can `sb.st_size == 0' part be changed to the following? (S_ISREG(sb.st_mode) && sb.st_size == 0) || That part was introduced by this commit: http://dev.mutt.org/hg/mutt/rev/472aee12ade2 Consider empty folders to be non-existent for buffy's purposes. If I understand correctly, this is a short-cut logic which only works for an mbox type of mailbox, whose container is a single regular file. For other types of mailbox whose container is a directory (or a set of directories), it needs to go through some more logic to tell one mailbox type from another. On many systems, st_size for a directory is a positive value, so this short-cut logic won't be triggered for such mailboxes. However, the st_size for a directory is (SUS-ly) undefined, so on a system where st_size for a non-empty directory IS zero, the short-cut logic unexpectedly triggers, and no new mails are notified for MH or Maildir mailboxes. HAMMER on DragonFly is such a filesystem whose directories always have st_size of 0. Thanks.