+++ /dev/null
-Index: h/fmt_compile.h
-===================================================================
-RCS file: /cvs-latest/nmh/nmh/h/fmt_compile.h,v
-retrieving revision 1.1.1.1
-diff -u -r1.1.1.1 fmt_compile.h
---- h/fmt_compile.h 30 Apr 1999 18:08:34 -0000 1.1.1.1
-+++ h/fmt_compile.h 19 Dec 2003 14:58:15 -0000
-@@ -70,40 +70,41 @@
- #define FT_LS_FRIENDLY 58 /* set "str" to "friendly" format addr */
- #define FT_LV_HOSTTYPE 59 /* set "value" to addr host type */
- #define FT_LV_INGRPF 60 /* set "value" to addr in-group flag */
--#define FT_LV_NOHOSTF 61 /* set "value" to addr no-host flag */
-+#define FT_LS_UNQUOTE 61 /* remove RFC 2822 quotes from "str" */
-+#define FT_LV_NOHOSTF 62 /* set "value" to addr no-host flag */
-
- /* Date Coercion */
--#define FT_LOCALDATE 62 /* Coerce date to local timezone */
--#define FT_GMTDATE 63 /* Coerce date to gmt */
-+#define FT_LOCALDATE 63 /* Coerce date to local timezone */
-+#define FT_GMTDATE 64 /* Coerce date to gmt */
-
- /* pre-format processing */
--#define FT_PARSEDATE 64 /* parse comp into a date (tws) struct */
--#define FT_PARSEADDR 65 /* parse comp into a mailaddr struct */
--#define FT_FORMATADDR 66 /* let external routine format addr */
--#define FT_MYMBOX 67 /* do "mymbox" test on comp */
-+#define FT_PARSEDATE 65 /* parse comp into a date (tws) struct */
-+#define FT_PARSEADDR 66 /* parse comp into a mailaddr struct */
-+#define FT_FORMATADDR 67 /* let external routine format addr */
-+#define FT_MYMBOX 68 /* do "mymbox" test on comp */
-
- /* misc. */ /* ADDTOSEQ only works if you include "options LBL" */
--#define FT_ADDTOSEQ 68 /* add current msg to a sequence */
-+#define FT_ADDTOSEQ 69 /* add current msg to a sequence */
-
- /* conditionals & control flow (must be last) */
--#define FT_SAVESTR 69 /* save current str reg */
--#define FT_DONE 70 /* stop formatting */
--#define FT_PAUSE 71 /* pause */
--#define FT_NOP 72 /* nop */
--#define FT_GOTO 73 /* (relative) goto */
--#define FT_IF_S_NULL 74 /* test if "str" null */
--#define FT_IF_S 75 /* test if "str" non-null */
--#define FT_IF_V_EQ 76 /* test if "value" = literal */
--#define FT_IF_V_NE 77 /* test if "value" != literal */
--#define FT_IF_V_GT 78 /* test if "value" > literal */
--#define FT_IF_MATCH 79 /* test if "str" contains literal */
--#define FT_IF_AMATCH 80 /* test if "str" starts with literal */
--#define FT_S_NULL 81 /* V = 1 if "str" null */
--#define FT_S_NONNULL 82 /* V = 1 if "str" non-null */
--#define FT_V_EQ 83 /* V = 1 if "value" = literal */
--#define FT_V_NE 84 /* V = 1 if "value" != literal */
--#define FT_V_GT 85 /* V = 1 if "value" > literal */
--#define FT_V_MATCH 86 /* V = 1 if "str" contains literal */
--#define FT_V_AMATCH 87 /* V = 1 if "str" starts with literal */
-+#define FT_SAVESTR 70 /* save current str reg */
-+#define FT_DONE 71 /* stop formatting */
-+#define FT_PAUSE 72 /* pause */
-+#define FT_NOP 73 /* nop */
-+#define FT_GOTO 74 /* (relative) goto */
-+#define FT_IF_S_NULL 75 /* test if "str" null */
-+#define FT_IF_S 76 /* test if "str" non-null */
-+#define FT_IF_V_EQ 77 /* test if "value" = literal */
-+#define FT_IF_V_NE 78 /* test if "value" != literal */
-+#define FT_IF_V_GT 79 /* test if "value" > literal */
-+#define FT_IF_MATCH 80 /* test if "str" contains literal */
-+#define FT_IF_AMATCH 81 /* test if "str" starts with literal */
-+#define FT_S_NULL 82 /* V = 1 if "str" null */
-+#define FT_S_NONNULL 83 /* V = 1 if "str" non-null */
-+#define FT_V_EQ 84 /* V = 1 if "value" = literal */
-+#define FT_V_NE 85 /* V = 1 if "value" != literal */
-+#define FT_V_GT 86 /* V = 1 if "value" > literal */
-+#define FT_V_MATCH 87 /* V = 1 if "str" contains literal */
-+#define FT_V_AMATCH 88 /* V = 1 if "str" starts with literal */
-
- #define IF_FUNCS FT_S_NULL /* start of "if" functions */
-Index: man/mh-format.man
-===================================================================
-RCS file: /cvs-latest/nmh/nmh/man/mh-format.man,v
-retrieving revision 1.7
-diff -u -r1.7 mh-format.man
---- man/mh-format.man 21 Sep 2003 17:09:31 -0000 1.7
-+++ man/mh-format.man 19 Dec 2003 14:58:18 -0000
-@@ -282,6 +282,7 @@
- .\" decodecomp comp string Set \fIstr\fR to RFC-2047 decoded component text
- decode expr string decode \fIstr\fR as RFC-2047 (MIME-encoded)
- component
-+unquote expr string remove RFC-2822 quotes from \fIstr\fR
- trim expr trim trailing white-space from \fIstr\fR
- putstr expr print \fIstr\fR
- putstrf expr print \fIstr\fR in a fixed width
-Index: sbr/fmt_compile.c
-===================================================================
-RCS file: /cvs-latest/nmh/nmh/sbr/fmt_compile.c,v
-retrieving revision 1.6
-diff -u -r1.6 fmt_compile.c
---- sbr/fmt_compile.c 11 Aug 2003 01:20:52 -0000 1.6
-+++ sbr/fmt_compile.c 19 Dec 2003 14:58:18 -0000
-@@ -149,6 +149,8 @@
- { "mymbox", TF_COMP, FT_LV_COMPFLAG, FT_MYMBOX, TFL_PUTN },
- { "addtoseq", TF_STR, FT_ADDTOSEQ, 0, 0 },
-
-+ { "unquote", TF_EXPR, FT_LS_UNQUOTE, 0, TFL_PUTS},
-+
- { NULL, 0, 0, 0, 0 }
- };
-
-Index: sbr/fmt_scan.c
-===================================================================
-RCS file: /cvs-latest/nmh/nmh/sbr/fmt_scan.c,v
-retrieving revision 1.13
-diff -u -r1.13 fmt_scan.c
---- sbr/fmt_scan.c 30 Sep 2003 19:55:12 -0000 1.13
-+++ sbr/fmt_scan.c 19 Dec 2003 14:58:20 -0000
-@@ -682,6 +682,38 @@
- }
- }
- }
-+ break;
-+
-+
-+ /* UNQUOTEs RFC-2822 quoted-string and quoted-pair */
-+ case FT_LS_UNQUOTE:
-+ if (str) {
-+ int m;
-+ strncpy(buffer, str, sizeof(buffer));
-+ str = buffer;
-+
-+ /* we will parse from buffer to buffer2 */
-+ n = 0; /* n is the input position in str */
-+ m = 0; /* m is the ouput position in buffer2 */
-+
-+ while ( str[n] != '\0') {
-+ switch ( str[n] ) {
-+ case '\\':
-+ n++;
-+ if ( str[n] != '\0')
-+ buffer2[m++] = str[n++];
-+ break;
-+ case '"':
-+ n++;
-+ break;
-+ default:
-+ buffer2[m++] = str[n++];
-+ break;
-+ }
-+ }
-+ buffer2[m] = '\0';
-+ str = buffer2;
-+ }
- break;
-
- case FT_LOCALDATE:
-
-
-