mhpath - print full pathnames of nmh messages and folders
expands and sorts the message list `msgs' and writes the full
pathnames of the messages to the standard output separated by newlines.
If no `msgs' are specified,
outputs the folder pathname
instead. If the only argument is `+', your
``Path'' is output; this can be useful is shell scripts.
Contrasted with other
commands, a message argument to
may often be intended for writing. Because of this:
the name ``new'' has been added to
reserved message names (the others are ``first'', ``last'',
``prev'', ``next'', ``cur'', and ``all'').
The new message is equivalent to the message after the last message
in a folder (and equivalent to 1 in a folder without messages).
The ``new'' message may not be used as part of a message range.
Within a message list, the following designations may refer to messages
that do not exist: a single numeric message name, the single message name
``cur'', and (obviously) the single message name ``new''.
All other message designations must refer to at least one existing
An empty folder is not in itself an error.
Message numbers greater than the highest existing message in a folder
as part of a range designation are replaced with the next free message
Examples: The current folder foo contains messages 3 5 6.
Cur is 4.
% mhpath all
% mhpath 2001
% mhpath 1-2001
% mhpath new
% mhpath last new
% mhpath last-new
bad message list ``last-new''.
% mhpath cur
% mhpath 1-2
no messages in range ``1-2''.
% mhpath first:2
% mhpath 1 2
is also useful in back-quoted operations:
% cd `mhpath +inbox`
% echo `mhpath +`
^$HOME/.mh_profile~^The user profile
^Path:~^To determine the user's nmh directory
^Current-Folder:~^To find the default current folder