+/* I think these are supposed to align with fieldMnemonics in msg_renderers.c
+ * So if you change one you have to change the other.
+ * TODO: figure out who did this and beat them with a wet noodle.
+ */
+typedef enum _eMessageField {
+ eAuthor,
+ eXclusivID,
+ erFc822Addr,
+ emessageId,
+ eJournal,
+ eReplyTo,
+ eListID,
+ eMessageText,
+ eIsLocal,
+ eMessagePath,
+ eRecipient,
+ eSpecialField,
+ eTimestamp,
+ eMsgSubject,
+ eenVelopeTo,
+ eWeferences,
+ eCarbonCopY,
+ eHeaderOnly,
+ eFormatType,
+ eMessagePart,
+ eSubFolder,
+ eLastHeader
+} eMessageField;
+
+extern const char* fieldMnemonics[];
+
+int GetFieldFromMnemonic(eMessageField *f, const char* c);
+int EvaluateMsgHdr(const char *HeaderName, long HdrNLen, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
+int EvaluateMsgHdrEnum(eMessageField f, message_summary *Msg, StrBuf *HdrLine, StrBuf *FoundCharset);
+
+
+static inline message_summary* GetMessagePtrAt(int n, HashList *Summ) {