File: mhpath.man

package info (click to toggle)
nmh 1.8-4
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 7,860 kB
  • sloc: ansic: 50,445; sh: 22,697; makefile: 1,138; lex: 740; perl: 509; yacc: 265
file content (166 lines) | stat: -rw-r--r-- 3,590 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
.TH MHPATH %manext1% 2012-02-18 "%nmhversion%"
.
.\" %nmhwarning%
.
.SH NAME
mhpath \- print full pathnames of nmh messages and folders
.SH SYNOPSIS
.HP 5
.na
.B mhpath
.RB [ \-help ]
.RB [ \-version ]
.RI [ +folder ]
.RI [ msgs ]
.ad
.SH DESCRIPTION
.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 current mail folder's pathname instead.
If the only argument is `+', your
.B nmh
\*(lqPath\*(rq is output; this can be useful in shell scripts.
.PP
In contrast with other
.B nmh
commands, a message argument to
.B mhpath
may often be intended for writing.  Because of this:
.IP 1) 4
the name \*(lqnew\*(rq has been added to
.BR mhpath 's
list of reserved message names (the others are \*(lqfirst\*(rq,
\*(lqlast\*(rq, \*(lqprev\*(rq, \*(lqnext\*(rq, \*(lqcur\*(rq,
and \*(lqall\*(rq).
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 \*(lqnew\*(rq message may not be used as part of a message range.
.IP 2) 4
Within a message list, the following designations may refer to messages
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, if the folder contains messages.
.IP 3) 4
An empty folder is not, in itself, an error.
.PP
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.
.PP
.RS 5
.nf
$ 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
.fi
.RE
.PP
.B mhpath
is also useful in backquoted operations:
.PP
.RS 5
.nf
$ cd \`mhpath +inbox\`

$ echo \`mhpath +\`
/r/phyl/Mail
.fi
.RE
.PP
Because
.B mhpath
expands and sorts
.RI [ msgs ].
the command
.PP
.RS 5
.nf
mv \`mhpath 501 500\`
.fi
.RE
.PP
to will not move 501 to 500; quite the reverse.  But
.PP
.RS 5
.nf
mv \`mhpath 501\` \`mhpath 500\`
.fi
.RE
.PP
will do the trick.
.PP
Out-of-range message 0 produces a different error message than large
out-of-range message numbers.  But both cause
.B mhpath
to exit with non-zero status.
.SH FILES
.fc ^ ~
.nf
.ta \w'ExtraBigProfileName  'u
^$HOME/.mh_profile~^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