$book = '..'?>
include "$book/mh.php"; includeHeader('wcvaaof.html', 'mmbwm.html'); ?>Here are some new versions of the repl command. One lets you include the original message in your reply. Another shows how to send a standard answer without typing any text. A third lets you follow up to a message you've already sent. The fourth is for replies to messages that were sent to me at another address.
You may want to include the text from the original message in your reply. I have a version of repl called replx. It acts like repl, but extracts the original text and puts a right angle bracket (>) and space before every line, like this:
    % replx
    To: joeb@xyz.edu (Joe Blom)
    Cc: mh-users@ics.uci.edu
    Subject: Re: whatever
    In-reply-to: <9501090757.AA02588@xyz.edu>
    -------
    On 10 Jan 1995 at 9:51, joeb@xyz.edu (Joe Blom) wrote:
    > Blah blah blah
    > Blah blah blah
    Joe, I think that's right.  But...
    
    NOTE: replx may not work on early versions of MH.
To install replx, use these steps:
Add the following entry to your MH profile, or add the arguments to your alias or function. The -editor vi and -query are optional:
      replx: -filter replxfilt -form replxcomps -editor vi -query
      
      
      
      ; filter file for replx command
      body:component="> "
      
      Put a draft template file named replxcomps in the MH directory. To make it, copy the default system replcomps file. Then delete the the last four lines, shown below (which may be a little different on your version):
      %<{date}In-reply-to: Your message of "\
      %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id}\
                   %{message-id}%>\n%>\
      --------
      
      and replace them by these five lines:
      
      %<{message-id}In-reply-to: %{message-id}\n%>\
      --------\n\
      On %<(nodate{date})%{date}%|%(mday{date}) %(lmonth{date}) %(year{date}) \
      at %(hour{date}):%02(min{date})%>, \
      %<{from}%{from}%?{apparently-from}%{apparently-from}%|%{sender}%>wrote:
      
      You can also get a copy of
      my updated replcomps
      file, with these changes already made, from the book's
      online archive. It's in
      
      examples/mh/Mail/replxcomps.
      The Chapter MH Formatting explains how to modify this.
Sometimes, instead of typing a full reply, you just want to thank a person for something. Or you'd like to send some quick messages that say "OK," or "Request Approved," and so on. You can make versions of repl that send standard replies. For example, one called thanks looks like this. It fills in everything -- you just answer y or n and type s at the What now? prompt:
    % show
        ...Message appears...
    % thanks
    Reply to cathyw? y
    Reply to bigboss? n
    To: cathyw
    Subject: Re: Your report is ready at the copy center
    In-reply-to: ...
    --------
    Thanks!
    --Jerry
    What now? s
    %
    
    The following steps explain how to set up repl versions to
    send standard replies:
    
          ...These lines omitted...
      -------
      Thanks!
      --Jerry
      
      Add this entry to your MH profile, or add the arguments to your alias or function:
      thanks: -form thankscomps -editor cat -query
      
      (If you write the
      push version, you can
      add -whatnowproc push to that entry, too. Then, you
      won't need to wait for the What now? prompt either.
      That's fast!)
    If you'd like to include a copy of the original message, use a standard -form replcomps (instead of thankscomps) in your MH profile entry. Add a -filter thanksfilt (or appfilt, okfilt, ...). Here's an appfilt file that approves a message. It includes the message and adds more details:
    :The following request has been approved for current fiscal year funding:
    :
    body:component="> "
    :
    :1) Fill out form K-9 in triplicate.
    :2) Print your last name first and your first name last.
    :3) Send form to Dee Roff in the Formatting Department.
    :
    :-- Hiram Q. Bigbottom, President
    
    
    After you send a mail message do you ever wish that you'd said one more thing? Here are two versions of repl to make that easier. The foll command sends a followup mail message with the same message header in your followup as in the original message -- plus an X-followup-to: field that references the original. follx works like foll, but it also uses a filter file that extracts (reads in) a copy of your original message and starts a text editor for you. (Of course, you must have a copy of your original message -- for instance, if your original had an Fcc: field in it, or if you cc:'ed yourself.)
For example:
    % comp
    To: belle@vogue.com
    cc: charles@ritz.fr
    Fcc: outbox
    Subject: I loved that show!
    ------
    It was simply maaaahvelous.
    You MUST invite me again.
    CTRL-D
    What now? send
    % follx last +outbox
    To: belle@vogue.com
    cc: charles@ritz.fr
    Subject: Re: I loved that show!
    X-followup-to: My message of "Tue, 10 Jan 1995 02:07:09 -0500."
                 <9501090707.AA28207@mysun.xxx.yyy.zzz>
    ------
    In my message, I wrote:
       It was simply maaaahvelous.
       You MUST invite me again.
    I forgot to mention the lovely caviar!
    Blah, blah, blah...
    CTRL-D
    What now? send
    %
    
    If you don't want to include all of the original text, just edit
    the followup at the What now? prompt (with vi,
    etc.) before you send it.
    Here's how to add foll and follx:
      %(lit)%(formataddr{to})%<(nonnull)%(void(width))%(putaddr To: )\n%>\
      %(lit)%(formataddr{cc})%<(nonnull)%(void(width))%(putaddr cc: )\n%>\
      %<{fcc}Fcc: %{fcc}\n%>\
      Fcc:
      %<{subject}Subject: Re: %{subject}\n%>\
      %<{date}X-followup-to: My message of "\
      %<(nodate{date})%{date}%|%(tws{date})%>."%<{message-id}
                   %{message-id}%>\n%>\
      --------
      
      If you never use folder copies, get rid of the Fcc:
      field. If you'd rather, you can send a cc: to yourself
      automatically by adding %(formataddr(me)) next to
      the %(formataddr{cc}).
      
      ; filter file for follx
      :In my message, I wrote:
      body:nocomponent,offset=3
      
      This second one puts the date of the original message in the
      heading (for help with it, see the
      Chapter MH Formatting). You can
      also get this second version from the book's online archive.
      It's in
      
      examples/mh/Mail/follxfilt.)
      
      ; filter file for follx
      date:nocomponent,formatfield="On %{text} I wrote:"
      body:component="< ",overflowtext="< "
      
      Add these entries to your MH profile, or add the arguments to your alias or function:
      foll: -form follcomps
      follx: -form follcomps -filter follxfilt -editor vi
      
    
    % comp +inbox 12
    
    where +inbox 12 is the message you want to follow up on.
    The comp command will make a new draft with a copy of that
    message. Then you can edit the draft copy and send it.
    That's not as handy as the foll command version, though, because the draft header will have fields (like Date:, Received:, Message-Id:, and so on) that you'll have to delete before you send the draft.
As explained in the Section Signature and From:, I get mail from a few system aliases. When I do, and I want to reply, I'd like to use the alias address in the reply's From: field. I usually also include some of the text from the original message in my reply. I have a version of repl called replb. Like replx, replb includes text from the original message. It also changes the From: address in the header to match the alias. After I finish answering repl -query about the header, it puts me into the vidraft script to edit the message. vidraft, shown below, starts vi with the cursor at the first line of the message body. Of course, you can use any editor you want with replb.
NOTE: replb may not work on early versions of MH.
Here are the steps for installing replb:
Add the following entry to your MH profile, or add the arguments to your alias or function. The -ed vidraft and -query are optional:
      replb: -filter replbfilt -query -nocc me -ed vidraft -form replbcomps
      
      
      #! /bin/sh
      # $Id: vidraft,v 1.1 92/07/19 09:36:09 jerry Exp $
      ### vidraft -- edit draft message starting at top of body
      # ex command goes to top, then row of dashes; then next (if can):
      exec /usr/ucb/vi +'1;/^--*$/;+' $*
      
      
      
      ; filter file for replb command
      body:component="> "
      :
      :-- 
      :Jerry Peek -- Manager, Online Information Services
      :O'Reilly Media, Inc.; 103A Morris St.; Sebastopol, CA 95472 USA
      :ORA info: gopher.ora.com, email to nuts@ora.com, or just phone us.
      :Me: jerry@ora.com; (800)998-9938, +1 707-829-0515, fax +1 707-829-0104
      
       Here's a MIME version that makes a
      multipart message with descriptions. It's also in the online
      archive at
      
      examples/mh/Mail/replbfilt.mime:
      
      ; filter file for replb command
      :#<text/plain [Your original message]
      body:component="> "
      :#<text/plain [Signature]
      :Jerry Peek -- WebMaster, GopherMaster, ListMaster, etc.
      :phone US/Canada toll-free, (800)998-9938;
      :international: +1 707 829-0515; FAX: +1 707 829-0104
      :Information or questions about orders: nuts@ora.com
      
      Put a draft template file named replbcomps in the MH directory. To make it, copy the default system replcomps file. Add the following two lines to the top of the file:
      From: "Your Name" <aliasname@host.xxx.yyy>
      cc: aliasname
      
      (You can also get replbcomps from the book's online
      archive. It's in
      
      examples/mh/Mail/replbcomps.)