.\"	This file is automatically generated.  Do not edit!
.SC FOLDER 1
.NA
folder, folders \- set/list current folder/message
.SY
folder
\%[+folder] \%[msg]
\%[\-all]
\%[\-fast] \%[\-nofast]
\%[\-header] \%[\-noheader]
\%[\-pack] \%[\-nopack]
\%[\-recurse] \%[\-norecurse]
\%[\-total] \%[\-nototal]
\%[\-print] \%[\-noprint]
\%[\-list] \%[\-nolist]
\%[\-push] \%[\-pop]
\%[\-help]

.ti .5i
folders
.DE
Since the \fIMH\fR environment is the shell, it is easy to lose
track of the current folder from day to day.

When \fIfolder\fR is given the `\-print' switch (the default),
the current folder and/or message may be set,
or all folders may be listed.
When a `+folder' argument is given,
this corresponds to a \*(lqcd\*(rq operation in the \fICShell\fR;
when no `+folder' argument is given,
this corresponds roughly to a \*(lqpwd\*(rq operation in the \fICShell\fR.

\fIFolder\fR will
list the current folder, the number of messages in it, the
range of the messages (low\-high), and the current message within
the folder, and will flag extra files if they exist.
An example of the output is:

.nf
.if t .in +.5i
.ta \w'/rnd/phyl/Mail/EP 'u +\w'has ddd messages 'u +\w'(ddd\-ddd); 'u
inbox+	has \016 messages	(\0\03\-\022);	cur=\0\05.
.re
.if t .in -.5i
.fi

If a `+folder' and/or `msg' are specified, they will
become the current folder and/or message.
Specifying `\-all'
will produce a line for each folder in the user's MH directory,
sorted alphabetically.
These folders are preceded by the read\-only folders,
which occur as \*(lqatr\-cur\-\*(rq entries in the user's \fIMH\fR context.
For example,

.nf
.if t .in +.5i
.ta \w'/rnd/phyl/Mail/EP 'u +\w'has ddd messages 'u +\w'(ddd\-ddd); 'u
Folder	\0\0\0# of messages	(\0range\0)	cur msg (other files)
/fsd/rs/m/tacc	has \035 messages	(\0\01\-\035);	cur=\023.
/rnd/phyl/Mail/EP	has \082 messages	(\0\01\-108);	cur=\082.
ff	has \0no messages.
inbox+	has \016 messages	(\0\03\-\022);	cur=\0\05.
mh	has \076 messages	(\0\01\-\076);	cur=\070.
notes	has \0\02 messages	(\0\01\-\0\02);	cur=\0\01.
ucom	has 124 messages	(\0\01\-124);	cur=\0\06; (others).
.ta \w'/rnd/phyl/Mail/EP has 'u
\0\0\0\0\0\0\0\0\0\0TOTAL=	339 messages in 7 folders
.re
.if t .in -.5i
.fi

The \*(lq+\*(rq after inbox indicates that it is the current folder.
The \*(lq(others)\*(rq indicates that the folder `ucom' has files
which aren't messages.
These files may either be sub\-folders,
or files that don't belong under the MH file naming scheme.

The header is output if either an `\-all' or a `\-header' switch
is specified; it is suppressed by `\-noheader'.
Also, if \fIfolder\fR
is invoked by a name ending with \*(lqs\*(rq (e.g., \fIfolders\fR\0),
`\-all' is assumed.
A `\-total' switch will produce only the
summary line.

If a `+folder' and/or `msg' is given along with the `\-all' switch,
\fIfolder\fR will,
in addition to setting the current folder and/or message,
list the top\-level folders for the current folder (with `\-norecurse')
or list all folders under the current folder recursively (with `\-recurse').

If `\-fast' is given, only the folder name (or names in the
case of `\-all') will be listed.
(This is faster because the
folders need not be read.)

The `\-pack' switch will compress the message names in a folder, removing
holes in message numbering.

The `\-recurse' switch will list each folder recursively.
Use of this option effectively defeats the speed enhancement of the `\-fast'
option,
since each folder must be searched for subfolders.
Nevertheless, the combination of these options is useful.

If the specified (or default) folder doesn't exist,
the user will be queried if the folder should be created.
(This is the easy way to create an empty folder for use later.)

The `\-push' switch directs \fIfolder\fR to push the current folder onto the
\fIfolder\-stack\fR,
and make the `+folder' argument the current folder.
If `+folder' is not given,
the current folder and the top of the \fIfolder\-stack\fR are exchanged.
This corresponds to the \*(lqpushd\*(rq operation in the \fICShell\fR.

The `\-pop' switch directs \fIfolder\fR to discard the top of the
\fIfolder\-stack\fR,
after setting the current folder to that value.
No `+folder' argument is allowed.
This corresponds to the \*(lqpopd\*(rq operation in the \fICShell\fR.
The `\-push' switch and the `\-pop' switch are mutually exclusive:
the last occurrence of either one overrides any previous occurrence of the
other.

The `\-list' switch directs \fIfolder\fR to list the contents of the
\fIfolder\-stack\fR.
No `+folder' argument is allowed.
After a successful `\-push' or `\-pop', the `\-list' action is taken.
This corresponds to the \*(lqdirs\*(rq operation in the \fICShell\fR.
.Fi
^$HOME/\&.mh\(ruprofile~^The user profile
.Pr
^Path:~^To determine the user's MH directory
.Ps
^Current\-Folder:~^To find the default current folder
.Ps
^Folder\-Protect:~^To set mode when creating a new folder
.Ps
^Folder\-Stack:~^To determine the folder stack
.Ps
^lsproc:~^Program to list the contents of a folder
.Sa
refile(1), mhpath(1)
.De
`+folder' defaults to the current folder
.Ds
`msg' defaults to none
.Ds
`\-nofast'
.Ds
`\-noheader'
.Ds
`\-nototal'
.Ds
`\-nopack'
.Ds
`\-norecurse'
.Ds
`\-print' is the default if no `\-list', `\-push', or `\-pop' is specified
.Co
If `+folder' and/or `msg' are given, they will become the
current folder and/or message.
.Hi
In previous versions of \fIMH\fR,
the `\-fast' switch prevented context changes from
occurring for the current folder.
This is no longer the case: if `+folder' is given,
then \fIfolder\fR will always change the current folder to that.
.En
