summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--NEWS12
-rw-r--r--doc/texinfo/programs/mail.texi14
-rw-r--r--mail/mailline.c2
-rw-r--r--mail/msgset.y8
4 files changed, 24 insertions, 12 deletions
diff --git a/NEWS b/NEWS
index 50eadb8..f23851e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
-GNU mailutils NEWS -- history of user-visible changes. 2019-09-03
+GNU mailutils NEWS -- history of user-visible changes. 2019-09-11
Copyright (C) 2002-2019 Free Software Foundation, Inc.
See the end of file for copying conditions.
Please send mailutils bug reports to <bug-mailutils@gnu.org>.
Version 3.7.90 (git)
@@ -24,13 +24,21 @@ Example configuration (pop3s server):
}
* comsatd --test
The --test option takes optional argument: name of the tty or file to
use for reporting.
-
+
+* mail
+
+** fix the semantics of 'hold' and 'keepsave' variables
+
+** New message type specification ":s"
+
+Selects messages in state 'saved'.
+
Version 3.7 - 2019-06-21
* Support for the new mailbox format - dotmail
Dotmail is a replacement for traditional mbox format, proposed by
diff --git a/doc/texinfo/programs/mail.texi b/doc/texinfo/programs/mail.texi
index b4c68a1..accd891 100644
--- a/doc/texinfo/programs/mail.texi
+++ b/doc/texinfo/programs/mail.texi
@@ -429,24 +429,26 @@ All messages with ordinal numbers between @var{n} and @var{m}, inclusive.
@item :@var{t}
All messages of type @var{t}, where @var{t} can be any of:
@table @samp
@item d
Deleted messages.
-@item :n
+@item n
New messages.
-@item :o
+@item o
Old messages (any message not in state @samp{read} or @samp{new}).
-@item :r
+@item r
Messages in state @samp{read}.
-@item :u
+@item u
Messages in state @samp{unread}.
-@item :t
+@item t
Selects all tagged messages.
-@item :T
+@item T
Selects all untagged messages.
+@item s
+Selects all messages in state @samp{saved}.
@end table
@item [@var{header}:]/@var{string}[/]
Header match.
Selects all messages that contain header field @var{header} matching
diff --git a/mail/mailline.c b/mail/mailline.c
index 647cb1e..d6cef37 100644
--- a/mail/mailline.c
+++ b/mail/mailline.c
@@ -687,13 +687,13 @@ folder_generator (const char *text, int state)
static char *
msgtype_generator (const char *text, int state)
{
/* Allowed message types, plus '/'. The latter can folow a colon,
meaning body lookup */
- static char types[] = "dnorTtu/";
+ static char types[] = "dnorsTtu/";
static int i;
char c;
if (!state)
{
i = 0;
diff --git a/mail/msgset.y b/mail/msgset.y
index 8011dc7..6f31325 100644
--- a/mail/msgset.y
+++ b/mail/msgset.y
@@ -163,13 +163,13 @@ msg : header REGEXP /* /.../ */
mu_error (_("No applicable messages from {:/%s}"), $1);
YYERROR;
}
}
| TYPE /* :n, :d, etc */
{
- if (strchr ("dnorTtu", $1) == NULL)
+ if (strchr ("dnorsTtu", $1) == NULL)
{
yyerror (_("unknown message type"));
YYERROR;
}
$$ = msgset_select (select_type, (void *)&$1, 0, 0);
if (!$$)
@@ -743,18 +743,20 @@ select_type (mu_message_t msg, void *closure)
case 'n':
return mu_attribute_is_recent (attr);
case 'o':
return mu_attribute_is_seen (attr);
case 'r':
return mu_attribute_is_read (attr);
- case 'u':
- return !mu_attribute_is_read (attr);
+ case 's':
+ return mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_SAVED);
case 't':
return mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED);
case 'T':
return !mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED);
+ case 'u':
+ return !mu_attribute_is_read (attr);
}
return 0;
}
int
select_deleted (mu_message_t msg, void *closure MU_ARG_UNUSED)

Return to:

Send suggestions and report system problems to the System administrator.