When mail_always/never_cache_fields doesn't match the current caching
decisions in the cache file, write the updated decisions to the file.
enum mail_cache_decision_type cur_dec =
cache->fields[fidx].field.decision;
if ((cur_dec & MAIL_CACHE_DECISION_FORCED) != 0) {
- /* Forced decision. */
+ /* Forced decision. If the decision has
+ changed, update the fields in the file. */
+ if ((cur_dec & ~MAIL_CACHE_DECISION_FORCED) != file_dec)
+ cache->field_header_write_pending = TRUE;
} else if (cache->fields[fidx].decision_dirty) {
/* Decisions have recently been updated
internally. Don't change them. */