markus schnalke [Wed, 8 Feb 2012 14:31:41 +0000 (15:31 +0100)]
Improved the patch for send(1) to handle absolute path name arguments.
See changeset
3df5ab3c116e6d4a2fb4bb5cc9dfc5f781825815
markus schnalke [Wed, 8 Feb 2012 13:58:01 +0000 (14:58 +0100)]
Fixed mhmail. (It wanted to read the profile to create a temp file.)
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 12:32:06 +0000 (13:32 +0100)]
Cosmetic changes.
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 [Wed, 8 Feb 2012 08:41:03 +0000 (09:41 +0100)]
Layouting and comment changes. (minor stuff)
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 15:12:22 +0000 (16:12 +0100)]
Improved quoting the fullname.
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 [Sat, 4 Feb 2012 09:51:26 +0000 (10:51 +0100)]
Refactoring in spost.
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 17:28:51 +0000 (18:28 +0100)]
Removed draft_from masquerading.
We're an MUA and should not care for SMTP envelopes at all.
markus schnalke [Fri, 3 Feb 2012 17:07:11 +0000 (18:07 +0100)]
Removed mmailid masquerading.
That's an MTA's task, but mmh is an MUA.
markus schnalke [Fri, 3 Feb 2012 16:02:11 +0000 (17:02 +0100)]
Removed unused parameter from mbx_copy().
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:50:13 +0000 (10:50 +0100)]
Comment changes.
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 [Fri, 3 Feb 2012 09:15:19 +0000 (10:15 +0100)]
Syntactic and comment changes.
markus schnalke [Tue, 31 Jan 2012 23:47:35 +0000 (00:47 +0100)]
spost: refactoring; removed -(no)format switches as they were not used.
markus schnalke [Tue, 31 Jan 2012 23:36:54 +0000 (00:36 +0100)]
spost: refactoring, added comments, removed unused code
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 13:32:10 +0000 (14:32 +0100)]
Removed another deprecated mhn check.
The comment appeared to be wrong ... maybe inverted. I removed it.
markus schnalke [Mon, 30 Jan 2012 13:27:19 +0000 (14:27 +0100)]
Removed the, in 1997 deprecated, send option -noshowproc and env var NOMHNPROC.
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 19:46:46 +0000 (20:46 +0100)]
Removed mmdelim[12], which were the delimiters for MMDF-style mail drops.
markus schnalke [Sat, 28 Jan 2012 19:45:13 +0000 (20:45 +0100)]
Removed paragraphs which looked like forgotten to remove.
markus schnalke [Sat, 28 Jan 2012 19:40:31 +0000 (20:40 +0100)]
Removed support for MMDF-style mail drops.
I'm not sure yet if I've removed all of it but it should be most of it.
markus schnalke [Sat, 28 Jan 2012 17:58:07 +0000 (18:58 +0100)]
Synced man page mh-chart with send.
The man page mh-chart definately should be generated!
Automate this task, man!
markus schnalke [Sat, 28 Jan 2012 17:40:02 +0000 (18:40 +0100)]
Fixed path lookup for alias files: ali, send, whatnow.
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 14:21:44 +0000 (15:21 +0100)]
Trivial typesetting fix in man page.
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.
btw: ex-vi does not have this bug.
markus schnalke [Sat, 28 Jan 2012 12:10:50 +0000 (13:10 +0100)]
Removed EISREMOTE check.
It's not in POSIX and Google finds only nmh code containing it.
Maybe it was some BSD experiment. Who knows.
markus schnalke [Sat, 28 Jan 2012 12:04:59 +0000 (13:04 +0100)]
Removed the undocumented -unique switches. Seems they were JLR-only stuff.
markus schnalke [Sat, 28 Jan 2012 11:54:36 +0000 (12:54 +0100)]
Removed the -width switch from send, spost and repl.
Adressee header fields will always be folded for OUTPUTLINELEN (=72) chars.
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 [Sat, 28 Jan 2012 11:12:21 +0000 (12:12 +0100)]
Removed unneeded options from send.
Most of them were supported by post but are not by spost.
We don't need them. (More about dashstuffing soon.)
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:38:54 +0000 (22:38 +0100)]
Removed UCI-specific group leader code from conflict(8).
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 21:05:07 +0000 (22:05 +0100)]
Removed LBL compile condition (format: addtoseq).
markus schnalke [Wed, 25 Jan 2012 21:00:58 +0000 (22:00 +0100)]
Removed several `#if 0' fragments.
We better don't carry dead code with us, it might start smelling.
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:04:05 +0000 (00:04 +0100)]
Updated the man pages to the recent changes.
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''
markus schnalke [Tue, 24 Jan 2012 19:55:15 +0000 (20:55 +0100)]
Removed the mime command from whatnow and automimeproc (automhnproc).
The man pages need to be updated.
repl and forw are broken right now.
markus schnalke [Tue, 24 Jan 2012 19:08:35 +0000 (20:08 +0100)]
Activated Jon's attachment system by default and steamlined it.
I had done similar work already some time ago. See:
http://www.mail-archive.com/nmh-workers@nongnu.org/msg02112.html
This time it's the second go.
I changed Jon's attachment system to have a default attachment header
field name, or get it from the profile. I removed the command line options.
The new profile name is: `Attachment-Header'. Stored in attach_fmt.
I removed the the choice between several attachment formats.
A message gets mimeified if it has attachment headers or (and this is new)
contains any non-ASCII character. The body won't be scanned for lines
matching /^#/. The MIME structure is created automatically.
The content-typing of unknown attachments is still poor and needs to
be improved.
You shouldn't use the `mime' command at the whatnow prompt anymore.
markus schnalke [Tue, 24 Jan 2012 15:28:36 +0000 (16:28 +0100)]
Added a comment and a variable initialization.
markus schnalke [Thu, 5 Jan 2012 18:24:20 +0000 (19:24 +0100)]
Free memory after use in m_draft().
markus schnalke [Thu, 5 Jan 2012 18:18:12 +0000 (19:18 +0100)]
Explicit checks for return values of strcmp().
The return value of strcmp() is unintuitive for string equality tests.
I prefer explicit comparisions against 0. I changed this everywhere.
markus schnalke [Thu, 5 Jan 2012 11:26:09 +0000 (12:26 +0100)]
Removed isprefix() and replaced it with strncmp().
isprefix() had been ssequal(), which had not been what it advertised to be.
Now, all this is gone.
We could get problems if one of the arguments is NULL, as isprefix()
handled this situation, but strncmp() does not. It appears as if this case
does not show up in the code.
markus schnalke [Thu, 5 Jan 2012 10:56:44 +0000 (11:56 +0100)]
Removed forgotten unused variable.
markus schnalke [Thu, 5 Jan 2012 10:52:03 +0000 (11:52 +0100)]
Removed the non-LOCALE character code and the #ifdefs and simplified.
POSIX says: tolower() won't change its argument if it is not isupper().
And isupper() doesn't need an additional check for isalpha().
markus schnalke [Thu, 5 Jan 2012 10:28:18 +0000 (11:28 +0100)]
Refactoring in sbr/m_convert.c
markus schnalke [Thu, 5 Jan 2012 10:19:22 +0000 (11:19 +0100)]
Reserved special sequence names may be upper case too. Even without LOCALE.
markus schnalke [Thu, 5 Jan 2012 10:11:13 +0000 (11:11 +0100)]
Much more straight-forward handling of the beyond sequence.
Could remove the message flag SELECT_EMPTY in the same go.
This frees one more space for a user-defined sequence.
markus schnalke [Wed, 4 Jan 2012 20:04:56 +0000 (21:04 +0100)]
Various minor cleanups in sbr/m_convert.c.
markus schnalke [Wed, 4 Jan 2012 18:36:08 +0000 (19:36 +0100)]
Removed the unused message flag: DELETED.
Now we can store one user-defines seq more.
markus schnalke [Wed, 4 Jan 2012 17:57:18 +0000 (18:57 +0100)]
s/ALLOW_NEW/ALLOW_BEYOND/
markus schnalke [Wed, 4 Jan 2012 17:29:23 +0000 (18:29 +0100)]
Renamed all standard sequences (e.g. cur->c) and made them globally changeable
The full list:
cur -> c
first -> f
last -> l
next -> n
prev -> p
all -> a
new -> b (mnemonic: one beyond the last)
They are globally changeable in config/config.c
Could be that I'll add the old names again, as convenience aliases.
markus schnalke [Wed, 4 Jan 2012 13:49:09 +0000 (14:49 +0100)]
Inverted the second arg of seq_setunseen(), to be more natural.
markus schnalke [Wed, 4 Jan 2012 13:46:58 +0000 (14:46 +0100)]
Another fix for the strchr() transition: Check for NULL arguments.
Is now the point to reintroduce the brkany() helper? Hmm...
markus schnalke [Wed, 4 Jan 2012 11:35:19 +0000 (12:35 +0100)]
Activated default sequence negation (exclamation mark).
markus schnalke [Wed, 4 Jan 2012 11:04:44 +0000 (12:04 +0100)]
Activated a default unseen sequence; updated man pages to it.
markus schnalke [Wed, 4 Jan 2012 10:16:12 +0000 (11:16 +0100)]
Fixed bug in brkstring(), newly introduced by the switch to strchr().
strchr() treats the trailing null byte surprisingly:
``The terminating null byte is considered to be part of the string.''
markus schnalke [Wed, 4 Jan 2012 09:06:51 +0000 (10:06 +0100)]
Globally defined the names for the standard sequences.
I'll rework the whole code to use them and not have hard-coded names anymore.
The `new' sequence will be called `beyond' sequence (`b') from now on.
The `unseen' sequence will be set by default to `u' from now on.
The sequence negation will be set by default to `!' from now on.
markus schnalke [Wed, 4 Jan 2012 08:54:43 +0000 (09:54 +0100)]
sbr/brkstring.c: replaced static brkany() with call to strchr(); plus cleanups
markus schnalke [Tue, 3 Jan 2012 06:14:24 +0000 (07:14 +0100)]
Fixed minor typo in man page.
markus schnalke [Tue, 3 Jan 2012 05:41:27 +0000 (06:41 +0100)]
Removed remaining lines from the --with-pager=... removal, months ago.
markus schnalke [Tue, 3 Jan 2012 05:36:30 +0000 (06:36 +0100)]
s/vfork/fork/
I truly believe that vfork is wrong. Forking should not be too slow for us.
markus schnalke [Tue, 3 Jan 2012 05:16:30 +0000 (06:16 +0100)]
Relayouted all switch statements: case aligns with switch.
Desired style is:
switch (n) {
case foo:
...
}
markus schnalke [Mon, 2 Jan 2012 13:54:05 +0000 (14:54 +0100)]
Removed ``Face'' support in mhl.
It appears to be about `Face:' headers, but neither Jerry Peek, nor
Ken Hornstein knew more.
markus schnalke [Mon, 2 Jan 2012 10:50:35 +0000 (11:50 +0100)]
Removed references to unused default procs and commented config/config.c
markus schnalke [Mon, 2 Jan 2012 10:20:00 +0000 (11:20 +0100)]
Removed the configuration option NOPUBLICSEQ.
You can change it still, by setting mh_seq to NULL in config/config.c.
markus schnalke [Mon, 2 Jan 2012 09:57:24 +0000 (10:57 +0100)]
Renames: s/+outbox/+sent/ and s/cc:/Cc:/
IMO ``sent'' specifies more exactly what it contains. ``outbox'' would
mean to me that these messages are prepared for delivery, but are not
already sent.
markus schnalke [Mon, 2 Jan 2012 09:20:49 +0000 (10:20 +0100)]
Updated INSTALL and changed `nmh' strings to `mmh'
markus schnalke [Fri, 23 Dec 2011 11:09:55 +0000 (12:09 +0100)]
Reworked the man page system and some man page contents (mmh-intro).
Now it's possible to have two equally named pages in two different sections.
This appeared to be interesting for mmh(X), but I don't use it now. Let's
see if we keep the new system or even rework it to become simpler.
markus schnalke [Fri, 23 Dec 2011 08:00:59 +0000 (09:00 +0100)]
Be quiet! Only talk if you have something useful to say.
markus schnalke [Fri, 23 Dec 2011 07:32:41 +0000 (08:32 +0100)]
Adjusted Makefile to the rename: etc/scan.default -> etc/scan.nmh
markus schnalke [Fri, 23 Dec 2011 07:32:08 +0000 (08:32 +0100)]
Updated all man pages and renamed install-mh.man to mmh.man.
markus schnalke [Fri, 23 Dec 2011 07:13:22 +0000 (08:13 +0100)]
Unimportant stuff.
markus schnalke [Fri, 23 Dec 2011 07:12:20 +0000 (08:12 +0100)]
Replaced C program `install-mh' by shell script `mmh'.
It is updated to the separated directories.
markus schnalke [Fri, 23 Dec 2011 07:00:58 +0000 (08:00 +0100)]
Split nmh dir into mmh dir (~/.mmh) and mail storage (~/Mail).
The profile (~/.mh_profile) became (~/.mmh/profile).
The idea was to separate the configuration files and the data (= messages).
The environment variables changed accordingly:
MH -> MMHP (profile)
MHCONTEXT -> MMHC (context)
new: MMH (mmh dir)
mh-install is not adjusted, yet.
markus schnalke [Tue, 13 Dec 2011 13:20:32 +0000 (14:20 +0100)]
Fixed bug, reported by Phil: Profile entry Draft-Folder was case sensitive.
The components in the profile should be matched case*in*sensitive, always.
markus schnalke [Tue, 13 Dec 2011 13:19:40 +0000 (14:19 +0100)]
Cleanup in m_draft. There was some confusingly unnecessary code.
markus schnalke [Tue, 13 Dec 2011 12:10:15 +0000 (13:10 +0100)]
Minor change in output message
markus schnalke [Mon, 12 Dec 2011 13:09:44 +0000 (14:09 +0100)]
Removed the global alias file
Either use personal alias files or the MTA alias file.
markus schnalke [Mon, 12 Dec 2011 12:38:51 +0000 (13:38 +0100)]
Moved etcpath() from config/config.c to sbr/path.c
markus schnalke [Fri, 9 Dec 2011 21:12:34 +0000 (22:12 +0100)]
Code cosmetic
markus schnalke [Fri, 9 Dec 2011 20:56:44 +0000 (21:56 +0100)]
Adjusted the default scan listing: remove the body preview
The original listing is still available as etc/scan.nmh