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.
markus schnalke [Wed, 8 Feb 2012 16:46:27 +0000 (17:46 +0100)]
Replaced sendfiles with a simpler version that uses send instead of viamail.
Also moved it from etc/ to uip/. Updated man pages.
Note: The splitting of large messages by sendfile/viamail/or elsewhere
seems not to be available anymore, although it had been documented in the
man page. Either the man pages don't match the code or I've not found this
function yet.
markus schnalke [Wed, 8 Feb 2012 13:33:30 +0000 (14:33 +0100)]
Removed the `-delete' option from the `quit' command at the whatnow prompt.
There already is a command `delete' that's equal to the removed `quit -delete'.
markus schnalke [Wed, 8 Feb 2012 13:24:08 +0000 (14:24 +0100)]
Separated send from whatnow, similar to the previous commit.
Again, I traded execution speed for less (doubled) code, clearer interfaces,
and modularization. Oh what an improvement!
markus schnalke [Wed, 8 Feb 2012 12:42:11 +0000 (13:42 +0100)]
Always exec whatnow; don't link the code into comp, repl, forw, dist.
Although this might slow it a bit down, it makes the boundaries clearer.
The main problem for me is the interweaving of the parts in nmh. Let's
trade a bit of speed for better modularization.
markus schnalke [Wed, 8 Feb 2012 10:19:50 +0000 (11:19 +0100)]
Better mime types for attachments. Use some command; e.g. `file --mime'.
Up to now attachments had either been text/plain or application/octet-stream,
if one hadn't added mhshow-suffix- profile entries for any possible type.
Now we call mimetypequeryproc (default: `file -b --mime' for GNU file),
this can be changed with the profile entry `Mime-Type-Query'. This command
will be executed with the attachment filename as last argument. If your
file(1) command does not print MIME types, you can still grep your profile
for matching mhshow-suffix- entries. However, I suggest to store this data
somewhere else. IMO the profile is not the right location for it.
markus schnalke [Sat, 4 Feb 2012 15:19:06 +0000 (16:19 +0100)]
Removed the -backup flag from spost.
Post hadn't had it as renaming the draft is done by send. It appears as
if it were only there for debugging purposes.
markus schnalke [Sat, 4 Feb 2012 12:39:32 +0000 (13:39 +0100)]
Removed the suppress dups feature from slocal for simplicity reasons.
Now we don't need dbm anymore. This removed a heavy dependency and
complicated configure code.
markus schnalke [Sat, 4 Feb 2012 12:08:51 +0000 (13:08 +0100)]
Removed mts.conf; the maildelivery option went into slocal directly.
The MTS is a non-MUA part of MH, which is/gets removed in MMH.
Now, you cannot change the global maildelivery file without changing the
code. You stil can specify -maildelivery to slocal.
I've also remove support for the env vars MHMTSCONF and MHMTSUSERCONF,
which were added by Earl Hood in 2010. We might want to add support
for them again. I need to think about the future of slocal anyway.
markus schnalke [Sat, 4 Feb 2012 10:57:16 +0000 (11:57 +0100)]
Removed the built-in FTP client.
That's another of these things that are not the MUA's tasks.
There are good FTP clients around, just use one of them.
We could provide an external FTP wrapper script around wget or so,
to use with nmh-access-ftp. However, I'm not sure how to deal with
message/external-body in general. Although this concept is great,
I've never seen any such message in all my email life.
markus schnalke [Fri, 3 Feb 2012 17:42:55 +0000 (18:42 +0100)]
Removed the last masquerading type: username_extension.
If you want some username extension, then change the From: line in the
message draft. If you want real masquerading, then consult your MTA.
mmh is an MUA, no MTA.
(spost hadn't supported username_extension maquerading, anyway.)
markus schnalke [Fri, 3 Feb 2012 11:25:42 +0000 (12:25 +0100)]
Major bugfix: inc does not lose data anymore.
What have I done in 70b2643e0da8485174480c644ad9785c84f5bff4 ?
Producing scan listings and inc'ing mail are too closely related.
By removing the body component from scan listings, I also had removed
the ability to copy bodies during inc. Hence this commit undos the
changes. (And reintroduces the body component in scan listings. :-( )
The code is too much interweaved!
markus schnalke [Fri, 3 Feb 2012 10:16:05 +0000 (11:16 +0100)]
Removed the -(no)remove switches from spost.
I wonder why it existed, as the draft can get printed to stdout with -debug.
That should be enough for debugging without modifying source code.
markus schnalke [Fri, 3 Feb 2012 09:42:49 +0000 (10:42 +0100)]
Fixed abort of e.g. comp when draft folder is empty.
In this case mp->lowoff is 1 but mp->lowmsg equal mp->hghmsg equal 0.
Hence we have an access at mp->msgstats[-1], which corrupted our mem.
Gdb hadn't helped me for this, but valgrind showed me the problem.
markus schnalke [Mon, 30 Jan 2012 15:16:26 +0000 (16:16 +0100)]
Scan listings shall not contain body content. Hence, removed this feature.
Scan listings shall operator on message headers and non-message information
only. Displaying the beginning of the body complicates everything too much.
That's no surprise, because it's something completely different. If you
want to examine the body, then use show(1)/mhshow(1).
Changed the default scan formats accordingly.
markus schnalke [Mon, 30 Jan 2012 11:42:06 +0000 (12:42 +0100)]
Removed -pause from mhshow(1).
My goal is to have show/mhshow generate a single stream of bytes to be
piped through a pager. Content not convertable to text shall not be displayed
directly. This is my idea currently.
markus schnalke [Mon, 30 Jan 2012 11:00:49 +0000 (12:00 +0100)]
Bugfix: Removed -reverse switch from scan(1).
No more to say but to quote MTR:
-[no]reverse under #ifdef BERK (I really HATE this)
And JLR:
Lists messages in reverse order with the `-reverse' switch.
This should be considered a bug.
markus schnalke [Mon, 30 Jan 2012 10:33:59 +0000 (11:33 +0100)]
Alias: Removed the address group `*', which meant everyone on the system.
Therefore could remove `everyone' and `noshell' from mts.conf.
If one really needs to write mail to everyone on the system (not just
all regular users, which probably are in a group `user'), then he
shurely can invest a bit more effort to do so. Likely, the simple condition
to uids > 200 and not the shell `noshell' would anyways be to limited.
Better use awk or the like and do it by hand.
markus schnalke [Mon, 30 Jan 2012 10:03:29 +0000 (11:03 +0100)]
Rest of the MMDF-style mail drop support removal.
Only Unix-style (mbox) mail drops are supported now. Their location
is in `mailspool', which is reported in the configure summary now.
If users like to have different locations, they can use the environment
variable MAILDROP or the profile entry MailDrop to overrule the default.
From mts.conf, mmdfldir and mmdflfil were removed.
msgchk(1) received several cleanups.
I touched sbr/m_getfld.c ... Wooohh ...
markus schnalke [Sat, 28 Jan 2012 15:05:54 +0000 (16:05 +0100)]
forw/repl/dist annotations won't add address lists anymore.
spost does not support it and I wonder if we need it.
Remove the undocumented -idanno switch, actually a no-op, from spost.
markus schnalke [Sat, 28 Jan 2012 12:35:42 +0000 (13:35 +0100)]
Removed the ATTVIBUG compile option.
If you do have the bug, then workaround it like described in the FAQ:
Subject: 06.01 What to do with "Problems with edit - draft removed".
From: John Romine <jromine at ics.uci.edu>
Date: Mon, 1 May 1995 00:00:00 -0800
If your users are using an AT&T version of "vi", it's exiting with
non-zero status (supposedly a count of the "errors" during the
edit). Move "vi" to "broken_vi" and put it its place :
#! /bin/sh
/usr/ucb/broken_vi "$@"
exit 0
Alternatively, compile MH with the ATTVIBUG option.
Then complain to your vendor that "vi" is broken, and they shouldfix it.
markus schnalke [Sat, 28 Jan 2012 11:26:36 +0000 (12:26 +0100)]
Removed options to deactivate dashstuffing. Always dashstuff.
Maybe there are few RFC 934 messages around, but dashstuffing is IMO
more useful than bad.
markus schnalke [Wed, 25 Jan 2012 21:56:43 +0000 (22:56 +0100)]
Removed the UCI code to read the signatur (= name) from ~/.signature.
If we want to read something from ~/.signature, then those lines that
form the footer of a mail message. What is called ``signature'' here
is the name of the sender; the name that is put into the From: line.
There are already several options to put it:
- environment variable: SIGNATURE (to change temporary)
- profile entry: Signature: (to set only for the mail system)
- GECOS field in passwd (fallback and global)
These should be enough.
markus schnalke [Wed, 25 Jan 2012 21:36:49 +0000 (22:36 +0100)]
Removed the UCI alternative name of anno(1): `fanno'.
fanno didn't add the date. If you want this, run `anno -nodate'. Hey, you
can create a shell alias for it. What about that? ;-)
markus schnalke [Wed, 25 Jan 2012 21:29:34 +0000 (22:29 +0100)]
Removed the -header option from scan(1).
The heading had been very simple since the advent of format strings anyway.
If someone wants a heading, he can run folder(1) before.
markus schnalke [Wed, 25 Jan 2012 21:21:56 +0000 (22:21 +0100)]
Removed (allmost all) JLR-specific code.
There still is one fragment in fmt_scan(), of which I don't understand
the logic. I don't want to remove stuff I don't understand.
markus schnalke [Wed, 25 Jan 2012 12:31:36 +0000 (13:31 +0100)]
Finally fixed the annoying `Invalid cross-device link' problem.
Due to a missing slash (/), temporary files were put into the parent
directory instead of the same one. See:
mhbuild: unable to rename output /home/meillo/Mail/send0zxfDu to
/home/meillo/MailmhbuildzQjMUm: Invalid cross-device link
markus schnalke [Tue, 24 Jan 2012 23:01:51 +0000 (00:01 +0100)]
Fixed -mime for forw and repl.
If the value of an attachment header starts with `+', then it is treated
as the specification of a message in MH style: ``+folder msg''