I've tried a couple times to get In-Reply-To support added to mail(1):

  https://marc.info/?l=openbsd-tech&m=173749183921237&w=2
  https://marc.info/?l=openbsd-tech&m=170680914319263&w=2
  https://marc.info/?l=openbsd-tech&m=173229446625852&w=2

Apparently the most recent time I nudged this, it was pretty close to
cutting 7.7, so I was told it would be worth trying to wait until after
7.7-release dust had settled.

There was some feedback about wanting to keep patches to single
units of functionality:

  https://marc.info/?l=openbsd-tech&m=170688584404931&w=2

so this diff should be about as targeted as I can make it.

Here's giving a nudge in the hope it can get a thumbs-up.

Thanks!

-tkc
-- 





------------------->8---------------------

diff --git a/def.h b/def.h
index 5df43a6..2dfc656 100644
--- a/def.h
+++ b/def.h
@@ -173,6 +173,7 @@ struct header {
        struct name *h_to;              /* Dynamic "To:" string */
        char *h_from;                   /* User-specified "From:" string */
        char *h_subject;                /* Subject string */
+       char *h_inreplyto;              /* "In-Reply-To:" string */
        struct name *h_cc;              /* Carbon copies string */
        struct name *h_bcc;             /* Blind carbon copies */
        struct name *h_smopts;          /* Sendmail options */
diff --git a/cmd3.c b/cmd3.c
index 3cf968e..7b23c14 100644
--- a/cmd3.c
+++ b/cmd3.c
@@ -240,6 +240,7 @@ _respond(int *msgvec)
                head.h_cc = NULL;
        head.h_bcc = NULL;
        head.h_smopts = NULL;
+       head.h_inreplyto = skin(hfield("message-id", mp));
        mail1(&head, 1);
        return(0);
 }
@@ -620,6 +621,7 @@ _Respond(int *msgvec)
        head.h_from = NULL;
        head.h_cc = NULL;
        head.h_bcc = NULL;
+       head.h_inreplyto = skin(hfield("message-id", mp));
        head.h_smopts = NULL;
        mail1(&head, 1);
        return(0);
diff --git a/send.c b/send.c
index 9582675..fa9028f 100644
--- a/send.c
+++ b/send.c
@@ -288,6 +288,7 @@ mail(struct name *to, struct name *cc, struct name *bcc, 
struct name *smopts,
        head.h_subject = subject;
        head.h_cc = cc;
        head.h_bcc = bcc;
+       head.h_inreplyto = NULL;
        head.h_smopts = smopts;
        mail1(&head, 0);
        return(0);
@@ -308,6 +309,7 @@ sendmail(void *v)
        head.h_subject = NULL;
        head.h_cc = NULL;
        head.h_bcc = NULL;
+       head.h_inreplyto = NULL;
        head.h_smopts = NULL;
        mail1(&head, 0);
        return(0);
@@ -529,6 +531,8 @@ puthead(struct header *hp, FILE *fo, int w)
                fmt("Cc:", hp->h_cc, fo, w&GCOMMA), gotcha++;
        if (hp->h_bcc != NULL && w & GBCC)
                fmt("Bcc:", hp->h_bcc, fo, w&GCOMMA), gotcha++;
+       if (hp->h_inreplyto != NULL)
+               fprintf(fo, "In-Reply-To: <%s>\n", hp->h_inreplyto), gotcha++;
        if (gotcha && w & GNL)
                (void)putc('\n', fo);
        return(0);
diff --git a/tty.c b/tty.c
index 51f7ab7..e1ec61f 100644
--- a/tty.c
+++ b/tty.c
@@ -144,6 +144,7 @@ grabh(struct header *hp, int gflags)
                        goto out;
                hp->h_bcc = extract(s, GBCC);
        }
+       hp->h_inreplyto = NULL;
        error = 0;
 out:
        (void)sigaction(SIGTSTP, &savetstp, NULL);

Reply via email to