]> granicus.if.org Git - mutt/commitdiff
Unreferenced messages pattern: ~$
authorHolger Weiss <lists@jhweiss.de>
Mon, 12 Apr 2004 19:34:45 +0000 (19:34 +0000)
committerHolger Weiss <lists@jhweiss.de>
Mon, 12 Apr 2004 19:34:45 +0000 (19:34 +0000)
doc/manual.sgml.head
doc/muttrc.man.head
mutt.h
pattern.c

index 284626e03b1718ddd4d1998413b0d01858a8aa39..9bba7bcc2657153fc11daa92823c7759149ca64c 100644 (file)
@@ -1784,6 +1784,7 @@ messages:
 ~y EXPR         messages which contain EXPR in the `X-Label' field
 ~z [MIN]-[MAX]  messages with a size in the range MIN to MAX *)
 ~=             duplicated messages (see $duplicate_threads)
+~$             unreferenced messages (requires threaded view)
 </verb></tscreen>
 
 Where EXPR, USER, ID, and SUBJECT are 
index 5e9350a63c7101bb15bad066d880bd98ad69ed1b..d75484e04c32181f3db1cde265d3070f668edd7c 100644 (file)
@@ -407,6 +407,7 @@ l l.
 ~x \fIEXPR\fP  messages which contain \fIEXPR\fP in the \(lqReferences\(rq field
 ~z \fIMIN\fP-\fIMAX\fP messages with a size in the range \fIMIN\fP to \fIMAX\fP
 ~=     duplicated messages (see $duplicate_threads)
+~$     unreferenced message (requries threaded view)
 .TE
 .PP
 In the above, \fIEXPR\fP is a regular expression.
diff --git a/mutt.h b/mutt.h
index 93f7af72a50904e7e0b4c18e4ff7eb1beaff6207..d477ea26ecc403b3643b7e7b9c45988b2e90e99a 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -217,6 +217,7 @@ enum
   M_DATE,
   M_DATE_RECEIVED,
   M_DUPLICATED,
+  M_UNREFERENCED,
   M_ID,
   M_BODY,
   M_HEADER,
index 013e7c6a68282e5d6df06f189e427caf50a13eb4..70130af05f29317687f4754ebea328b7f7e64cc6 100644 (file)
--- a/pattern.c
+++ b/pattern.c
@@ -82,6 +82,7 @@ Flags[] =
   { 'y', M_XLABEL,             0,              eat_regexp },
   { 'z', M_SIZE,               0,              eat_range },
   { '=', M_DUPLICATED,         0,              NULL },
+  { '$', M_UNREFERENCED,       0,              NULL },
   { 0 }
 };
 
@@ -1047,6 +1048,8 @@ mutt_pattern_exec (struct pattern_t *pat, pattern_exec_flag flags, CONTEXT *ctx,
       return (pat->not ^ (h->env->x_label && regexec (pat->rx, h->env->x_label, 0, NULL, 0) == 0));
     case M_DUPLICATED:
       return (pat->not ^ (h->thread && h->thread->duplicate_thread));
+    case M_UNREFERENCED:
+      return (pat->not ^ (h->thread && !h->thread->child));
   }
   mutt_error (_("error: unknown op %d (report this error)."), pat->op);
   return (-1);