]> granicus.if.org Git - mutt/commitdiff
Improved limit-to-all detection by skipping leading spaces of the pattern.
authorVincent Lefevre <vincent@vinc17.net>
Sun, 22 Jul 2018 00:57:32 +0000 (02:57 +0200)
committerVincent Lefevre <vincent@vinc17.net>
Sun, 22 Jul 2018 00:57:32 +0000 (02:57 +0200)
There are many equivalent limit-to-all patterns, but in practice, one
may want to limit to " ~A" in order to prevent the pattern from being
recorded in the history. Thus it is important to detect at least this
pattern and similar ones.

pattern.c

index cfe4a700c946463e4470bd4efb610b45a1d99eba..c8bb185904e2282c0da04bd3e75b287de67b0fd4 100644 (file)
--- a/pattern.c
+++ b/pattern.c
@@ -1532,6 +1532,8 @@ int mutt_pattern_func (int op, char *prompt)
 
   if (op == MUTT_LIMIT)
   {
+    char *pbuf;
+
     /* drop previous limit pattern */
     FREE (&Context->pattern);
     if (Context->limit_pattern)
@@ -1541,7 +1543,10 @@ int mutt_pattern_func (int op, char *prompt)
       mutt_error _("No messages matched criteria.");
 
     /* record new limit pattern, unless match all */
-    if (mutt_strcmp (buf, "~A") != 0)
+    pbuf = buf;
+    while (*pbuf == ' ')
+      pbuf++;
+    if (mutt_strcmp (pbuf, "~A") != 0)
     {
       Context->pattern = simple;
       simple = NULL; /* don't clobber it */