diff -ur mutt-1.1.9-orig/hdrline.c mutt-1.1.9/hdrline.c --- mutt-1.1.9-orig/hdrline.c Fri Mar 3 04:10:08 2000 +++ mutt-1.1.9/hdrline.c Thu Mar 23 02:56:36 2000 @@ -216,6 +216,7 @@ * %T = $to_chars * %u = user (login) name of author * %v = first name of author, unless from self + * %y = X-Label: head, or nothing * %Z = status flags */ struct hdr_format_info @@ -607,6 +608,21 @@ if ((p = strpbrk (buf2, " %@"))) *p = 0; snprintf (dest, destlen, fmt, buf2); + break; + + case 'y': + if (optional) + { + optional = hdr->env->label ? 1 : 0; + break; + } + snprintf (fmt, sizeof (fmt), "%%%ss", prefix); + if (hdr->env->label) + { + if (flags & M_FORMAT_TREE && hdr->tree) + break; + snprintf (dest, destlen, fmt, NONULL (hdr->env->label)); + } break; case 'Z': diff -ur mutt-1.1.9-orig/mutt.h mutt-1.1.9/mutt.h --- mutt-1.1.9-orig/mutt.h Fri Mar 3 04:10:10 2000 +++ mutt-1.1.9/mutt.h Thu Mar 23 02:30:08 2000 @@ -458,6 +458,7 @@ char *message_id; char *supersedes; char *date; + char *label; LIST *references; /* message references (in reverse order) */ LIST *userhdrs; /* user defined headers */ } ENVELOPE; diff -ur mutt-1.1.9-orig/parse.c mutt-1.1.9/parse.c --- mutt-1.1.9-orig/parse.c Tue Mar 7 18:06:47 2000 +++ mutt-1.1.9/parse.c Thu Mar 23 02:19:42 2000 @@ -1185,6 +1185,11 @@ } matched = 1; } + else if (mutt_strcasecmp (line+1, "-label") == 0) + { + e->label = safe_strdup(p); + matched = 1; + } default: break;