MHPATH(1)                                               MHPATH(1)

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 folder pathname instead.  If  the  only
       argument is `+', your nmh Path is output; this can be use-
       ful is 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 mes-
       sage name, the single message name "cur", and  (obviously)
       the single message name "new".  All other message designa-
       tions must refer to at least one existing message.

       3) 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 number.

       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
            /r/phyl/Mail/foo/7

            % 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
            bad message list "last-new".

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

            % mhpath 1-2
            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
       ^$HOME/.mh_profile~^The  user profile ^Path:~^To determine
       the user's nmh  directory  ^Current-Folder:~^To  find  the
       default current folder folder(1) `+folder' defaults to the
       current folder `msgs' defaults to none None 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.

[nmh-0.27]                    MH.6.8                            1