X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=thread.c;h=2aa421d581fd703e50a9165f7626ef14f9d38d22;hp=0f937946f2a1a30d8334ce000e0b66b3122dd4be;hb=9218fd9d7e2a7976b34683c60cb94f7fda42141a;hpb=bbc4fd52516a8afefbd14c77e34f8389d6f0a6ed diff --git a/thread.c b/thread.c index 0f93794..2aa421d 100644 --- a/thread.c +++ b/thread.c @@ -1259,7 +1259,7 @@ static void clean_references (THREAD * brk, THREAD * cur) if (done) { HEADER *h = cur->message; - /* clearing the References: header from obsolete Message-Id(s) */ + /* clearing the References: header from obsolete Message-ID(s) */ mutt_free_list (&ref->next); h->env->refs_changed = h->changed = 1; @@ -1271,7 +1271,7 @@ void mutt_break_thread (HEADER * hdr) { mutt_free_list (&hdr->env->in_reply_to); mutt_free_list (&hdr->env->references); - hdr->env->irt_changed = hdr->env->refs_changed = 1; + hdr->env->irt_changed = hdr->env->refs_changed = hdr->changed = 1; clean_references (hdr->thread, hdr->thread->child); } @@ -1305,3 +1305,24 @@ int mutt_link_threads (HEADER * cur, HEADER * last, CONTEXT * ctx) return changed; } + +void mutt_adjust_subject (ENVELOPE* e) { + regmatch_t pmatch[1]; + + if (e && e->subject) { + if (regexec (ReplyRegexp.rx, e->subject, 1, pmatch, 0) == 0) + e->real_subj = e->subject + pmatch[0].rm_eo; + else + e->real_subj = e->subject; + } +} + +void mutt_adjust_all_subjects (void) { + int i = 0; + + if (!Context || !Context->msgcount) + return; + + for (i = 0; i < Context->msgcount; i++) + mutt_adjust_subject (Context->hdrs[i]->env); +}