+.TH MHPATH %manext1% "November 6, 2012" "%nmhversion%"
.\"
.\" %nmhwarning%
-.\" $Id$
.\"
-.TH MHPATH %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mhpath \- print full pathnames of nmh messages and folders
.SH SYNOPSIS
.RB [ \-help ]
.ad
.SH DESCRIPTION
-.B Mhpath
+.B 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,
.B mhpath
-outputs the folder pathname
+outputs the current mail folder's pathname
instead. If the only argument is `+', your
.B nmh
-\*(lqPath\*(rq is output; this can be useful is shell scripts.
+\*(lqPath\*(rq is output; this can be useful in shell scripts.
.PP
Contrasted with other
.B nmh
that do not exist: a single numeric message name, the single message name
\*(lqcur\*(rq, and (obviously) the single message name \*(lqnew\*(rq.
All other message designations must refer to at least one existing
-message.
+message, if the folder contains messages.
.IP 3) 4
An empty folder is not in itself an error.
.PP
-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.
+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 \*(lqout of range\*(rq error message to be displayed.
+.PP
+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.
.PP
Examples: The current folder foo contains messages 3 5 6.
Cur is 4.
/r/phyl/Mail/foo/6
% mhpath 2001
-/r/phyl/Mail/foo/7
+mhpath: message 2001 out of range 1-6
% mhpath 1\-2001
/r/phyl/Mail/foo/3
/r/phyl/Mail/foo/7
% mhpath last\-new
-bad message list \*(lqlast\-new\*(rq.
+mhpath: bad message list last\-new
% mhpath cur
/r/phyl/Mail/foo/4
% mhpath 1\-2
-no messages in range \*(lq1\-2\*(rq.
+mhpath: no messages in range 1\-2
% mhpath first:2
/r/phyl/Mail/foo/3
.RE
.PP
.B mhpath
-is also useful in back\-quoted operations:
+is also useful in backquoted operations:
.PP
.RS 5
.nf
/r/phyl/Mail
.fi
.RE
-.PP
-
-.SH FILES
-.fc ^ ~
-.nf
-.ta \w'/usr/local/nmh/etc/ExtraBigFileName 'u
-^$HOME/\&.mh\(ruprofile~^The user profile
-.fi
-
-.SH "PROFILE COMPONENTS"
-.fc ^ ~
-.nf
-.ta 2.4i
-.ta \w'ExtraBigProfileName 'u
-^Path:~^To determine the user's nmh directory
-^Current\-Folder:~^To find the default current folder
-.fi
-
-.SH "SEE ALSO"
-folder(1)
-
-.SH DEFAULTS
-.nf
-.RB ` +folder "' defaults to the current folder"
-.RB ` msgs "' defaults to none"
-.fi
-
-.SH CONTEXT
-None
-
-.SH BUGS
-Like all
-.B nmh
-commands,
+Because
.B mhpath
expands and sorts
.RI [ msgs ].
-So don't
-expect
+the command
.PP
.RS 5
.nf
.fi
.RE
.PP
-to move 501 to 500.
+to will not move 501 to 500.
Quite the reverse. But
.PP
.RS 5
.PP
Out of range message 0 is treated far more severely than large out of
range message numbers.
+.SH FILES
+.fc ^ ~
+.nf
+.ta \w'%etcdir%/ExtraBigFileName 'u
+^$HOME/\&.mh\(ruprofile~^The user profile
+.fi
+.SH "PROFILE COMPONENTS"
+.fc ^ ~
+.nf
+.ta 2.4i
+.ta \w'ExtraBigProfileName 'u
+^Path:~^To determine the user's nmh directory
+^Current\-Folder:~^To find the default current folder
+.fi
+.SH "SEE ALSO"
+.IR folder (1)
+.SH DEFAULTS
+.nf
+.RB ` +folder "' defaults to the current folder"
+.RB ` msgs "' defaults to none"
+.fi
+.SH CONTEXT
+None