Path: utzoo!attcan!uunet!lll-winken!brutus.cs.uiuc.edu!uakari.primate.wisc.edu!caesar.cs.montana.edu!ogccse!schaefer From: schaefer@ogccse.ogc.edu (Barton E. Schaefer) Newsgroups: comp.mail.mush Subject: Re: Dealing with old mail programs? Message-ID: <5775@ogccse.ogc.edu> Date: 22 Nov 89 01:18:07 GMT References: <1817@naucse.UUCP> <128243@sun.Eng.Sun.COM> Reply-To: schaefer@ogccse.UUCP (Barton E. Schaefer) Organization: Oregon Graduate Institute (formerly OGC), Beaverton, OR Lines: 38 In article <128243@sun.Eng.Sun.COM> argv@sun.UUCP (Dan Heller) writes: } In article <1817@naucse.UUCP> sbw@naucse.UUCP (Steve Wampler) writes: } > I need to know if there's an easy way to have mush work a little } > more nicely with old style mailers. I regularly get mail from } > several sites whose mailers don't place an empty line at the } > start of the message body. } } Mush does not require a blank line between headers, Dan's statement is, unfortunately, only half right. The part of mush that parses header information (for purposes of constructing the "headers" display etc.) does not require a blank line. The part that displays messages, copies them to files, etc., DOES require a blank line. Somewhere in msgs.c, in the function copy_msg(): if (*line == '\n') { if (on_hdr) { /* blank line -- end of header */ You need to make two changes. (1) At the top of copy_msg(), declare char *p; (You may also wish to delete the block-scoped declarations of *p that occur elsewhere in that function.) (2) Change the test to if (*line == '\n' || (p = any(line, " \t:")) && *p != ':') { This will handle the case of any non-header line that doesn't start out with "Steve:". Unless you've ignored yourself, that won't matter. :-) -- Bart Schaefer "Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has schaefer@cse.ogi.edu tried to contact us." -- Calvin (used to be cse.ogc.edu)