markus schnalke [Thu, 22 Mar 2012 10:46:47 +0000 (11:46 +0100)]
mhmail: Don't invoke inc when called without arguments.
We can't provide a full mailx-replacement anyways. By magically invoking
inc(1), we likely confuse the user. Instead tell him that he can invoke
inc(1) himself. This doesn't mess with the important property: mhmail is
a mailx replacement for scripts to send mail.
markus schnalke [Thu, 22 Mar 2012 09:52:49 +0000 (10:52 +0100)]
Rework of Editor/defaulteditor, similar to Pager/defaultpager; new env vars.
The priority order is: MMHEDITOR (env) > Editor (profile) > VISUAL (env)
EDITOR (env) > vi
markus schnalke [Thu, 22 Mar 2012 09:18:23 +0000 (10:18 +0100)]
moreproc is now Pager/defaultpager; removed -moreproc flags; added env vars.
The priority order is: MMHPAGER (env) > Pager (profile) > PAGER (env) > more
markus schnalke [Thu, 22 Mar 2012 07:49:57 +0000 (08:49 +0100)]
slocal: Don't remove $PATH from env. Now execvp() searches as expected.
Stripping the environment may rather keep the user from doing sensible
things than it increases the security. Maybe we shouldn't strip it at all.
markus schnalke [Wed, 21 Mar 2012 15:25:08 +0000 (16:25 +0100)]
Made DUMB the default and removed the the #ifdefs.
DUMB had been the default and forces MH to use a full RFC 822 address
parser instead of guessing on addresses.
markus schnalke [Tue, 20 Mar 2012 17:02:32 +0000 (18:02 +0100)]
scan(): Replaced explicit noisy parameter with implicit nfs check.
nfs is the ``new format string'' if it is NULL, we don't (and actually
can't) print a scan line.
markus schnalke [Mon, 13 Feb 2012 12:51:53 +0000 (13:51 +0100)]
Now, spost should be quite usable.
Make use of m_mktemp2(), like elsewhere in the mmh code base.
Various rework of the Bcc handling code.
Still to do:
- Fcc handling needs improvements.
- Draft files for Bcc recipients are left existing in /tmp.
markus schnalke [Sun, 12 Feb 2012 16:49:57 +0000 (17:49 +0100)]
Various rework in spost.
- Removed some unused flags.
- Don't care for multiple Subject: headers. They aren't allowed.
- Correctly handle headers that are folded before the first word of the value.
- Outsourced code from putfmt() into new process_fcc().
markus schnalke [Sun, 12 Feb 2012 15:45:26 +0000 (16:45 +0100)]
Changed the Fcc handling code in spost.
Both, the new as well as the old approach have their limitations. I'm far
from confident with the new approach. At least it's simpler. It should be
good enough for now.
markus schnalke [Sun, 12 Feb 2012 11:31:01 +0000 (12:31 +0100)]
Temporary state of spost rework: Things should work if you don't use Bcc: hdrs.
The simple changes: Removed -[no]filter and did some minor refactoring.
The complex changes: First steps in reworking the Bcc-related code.
Don't use Bcc: headers with this state of code. They simply are ignored.
markus schnalke [Sat, 11 Feb 2012 19:18:43 +0000 (20:18 +0100)]
Made show(1) the default lproc. `list' and `display' changed a bit.
Already in 1984, MTR stated, that lproc should be show. I agree with him
on this point, but I strongly disagree there: ``if lproc is "mhl", use
mhlproc for consistency''. I thus removed this part and even more around it.
The code became simpler but additional arguments to `list' and `display'
are not recognized anymore. That won't be much inconvenience.
markus schnalke [Fri, 10 Feb 2012 14:33:50 +0000 (15:33 +0100)]
Removed the -nomoreproc switch from mhl, show, mhshow.
We'll go for always having a moreproc after mhl. If you just want to cat out,
then use `-moreproc cat'. mhl's very basic paging facility will be removed.
markus schnalke [Fri, 10 Feb 2012 13:25:28 +0000 (14:25 +0100)]
show: Never call internal mhl(); always construct absolute argument paths.
We don't want those fat binaries that call internal versions of unrelated
tools. I.e. we do want modularization! No, fork() and exec() aren't too
expensive ... but heavily interweaved code is!
markus schnalke [Fri, 10 Feb 2012 10:55:48 +0000 (11:55 +0100)]
Removed the -clear switch from scan(1).
If you want to have a clear or form-feed, call `clear' or `printf "\f"' at
the shell level. Anyway, what's the sense of a clear *after* the scan output?
markus schnalke [Fri, 10 Feb 2012 09:56:19 +0000 (10:56 +0100)]
Removed rcvtty.
Its use cases disappeared over time. And as asyncron notifications rip you out
of your working flow, you usually don't want to have them. If you need this
function though, then you can make use of write(1).
markus schnalke [Fri, 10 Feb 2012 09:20:47 +0000 (10:20 +0100)]
Removed `-format string' switches but made -form accept `=formatstring'.
For all tools that take `-from file' or `-format string' switches, those
were merged: `-format string' went away, but one may supply any such string
to the -form switch by prepending it with an equal sign `='. Thus
scan -format '%(msg) %{from}'
is now written as
scan -form '=%(msg) %{from}'
Note: mhl isn't adjusted this way, yet. It's too complex to be understood
by me, now. Thus, it still remains as it was: Any parameter to -form will be
interepreted as a filter *file*. As show and mhshow use mhl, they are
affected, too.
In the same go: Compactified the new_fs() function: folded the arguments.
markus schnalke [Thu, 9 Feb 2012 18:31:44 +0000 (19:31 +0100)]
Augmented new_fs() with an additional argument for a default form.
This balances the arguments: user-form, user-string, def-form, def-string.
In comp.c I've already replaced open_form() with new_fs(). forw.c and
dist.c are to follow.
markus schnalke [Thu, 9 Feb 2012 18:08:37 +0000 (19:08 +0100)]
Removed the interactive prompt from comp when disposing an existing message.
It became useless in the restructuring of the draft facility but remained
until now. Also refactored this part of the code.
markus schnalke [Thu, 9 Feb 2012 16:38:27 +0000 (17:38 +0100)]
Removed -format and -filter from send(1); they were just passed to (s)post(8).
-(no)format switches normalization of addresses on/off. If spost would
support address normalization, then it should be always enabled or disabled.
But as spost doesn't support it it's a no-op in mmh anyway.
-filter is for generating non-MIME messages for Bcc recipients. We'll use
MIME in this case ... as soon as this code is written.
Note: spost is still lagging behind the current development.
markus schnalke [Thu, 9 Feb 2012 14:47:14 +0000 (15:47 +0100)]
Removed the -fcc switch from repl(1).
None of comp, dist, forw has it, why should repl then have it?
It likely had been added as the replcomps are not just copied but processed.
It had been quite easy to add this feature but nobody went far enough to
process components, distcomps, forwcomps as well to be able to have such
an -fcc switch for those tools as well.
markus schnalke [Thu, 9 Feb 2012 14:06:49 +0000 (15:06 +0100)]
forw(1) does always MIMEify now.
Removed the -(no)mime, -(no)format, -filter switches. If you like to forward
messages in non-MIME format, then manually read in the output of:
mhl -forwall -form mhl.forward `mhpath MSGS...`
Digest do get MIMEified too. To send non-MIME digests use:
mhl -forwall -from mhl.digest -digest X -volume Y -issue Z `mhpath ...`
markus schnalke [Wed, 8 Feb 2012 20:17:43 +0000 (21:17 +0100)]
Removed left-overs from the -idanno removal.
post (not spost) had written into a temp file those addresses to which it
had delivered mail. annoaux() in send had read from this temp file and
annotated the original message with each of those addresses. Now, no
addresses at all get annotated, but only the date of the action.