]> granicus.if.org Git - mutt/commitdiff
Add new optional index_format expandos %r and %R.
authorDerek Schrock <dereks@lifeofadishwasher.com>
Mon, 21 Sep 2015 00:37:47 +0000 (20:37 -0400)
committerDerek Schrock <dereks@lifeofadishwasher.com>
Mon, 21 Sep 2015 00:37:47 +0000 (20:37 -0400)
These generate a comma separated list of all the To and Cc recipients.

Also, increase the attribution buffer size to accommodate these new
expandos.

UPDATING
hdrline.c
init.h
send.c

index 44a36efc30d8ca96b6019d8875aa8fe25d103ad9..f05478eaca843b700b571b11c361ba8543aae328 100644 (file)
--- a/UPDATING
+++ b/UPDATING
@@ -4,6 +4,10 @@ mutt. Please read this file carefully when upgrading your installation.
 The keys used are:
   !: modified feature, -: deleted feature, +: new feature
 
+default (unreleased):
+  + New expandos %r and %R for comma separated list of To: and Cc:
+    recipients respectively
+
 1.5.24 (2015-08-31):
 
   + terminal status-line (TS) support, a.k.a. xterm title. see the
index 21adc282a9645fc3db87b1ce54821d0e5eb52f1d..b844411e5f5e29cac4311c9dc85c2e1e66457c5b 100644 (file)
--- a/hdrline.c
+++ b/hdrline.c
@@ -219,6 +219,8 @@ int mutt_user_is_recipient (HEADER *h)
  * %N = score
  * %O = like %L, except using address instead of name
  * %P = progress indicator for builtin pager
+ * %r = comma separated list of To: recipients
+ * %R = comma separated list of Cc: recipients
  * %s = subject
  * %S = short message status (e.g., N/O/D/!/r/-)
  * %t = `to:' field (recipients)
@@ -548,6 +550,22 @@ hdr_format_str (char *dest,
       strfcpy(dest, NONULL(hfi->pager_progress), destlen);
       break;
 
+    case 'r':
+      buf2[0] = 0;
+      rfc822_write_address(buf2, sizeof(buf2), hdr->env->to, 1);
+      if (optional && buf2[0] == '\0')
+        optional = 0;
+      mutt_format_s (dest, destlen, prefix, buf2);
+      break;
+
+    case 'R':
+      buf2[0] = 0;
+      rfc822_write_address(buf2, sizeof(buf2), hdr->env->cc, 1);
+      if (optional && buf2[0] == '\0')
+        optional = 0;
+      mutt_format_s (dest, destlen, prefix, buf2);
+      break;
+
     case 's':
       
       if (flags & M_FORMAT_TREE && !hdr->collapsed)
diff --git a/init.h b/init.h
index 569f91e612bc1e580b13f179c4d8df6b7472d45f..60686033d4bc2a06ddb311ee7cb27c58cd0bf91f 100644 (file)
--- a/init.h
+++ b/init.h
@@ -1311,6 +1311,8 @@ struct option_t MuttVars[] = {
   **            stashed the message: list name or recipient name
   **            if not sent to a list
   ** .dt %P .dd progress indicator for the built-in pager (how much of the file has been displayed)
+  ** .dt %r .dd comma separated list of ``To:'' recipients
+  ** .dt %R .dd comma separated list of ``Cc:'' recipients
   ** .dt %s .dd subject of the message
   ** .dt %S .dd status of the message (``N''/``D''/``d''/``!''/``r''/\(as)
   ** .dt %t .dd ``To:'' field (recipients)
diff --git a/send.c b/send.c
index 0c8714d9ac917d86ea1afcffd3b5605fb132f14f..d5a61fb0d7a9ea39eeffe35612bdc42b3582603b 100644 (file)
--- a/send.c
+++ b/send.c
@@ -398,7 +398,7 @@ static int include_forward (CONTEXT *ctx, HEADER *cur, FILE *out)
 
 void mutt_make_attribution (CONTEXT *ctx, HEADER *cur, FILE *out)
 {
-  char buffer[STRING];
+  char buffer[LONG_STRING];
   if (Attribution)
   {
     mutt_make_string (buffer, sizeof (buffer), Attribution, ctx, cur);