summaryrefslogtreecommitdiffabout
Unidiff
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 @@
1GNU mailutils NEWS -- history of user-visible changes. 2019-09-03 1GNU mailutils NEWS -- history of user-visible changes. 2019-09-11
2Copyright (C) 2002-2019 Free Software Foundation, Inc. 2Copyright (C) 2002-2019 Free Software Foundation, Inc.
3See the end of file for copying conditions. 3See the end of file for copying conditions.
4 4
5Please send mailutils bug reports to <bug-mailutils@gnu.org>. 5Please send mailutils bug reports to <bug-mailutils@gnu.org>.
6 6
7Version 3.7.90 (git) 7Version 3.7.90 (git)
@@ -24,13 +24,21 @@ Example configuration (pop3s server):
24 } 24 }
25 25
26* comsatd --test 26* comsatd --test
27 27
28The --test option takes optional argument: name of the tty or file to 28The --test option takes optional argument: name of the tty or file to
29use for reporting. 29use for reporting.
30 30
31* mail
32
33** fix the semantics of 'hold' and 'keepsave' variables
34
35** New message type specification ":s"
36
37Selects messages in state 'saved'.
38
31 39
32Version 3.7 - 2019-06-21 40Version 3.7 - 2019-06-21
33 41
34* Support for the new mailbox format - dotmail 42* Support for the new mailbox format - dotmail
35 43
36Dotmail is a replacement for traditional mbox format, proposed by 44Dotmail 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.
429@item :@var{t} 429@item :@var{t}
430All messages of type @var{t}, where @var{t} can be any of: 430All messages of type @var{t}, where @var{t} can be any of:
431 431
432@table @samp 432@table @samp
433@item d 433@item d
434Deleted messages. 434Deleted messages.
435@item :n 435@item n
436New messages. 436New messages.
437@item :o 437@item o
438Old messages (any message not in state @samp{read} or @samp{new}). 438Old messages (any message not in state @samp{read} or @samp{new}).
439@item :r 439@item r
440Messages in state @samp{read}. 440Messages in state @samp{read}.
441@item :u 441@item u
442Messages in state @samp{unread}. 442Messages in state @samp{unread}.
443@item :t 443@item t
444Selects all tagged messages. 444Selects all tagged messages.
445@item :T 445@item T
446Selects all untagged messages. 446Selects all untagged messages.
447@item s
448Selects all messages in state @samp{saved}.
447@end table 449@end table
448 450
449@item [@var{header}:]/@var{string}[/] 451@item [@var{header}:]/@var{string}[/]
450Header match. 452Header match.
451 453
452Selects all messages that contain header field @var{header} matching 454Selects 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)
687 687
688static char * 688static char *
689msgtype_generator (const char *text, int state) 689msgtype_generator (const char *text, int state)
690{ 690{
691 /* Allowed message types, plus '/'. The latter can folow a colon, 691 /* Allowed message types, plus '/'. The latter can folow a colon,
692 meaning body lookup */ 692 meaning body lookup */
693 static char types[] = "dnorTtu/"; 693 static char types[] = "dnorsTtu/";
694 static int i; 694 static int i;
695 char c; 695 char c;
696 696
697 if (!state) 697 if (!state)
698 { 698 {
699 i = 0; 699 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 /* /.../ */
163 mu_error (_("No applicable messages from {:/%s}"), $1); 163 mu_error (_("No applicable messages from {:/%s}"), $1);
164 YYERROR; 164 YYERROR;
165 } 165 }
166 } 166 }
167 | TYPE /* :n, :d, etc */ 167 | TYPE /* :n, :d, etc */
168 { 168 {
169 if (strchr ("dnorTtu", $1) == NULL) 169 if (strchr ("dnorsTtu", $1) == NULL)
170 { 170 {
171 yyerror (_("unknown message type")); 171 yyerror (_("unknown message type"));
172 YYERROR; 172 YYERROR;
173 } 173 }
174 $$ = msgset_select (select_type, (void *)&$1, 0, 0); 174 $$ = msgset_select (select_type, (void *)&$1, 0, 0);
175 if (!$$) 175 if (!$$)
@@ -743,18 +743,20 @@ select_type (mu_message_t msg, void *closure)
743 case 'n': 743 case 'n':
744 return mu_attribute_is_recent (attr); 744 return mu_attribute_is_recent (attr);
745 case 'o': 745 case 'o':
746 return mu_attribute_is_seen (attr); 746 return mu_attribute_is_seen (attr);
747 case 'r': 747 case 'r':
748 return mu_attribute_is_read (attr); 748 return mu_attribute_is_read (attr);
749 case 'u': 749 case 's':
750 return !mu_attribute_is_read (attr); 750 return mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_SAVED);
751 case 't': 751 case 't':
752 return mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED); 752 return mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED);
753 case 'T': 753 case 'T':
754 return !mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED); 754 return !mu_attribute_is_userflag (attr, MAIL_ATTRIBUTE_TAGGED);
755 case 'u':
756 return !mu_attribute_is_read (attr);
755 } 757 }
756 return 0; 758 return 0;
757} 759}
758 760
759int 761int
760select_deleted (mu_message_t msg, void *closure MU_ARG_UNUSED) 762select_deleted (mu_message_t msg, void *closure MU_ARG_UNUSED)

Return to:

Send suggestions and report system problems to the System administrator.