diff -durp mutt-1.3.22.1/doc/manual.sgml mutt-1.3.22.1.oe.%_.1/doc/manual.sgml
--- mutt-1.3.22.1/doc/manual.sgml Wed Sep 5 02:52:17 2001
+++ mutt-1.3.22.1.oe.%_.1/doc/manual.sgml Wed Sep 5 03:01:26 2001
@@ -4103,6 +4103,7 @@ stashed the message: list name or recipi
(2) at the top of a thread, or (3) `x-label' is different from
preceding message's `x-label'.
%Z message status flags
+%_ toggle conversion to lowercase of subsequent %-expansions
%{fmt} the date and time of the message is converted to sender's
time zone, and ``fmt'' is expanded by the library function
``strftime''; a leading bang disables locales
diff -durp mutt-0.94.12/hdrline.c mutt-0.94.12.oe.%_.1/hdrline.c
--- mutt-0.94.12/hdrline.c Tue Oct 13 13:45:13 1998
+++ mutt-0.94.12.oe.%_.1/hdrline.c Tue Oct 13 17:10:22 1998
@@ -685,6 +685,10 @@ hdr_format_str (char *dest,
else if (flags & M_FORMAT_OPTIONAL)
mutt_FormatString (dest, destlen, elsestring, hdr_format_str, (unsigned long) hfi, flags);
+ /* Convert the result of the expansion to lowercase if that was specified. */
+ if (flags & M_FORMAT_LOWERCASE)
+ mutt_strlower (dest);
+
return (src);
#undef THREAD_NEW
#undef THREAD_OLD
diff -durp mutt-0.94.12/muttlib.c mutt-0.94.12.oe.%_.1/muttlib.c
--- mutt-0.94.12/muttlib.c Tue Oct 13 13:45:26 1998
+++ mutt-0.94.12.oe.%_.1/muttlib.c Tue Oct 13 17:10:58 1998
@@ -911,6 +911,15 @@ void mutt_FormatString (char *dest, /*
continue;
}
+ /* toggle lowercasing of alphabetical chars in an expansion string */
+ if (*src == '_')
+ {
+ flags = flags & M_FORMAT_LOWERCASE ? flags & ~M_FORMAT_LOWERCASE
+ : flags | M_FORMAT_LOWERCASE;
+ src++;
+ continue;
+ }
+
if (*src == '?')
{
flags |= M_FORMAT_OPTIONAL;
diff -durp mutt-0.94.12/mutt.h mutt-0.94.12.oe.%_.1/mutt.h
--- mutt-0.94.12/mutt.h Tue Oct 13 13:45:35 1998
+++ mutt-0.94.12.oe.%_.1/mutt.h Tue Oct 13 17:11:25 1998
@@ -132,7 +132,8 @@ typedef enum
M_FORMAT_OPTIONAL = (1<<3),
M_FORMAT_STAT_FILE = (1<<4), /* used by mutt_attach_fmt */
M_FORMAT_ARROWCURSOR = (1<<5), /* reserve space for arrow_cursor */
- M_FORMAT_INDEX = (1<<6) /* this is a main index entry */
+ M_FORMAT_INDEX = (1<<6), /* this is a main index entry */
+ M_FORMAT_LOWERCASE = (1<<7) /* print the alpha chars in lower case */
} format_flag;
/* types for mutt_add_hook() */
--- mutt-0.94.7i/patchlist.c.orig Sat Sep 19 02:29:51 1998
+++ mutt-0.94.7i/patchlist.c Sat Sep 19 02:54:16 1998
@@ -16,6 +16,8 @@
+ printf("Feature patch: %%_ 0.94.12 by O'Shaughnessy Evans\n");
+
/* DO NOT MODIFY AFTER THIS LINE */