Hello, Here's the followup patch that accounts for the missed events. Specifically, some kinds of events actually can have a differing month (specifically Easter and Weekly events like Every Monday).
This allows all tests to pass (from previous email): Index: day.c =================================================================== RCS file: /home/cvs/src/usr.bin/calendar/day.c,v retrieving revision 1.33 diff -u -p -r1.33 day.c --- day.c 13 Jul 2016 21:32:01 -0000 1.33 +++ day.c 28 Jul 2016 08:46:54 -0000 @@ -543,7 +543,9 @@ isnow(char *endp, int bodun) tdiff = difftime(ttmp, f_time)/ SECSPERDAY; if (tdiff <= offset + f_dayAfter || (bodun && tdiff == -1)) { - if ((tmtmp.tm_mon == month) && + if (((tmtmp.tm_mon == month) || + (flags & F_SPECIAL) || + (interval == WEEKLY)) && (tdiff >= 0 || (bodun && tdiff == -1))) { if ((tmp = malloc(sizeof(struct match))) == NULL) -- TAI64 timestamp: 400000005799c9d4