nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with mhmail


From: Ralph Corderoy
Subject: Re: Problem with mhmail
Date: Mon, 30 Dec 2019 13:15:37 +0000

Hi Norm,

Copying back in address@hidden because it's of wider interest.

> > I think you want just
> > 
> >     send $draft
> > 
> > there because send wants a path, not a message number.
>
> The use of the word, "file", in the documentation would certainly
> imply that.  But, in fact, send wants message numbers.

That confused me so I dug further.

send(1) says ‘file ...’ in the Synopsis but doesn't explain that the
-draftfolder option changes the meaning of those file arguments to
messages.

So ‘send foo’ wants a file called foo to exist in ‘mhpath path’.

    $ send foo
    send: unable to stat draft file /home/ralph/mail/foo: No such file or 
directory

An absolute path is used absolutely.

    $ send /tmp/foo
    send: unable to stat draft file /tmp/foo: No such file or directory

A relative path still has ‘mhpath path’ prepended.

    $ send tmp/foo
    send: unable to stat draft file /home/ralph/mail/tmp/foo: No such file or 
directory

A filename that happens to be a number doesn't affect this behaviour.

    $ send 42
    send: unable to stat draft file /home/ralph/mail/42: No such file or 
directory

It's using -draftfolder that changes the arguments from files to message
numbers.

    $ send -draftfolder drafts 314
    send: message 314 doesn't exist
    $ send -draftfolder drafts last
    $

That's despite my .mh_profile stating a general draft folder.

    $ mhparam draft-folder
    drafts

send(1) doesn't explain this.  It makes a reference to mh-draft(5), but
it isn't obvious to read that for this behaviour of send.  By its name
and section, mh-draft(5) should only be describing the file format of
draft emails; something needed by Arthur recently when confused about
comp(1)'s -to description.

    The -draftfolder +folder and -draftmessage msg switches invoke the
    nmh draft folder facility.  This is an advanced (and highly useful)
    feature.  Consult mh-draft(5) for more information.

Thus if your script works with specifying a message number then it
suggests your .mh_profile has ‘send: -draftfolder’ or similar.

By my reading of the documentation, this should break ‘send’ at the
whatnow(1) prompt because that will pass a filename but it will attempt
to be interpreted as a message.  That it works is probably because
whatnow spots the command is send and calls a function to implement it
rather than forking and execing the read send.  I think this is another
wrong approach.  Perhaps useful when a fork/exec in response to an
interactive request was costly, but not now when it only allows for
confusion due to varying behaviour behind the scenes.

-- 
Cheers, Ralph.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]