Provided by: nmh_1.5-release-5_amd64 bug

NAME

       mhpath - print full pathnames of nmh messages and folders

SYNOPSIS

       mhpath [+folder] [msgs] [-version] [-help]

DESCRIPTION

       mhpath  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, mhpath
       outputs the current mail folder's pathname instead.  If the only argument is `+', your nmh
       “Path” is output; this can be useful in shell scripts.

       Contrasted with other nmh commands, a message argument to mhpath may often be intended for
       writing.  Because of this:

       1)  the  name  “new” has been added to mhpath's list of 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.

       2)  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 message, if the folder contains messages.

       3)  An empty folder is not in itself an error.

       A message number less than that of the smallest existing message in a folder is treated as
       if the message already exists.  A message number greater than that of the highest existing
       message in a folder causes an “out of range” error message to be displayed.

       As  part of a range designation that contains messages that do exist, message numbers less
       than the smallest, or greater than the highest, existing message in a folder are ignored.

       Examples: The current folder foo contains messages 3 5 6.  Cur is 4.

            % mhpath
            /r/phyl/Mail/foo

            % mhpath all
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5
            /r/phyl/Mail/foo/6

            % mhpath 2001
            mhpath: message 2001 out of range 1-6

            % mhpath 1-2001
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5
            /r/phyl/Mail/foo/6

            % mhpath new
            /r/phyl/Mail/foo/7

            % mhpath last new
            /r/phyl/Mail/foo/6
            /r/phyl/Mail/foo/7

            % mhpath last-new
            mhpath: bad message list last-new

            % mhpath cur
            /r/phyl/Mail/foo/4

            % mhpath 1-2
            mhpath: no messages in range 1-2

            % mhpath first:2
            /r/phyl/Mail/foo/3
            /r/phyl/Mail/foo/5

            % mhpath 1 2
            /r/phyl/Mail/foo/1
            /r/phyl/Mail/foo/2

       mhpath is also useful in back-quoted operations:

            % cd `mhpath +inbox`

            % echo `mhpath +`
            /r/phyl/Mail

FILES

       $HOME/.mh_profile          The user profile

PROFILE COMPONENTS

       Path:                To determine the user's nmh directory
       Current-Folder:      To find the default current folder

SEE ALSO

       folder(1)

DEFAULTS

       `+folder' defaults to the current folder
       `msgs' defaults to none

CONTEXT

       None

BUGS

       Like all nmh commands, mhpath expands and sorts [msgs].  So don't expect

            mv `mhpath 501 500`

       to move 501 to 500.  Quite the reverse.  But

            mv `mhpath 501` `mhpath 500`

       will do the trick.

       Out of range message 0 is treated far more  severely  than  large  out  of  range  message
       numbers.