You'll pardon me if this is documented somewhere that I can't find or is a
commonly hashed-over issue, but I can't seem to pin it down.

After upgrading to nmh 1.0, I noted lines like the following no longer
function:
mhshow-text/plain:less -E %f
Note: after s/^mhn/mhshow/ in .mh_profile.

I was getting results like the following:
exec: less -E <filename>: not found

This got me curious because "it worked before".  :)
It turns out that the solution is to give a line like so:
mhshow-text/plain:less

This happens to work because less takes as its natural argument the name of a
file to read, but in more complex substitutions, I would be screwed.  What
this looks like to an untrained eye is that to execute an external viewer,
mhshow is doing roughly the equivalent of:
/bin/sh "<command>" <implied-%f>

This of course breaks when command isn't a real binary and allows one to
_not_ be able to run with any flags or args of the command.  It seems the
saner way to do this would be:
/bin/sh -c "<command>"

This, I think anyway, is consistent with POSIX sh operation and semantics and
not a function my shell (the FreeBSD sh(1) is pretty good).

Just curious as to what might be up.

Thanks,
Gene

Reply via email to