[comp.mail.mh] Formats and filters in forw in mh

avolio@decuac.DEC.COM (Frederick M. Avolio) (01/09/88)

This is probably quite basic, so just answer to me via email please. 
I just started using MH...

I would like, when forwarding, to have format header lines understood
in my forwcomps file just as they are in my replcomps file.  When
replying repl fills in header information (Subject:, In-reply-to:,
etc.) from the message being read in.  I would like forw to do this,
but when I try to include format statements in my forwcomps they just
get copied in as plain text.  (I would like, for example, forw to fill
in the Subject: line much like gnu emacs does in and perhaps to add a
"forwarded-from:" header or something.

Can this be done?

Thanks for any help.

Fred

avolio@decuac.dec.com
{decvax,cbosgd,hadron,umd5}!decuac!avolio
decwrl!decuac.dec.com!avolio

bd@HPLABS.HP.COM (bob desinger) (01/10/88)

> I just started using MH...

Welcome to the fold!  Isn't MH great?!

> (I would like, for example, forw to fill
> in the Subject: line much like gnu emacs does in and perhaps to add a
> "forwarded-from:" header or something.)

This may be kind of a dumb question, but why not continue to use Gnu
Emacs with MH?  I'm using it now.  (I configured my MH with the `mhe'
switch at compile time, which is necessary.)  I type `M-x mh-rmail' to
inc my mail and reply to it.  The MH lisp code for Gnu is in
${GNU-LIB}/lisp/mh-e.el, if you want to peruse it.  Its key-bindings
seem to be based more on Gnu's rmail package than MH's command names,
so it may be easier or harder to learn depending on where you're
coming from.  I've used MH before, never rmail, and I just started
using the Gnu interface two days ago, so I'm still getting used to it.
But I really like it so far, despite the trouble of re-teaching my
fingers new commands to type.

bob desinger
Longtime MH enthusiast
bd@hpsemc.HP.COM	decvax!hplabs!hpsemc!bd

pokey@well.UUCP (Jef Poskanzer) (01/10/88)

In the referenced message, avolio@decuac.DEC.COM (Frederick M. Avolio) wrote:
}This is probably quite basic, so just answer to me via email please. 
}
}I would like, when forwarding, to have format header lines understood
}in my forwcomps file just as they are in my replcomps file.

As far as I've been able to tell, it's not at all basic.  This is yet
another of the mysterious deficiencies in MH.  Fortunately, you can get
around it by using repl to do forwarding.  I posted a message showing
how to do this a few months ago, but I might as well post the info again.
Appended is a shar file with the necessary stuff.

If there's a simpler way to do this, I would certainly like to hear
about it.
---
Jef

              Jef Poskanzer   jef@lbl-rtsg.arpa   ...well!pokey
             No postage necessary if mailed in the United States.

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
#	scripts/forw
#	mh/forw1.comps
#	mh/forw1.mhl
# This archive created: Sat Jan  9 23:08:44 1988
# By:	Jef Poskanzer
export PATH; PATH=/bin:/usr/bin:$PATH
echo shar: "extracting 'scripts/forw'" '(488 characters)'
if test -f 'scripts/forw'
then
	echo shar: "will not over-write existing file 'scripts/forw'"
else
sed 's/^X//' << \SHAR_EOF > 'scripts/forw'
X#!/bin/csh -f
X#
X# forw - use repl to forward a single message, otherwise fall back on forw
X#
X# v01a - 29jul87 - Jef Poskanzer
X
Xset realforw=/usr/new/mh/forw
X
Xforeach a ( $* )
X    switch ( "$a" )
X	case -*:
X	    breaksw
X	case *-*:
X	case *:*:
X	case all:
X	    $realforw $*
X	    exit 0
X	default:
X	    if ( $?foundsingle ) then
X		$realforw $*
X		exit 0
X	    endif
X	    set foundsingle
X	    breaksw
X    endsw
Xend
X
X# Only one message, handle specially.
Xrepl -form forw1.comps -filter forw1.mhl $*
SHAR_EOF
if test 488 -ne "`wc -c < 'scripts/forw'`"
then
	echo shar: "error transmitting 'scripts/forw'" '(should have been 488 characters)'
fi
chmod +x 'scripts/forw'
fi
echo shar: "extracting 'mh/forw1.comps'" '(142 characters)'
if test -f 'mh/forw1.comps'
then
	echo shar: "will not over-write existing file 'mh/forw1.comps'"
else
sed 's/^X//' << \SHAR_EOF > 'mh/forw1.comps'
XTo: 
X%<{subject}Subject: Re: %{subject}\n%>\
XOrganization: Paratheo-Anametamystikhood Of Eris Esoteric, Ada Lovelace Cabal
XFcc: +out
X--------
SHAR_EOF
if test 142 -ne "`wc -c < 'mh/forw1.comps'`"
then
	echo shar: "error transmitting 'mh/forw1.comps'" '(should have been 142 characters)'
fi
chmod +x 'mh/forw1.comps'
fi
echo shar: "extracting 'mh/forw1.mhl'" '(493 characters)'
if test -f 'mh/forw1.mhl'
then
	echo shar: "will not over-write existing file 'mh/forw1.mhl'"
else
sed 's/^X//' << \SHAR_EOF > 'mh/forw1.mhl'
X:
X:------- Forwarded Message
X:
Xwidth=80,overflowtext="    ",compwidth=4
Xignores=approved,control,date-received,distribution,followup-to,in-reply-to,lines,message-id,newsgroups,nf-id,organization,path,posting-version,received,references,relay-version,reply-to,return-path,sender,status,x-mailer,x-st-status,xpath,xref
XDate:leftadjust
XFrom:leftadjust
XSubject:leftadjust
XTo:leftadjust
Xextras:nocomponent,leftadjust
X:
Xbody:width=30000,nocomponent,compwidth=0
X:
X:------- End of Forwarded Message
X:
SHAR_EOF
if test 493 -ne "`wc -c < 'mh/forw1.mhl'`"
then
	echo shar: "error transmitting 'mh/forw1.mhl'" '(should have been 493 characters)'
fi
chmod +x 'mh/forw1.mhl'
fi
exit 0
#	End of shell archive

matt@ODDJOB.UCHICAGO.EDU (Matt Crawford) (01/12/88)

> From: bob desinger <hpsemc!bd%hplabs.hp.com@ics.uci.edu>
> 
> This may be kind of a dumb question, but why not continue to use Gnu
> Emacs with MH?  I'm using it now.  (I configured my MH with the `mhe'
> switch at compile time, which is necessary.)  

This may be dumb also, but I don't think you need to configure
"mhe" for gnu emacs.  I think that was only needed with the
gosling/unipress emacs mh package.

			Matt Crawford

jsweet@ICS.UCI.EDU (Jerry Sweet) (01/12/88)

From the mh-e.el file (version 18 Gnu EMACS):

;;;  NB MH must have been compiled with the MHE compiler flag or several
;;;  features necessary to this program will be missing.

Whether or not this is true must be determined empirically.

-jns

larus@paris.Berkeley.EDU (James Larus) (01/12/88)

mh-e requires that MH be compiled with the MHE define flag.

/Jim
ARPA: larus@ginger.Berkeley.EDU
uucp: ucbvax!larus

bd@HPLABS.HP.COM (bob desinger) (01/12/88)

> >From the mh-e.el file (version 18 Gnu EMACS):
> ;;;  NB MH must have been compiled with the MHE compiler flag or several
> ;;;  features necessary to this program will be missing.
>
> Whether or not this is true must be determined empirically.

We run with it turned on here.  On several different machines (Vaxen
running 4.2BSD, HP-UX Series 800 and Series 300 running SYS5) nobody
notices it if they don't use Emacs.  So at least it's safe to turn on
even if you don't think you'll use it.

bob desinger

matt@ODDJOB.UCHICAGO.EDU (Matt Crawford) (01/12/88)

OK, so you do need "MHE" to use mh-e.  But does the gnu emacs
mh-e.el use those fies called "++" in each folder?  As far as
I know, those things were used only by the unipress version of
mh-e.
			Matt

larus@paris.Berkeley.EDU (James Larus) (01/13/88)

What version of mh-e are you using?  (The current one is 3.4n)  mh-e has not created ++ files for
a very long time.  Brian Reid's mhe program used to create these files to avoid rescanning folders.
When I took his code and converted it to Gnu Emacs, I dropped this feature since it seemed like
more trouble than it was worth.

/Jim
ARPA: larus@ginger.Berkeley.EDU
uucp: ucbvax!larus

PS The MHE compile flag only adds an undocumented flags to a couple of commands.  You can grep for
MHE in the source to see the changes.  People who do not use mh-e should never notice the changes.

matt@ODDJOB.UCHICAGO.EDU (Matt Crawford) (01/13/88)

I have mh-e 3.4k and mh 6.4.  I'm sure the ++ files are
being created by mh.
				Matt

bd@HPLABS.HP.COM (bob desinger) (01/13/88)

> I have mh-e 3.4k and mh 6.4.  I'm sure the ++ files are
> being created by mh.

I have mh-e 3.4k (with Gnu 18.47) and mh-6.5, but don't have the ++
files.  So you're right---it must be mh that's creating 'em.

-- bd