+.TH MH-PROFILE %manext5% "April 14, 2013" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
-.TH MH-PROFILE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mh-profile \- user profile customization for nmh message handler
-.SH SYNOPSIS
-.I $HOME/.mh\(ruprofile
.SH DESCRIPTION
Each user of
.B nmh
.PP
If the text of profile entry is long, you may extend it across several
real lines by indenting the continuation lines with leading spaces or tabs.
-
+Comments may be introduced by a line starting with `#:':
+.PP
+.RS 5
+.IR # ": "
+This is a comment.
+.RE
+.PP
+Blank lines are not permitted in
+.IR \&.mh\(ruprofile.
+The shell quoting conventions are not available in the
+.IR \&.mh\(ruprofile ;
+each token is separated by whitespace.
.SS "Standard Profile Entries"
The possible profile components are exemplified below. The only mandatory
entry is `Path:'. The others are optional; some have default values if
.B nmh
profile or
.B nmh
-context, and indicates what the default value is.
+context, and indicates what the default value is. Note that a profile
+component can only appear once. Multiple appearances with trigger a
+warning that all appearances after the first are ignored.
.PP
.BR Path :
Mail
no such sequences are defined. Otherwise, for each name given, the
sequence is first zero'd and then each message is added to the sequence.
Read the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details about this sequence. (profile, no default)
.RE
.PP
Defines the string which, when prefixed to a sequence name, negates
that sequence. Hence, \*(lqnotseen\*(rq means all those messages that
are not a member of the sequence \*(lqseen\*(rq. Read the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details. (profile, no default)
.RE
.PP
sequences when they are incorporated or read. If not present or
empty, no such sequences are defined. Otherwise, each message is
added to, or removed from, each sequence name given. Read the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details about this sequence.
(profile, no default)
.RE
Keeps track of the private sequence called \*(lqseq\*(rq in the specified
folder. Private sequences are generally used for read\-only folders.
See the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for details about private sequences.
(context, no default)
.RE
.PP
.BR Editor :
-/usr/bin/vi
+vi
.RS 5
Defines the editor to be used by the commands
.BR comp ,
.BR forw ,
and
.BR repl .
-(profile, default: %default_editor%)
+If not set in profile the value will be taken from the VISUAL and
+EDITOR environment variables.
+(profile, default: vi)
.RE
.PP
.BR automimeproc :
.RE
.PP
.BR Msg\-Protect :
-644
+600
.RS 5
An octal number which defines the permission bits for new message files.
See
-.BR chmod (1)
-for an explanation of the octal number.
-(profile, default: 0644)
+.IR chmod (1)
+for an explanation of the octal number. Note that some filesystems,
+such as FAT32, do not support removal of read file permissions.
+(profile, default: 0600)
.RE
.PP
.BR Folder\-Protect :
-750
+700
.RS 5
An octal number which defines the permission bits for new folder
directories. See
-.BR chmod (1)
+.IR chmod (1)
for an explanation of the octal number.
(profile, default: 700)
.RE
.PP
+.BR datalocking :
+fcntl
+.RS 5
+The locking algorithm used to lock changes to any
+.B nmh
+data files, such as sequences or the context. The locking algorithm is
+any one of the following entries:
+.PP
+.RS 5
+.nf
+%supported_locks%
+.fi
+.RE
+.PP
+Available locking algorithms can vary depending on what is supported by
+the operating system. Note: currently transactional locking is only
+supported on public sequences; see
+.IR mh\-sequence (5)
+for more information.
+(profile, default: fcntl)
+.RE
+.PP
.IR program :
.I default switches
.RS 5
(profile, no default)
.RE
.PP
-.BR bboards :
-system
-.RS 5
-Tells
-.B bbc
-which BBoards you are interested in. (profile, default: system)
-.RE
-.PP
.BR Folder\-Stack :
.I folders
.RS 5
(context, no default)
.RE
.PP
-.BR mhe :
+.BR Local\-Mailbox :
+Your Username <user@some.host>
.RS 5
-If present, tells
-.B inc
-to compose an
-.I MHE
-auditfile in addition to its other tasks.
-.I MHE
-is Brian Reid's
-.B emacs
-front-end for
-.BR nmh .
-(profile, no default)
+Tells the various MH tools what your local mailbox is. If set, will be used
+by the default component files by tools like
+.B comp
+and
+.B repl
+to construct your default \*(lqFrom\*(rq header. The text used here will
+be copied exactly to your From: header, so it should already be RFC 822
+compliant. If this is set, the
+.B Signature
+profile entry is NOT used, so it should include a signature as well. (profile,
+default: userid@local.hostname)
.RE
.PP
.BR Alternate\-Mailboxes :
.BR comp ,
.BR dist ,
.BR forw ,
+.BR refile ,
and
.BR repl .
Read the
-.BR mh\-draft (5)
+.IR mh\-draft (5)
man page for details. (profile, no default)
.RE
.PP
.BR Signature :
RAND MH System (agent: Marshall Rose)
.RS 5
-Tells
-.B send
+Tells front-end programs such as
+.BR comp,
+.BR forw,
+and
+.B repl
your mail signature. This is superseded by the
environment variable
.BR $SIGNATURE .
If
.B $SIGNATURE
is not set and this profile entry is not present, the \*(lqgcos\*(rq field of
-the \fI/etc/passwd\fP file will be used; otherwise, on hosts where
-.B nmh
-was configured with the UCI option, the file
-.I $HOME/.signature
-is consulted. Your signature will be added to the address
+the \fI/etc/passwd\fP file will be used.
+Your signature will be added to the address
.B send
puts in the \*(lqFrom:\*(rq header; do not include an address in the
-signature text. (profile, no default)
+signature text. The \*(lqLocal\-Mailbox\*(rq profile component
+supersedes all of this. (profile, no default)
+.RE
+.PP
+.BR credentials :
+\&legacy
+.RS 5
+Indicates how the username and password credentials will be retrieved
+for access to external servers, such as those that provide SMTP or POP
+service. The supported entry values are \*(lqlegacy\*(rq and
+.RI \*(lqfile: netrc \*(rq.
+With \*(lqlegacy\*(rq, or if there is no credentials entry, the
+username is the first of:
+.PP
+.RS 5
+1)
+.B \-user
+switch to
+.BR send ,
+.BR post ,
+.BR whom ,
+.BR inc ,
+or
+.B msgchk
+program
+.br
+2) the login name on the local machine
+.RE
+.PP
+The password for SMTP services is the first of:
+.PP
+.RS 5
+1) password value from matching entry in file named \*(lq.netrc\*(rq
+in the user's home directory
+.br
+2) password obtained by interactively prompting the user
+.RE
+.PP
+The password for POP service when the
+.B \-sasl
+switch is used with one of these programs is the login name on the
+local machine.
+.PP
+With a
+.RI \*(lqfile: netrc \*(rq
+.B credentials
+entry, the username is the first of:
+.PP
+.RS 5
+1)
+.B \-user
+switch to program
+.br
+2) login name from matching entry in
+.I netrc
+file
+.br
+3) value provided by user in response to interactive query
+.RE
+.PP
+Similarly, the password is provided either in the
+.I netrc
+file or interactively.
+.I netrc
+can be any valid filename, either absolute or relative to Path or
+$HOME. The
+.I netrc
+file contains authentication information, for each server,
+using a line of the following form. Replace the words
+.IR myserver ,
+.IR mylogin ,
+and
+.I mypassword
+with your own account information:
+.PP
+.RS 5
+.B machine
+.I myserver
+.B login
+.I mylogin
+.B password
+.I mypassword
+.RE
+.PP
+This
+.I netrc
+file must be owned and readable only by you.
+(profile, default: legacy)
.RE
-
.SS "Process Profile Entries"
The following profile elements are used whenever an
.B nmh
.I \&.mh\(ruprofile
can be used to select alternate programs if the
user wishes. The default values are given in the examples.
+.PP
+If the profile element contains spaces, the element is split at spaces
+into tokens and each token is given as a seperate argument to the
+.IR execvp (2)
+system call. If the element contains shell metacharacters then the entire
+element is executed using
+.BR /bin/sh .
.RE
.PP
.BR buildmimeproc :
directive at the \*(lqWhat now?\*(rq prompt.
.RE
.PP
+.BR formatproc :
+.RS 5
+Program called by
+.B mhl
+to filter a component when it is tagged with the \*(lqformat\*(rq variable
+in the mhl filter. See
+.IR mhl (5)
+for more information.
+.RE
+.PP
.BR incproc :
%bindir%/inc
.RS 5
is invoked with no arguments.
.RE
.PP
-.BR installproc :
-%libdir%/install\-mh
-.RS 5
-This program is called to initialize the environment for
-new users of
-.BR nmh .
-.RE
-.PP
.BR lproc :
-%default_pager%
+more
.RS 5
This program is used to list the contents of a message in response
to the
and
.B repl
to display the draft message.
+(Note that
+.B $PAGER
+supersedes the default built-in pager command.)
.RE
.PP
.BR mailproc :
.RE
.PP
.BR moreproc :
-%default_pager%
+more
.RS 5
This is the program used by
.B mhl
program used by
.B mhshow
to display message bodies (or message parts) of type text/plain.
+(Note that
+.B $PAGER
+supersedes the default built-in pager command.)
.RE
.PP
.BR mshproc :
none
.RS 5
This is the program used by
-.B rmm
+.BR rmm ,
+.BR refile ,
and
-.B refile
+.B mhfixmsg
to delete a message from a folder.
.RE
.PP
-.BR rmfproc :
-%bindir%/rmf
-.RS 5
-Currently not used.
-.RE
-.PP
.BR sendproc :
%bindir%/send
.RS 5
.B whatnow
to determine to whom a message would be sent.
.RE
-
.SS "Environment Variables"
The operation of
.B nmh
whose names are lower-case only are used internally by nmh and should
not generally be set by the user.
.PP
-If the
-.B WHATNOW
-option was set during
-.B nmh
-configuration, and
-if this environment variable is set, then if the commands
-.BR refile\ ,
-.BR send ,
-.BR show ,
-or
-.B whom
-are not given any `msgs'
-arguments, then they will default to using the file indicated by
-.BR mh\-draft (5).
-This is useful for getting the default behavior
-supplied by the default
-.IR whatnowproc .
-.PP
.B $MH
.RS 5
With this environment variable, you can specify a profile
directory.
.RE
.PP
+.B $MHBUILD
+.RS 5
+With this environment variable, you can specify an
+additional user profile (file) to be read by
+.BR mhbuild ,
+in addition to the mhn.defaults profile.
+.RE
+.PP
+.B $MHN
+.RS 5
+With this environment variable, you can specify an
+additional user profile (file) to be read by
+.BR mhn ,
+in addition to the mhn.defaults profile.
+.B mhn
+is deprecated, so this support for this variable will
+be removed from a future nmh release.
+.RE
+.PP
+.B $MHSHOW
+.RS 5
+With this environment variable, you can specify an
+additional user profile (file) to be read by
+.BR mhshow ,
+in addition to the mhn.defaults profile.
+.RE
+.PP
+.B $MHSTORE
+.RS 5
+With this environment variable, you can specify an
+additional user profile (file) to be read by
+.BR mhstore ,
+in addition to the mhn.defaults profile.
+.RE
+.PP
.B $MM_CHARSET
.RS 5
With this environment variable, you can specify
the native character set you are using. You must be able to display
this character set on your terminal.
.PP
-This variable is checked to see if a RFC-2047 header field should be
+This variable is checked to see if a RFC 2047 header field should be
decoded (in
.BR inc ,
.BR scan ,
the default maildrop. This supersedes the \*(lqMailDrop\*(rq profile entry.
.RE
.PP
+.B $MAILHOST
+.RS 5
+This variable tells
+.B inc
+the POP host to query for mail to incorporate. See the
+inc(1) man page for more information.
+.RE
+.PP
+.B $USERNAME_EXTENSION
+.RS 5
+This variable is for use with username_extension masquerading. See the
+mh-tailor(5) man page.
+.RE
+.PP
.B $SIGNATURE
.RS 5
This variable tells
.B send
and
.B post
-your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
+your mail signature. This supersedes the \*(lqSignature\*(rq profile entry,
+and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set.
+.RE
+.PP
+.B $USER
+.RS 5
+This variable tells
+.B repl
+your user name and
+.B inc
+your default maildrop: see the \*(lqMailDrop\*(rq profile entry.
.RE
.PP
.B $HOME
programs your home directory
.RE
.PP
-.B $SHELL
-.RS 5
-This variable tells
-.B bbl
-the default shell to run
-.RE
-.PP
.B $TERM
.RS 5
This variable tells
lines long your terminal screen is.
.RE
.PP
+.B $MHMTSCONF
+.RS 5
+If this variable is set to a non-null value, it specifies the
+name of the mail transport configuration file to use by
+.BR post ,
+.BR inc ,
+and other programs that interact with the mail transport system,
+instead of the default. See mh-tailor(5).
+.RE
+.PP
+.B $MHMTSUSERCONF
+.RS 5
+If this variable is set to a non-null value, it specifies the name of
+a mail transport configuration file to be read in addition to the
+default. See mh-tailor(5).
+.RE
+.PP
+.B $MHTMPDIR
+.B $TMPDIR
+.B $TMP
+.RS 5
+These variables are searched, in order, for the directory in which to
+create some temporary files.
+.RE
+.PP
+.B $MHLDEBUG
+.RS 5
+If this variable is set to a non-null value,
+.B mhl
+will emit debugging information.
+.RE
+.PP
+.B $MHPDEBUG
+.RS 5
+If this variable is set to a non-null value,
+.B pick
+will emit a representation of the search pattern.
+.RE
+.PP
+.B $MHWDEBUG
+.RS 5
+If this variable is set to a non-null value,
+.B nmh
+commands that use the
+.BR Alternate\-Mailboxes
+profile entry will display debugging information
+about the values in that entry.
+.RE
+.PP
+.B $PAGER
+.RS 5
+If set to a non-null value, this supersedes the value of
+the default built-in pager command.
+.RE
+.PP
.B $editalt
.RS 5
This is the alternate message.
.B repl
during edit sessions so you can
peruse the message being distributed or replied to. The message is also
-available through a link called \*(lq@\*(rq in the current directory if
+available, when the
+.B \-atfile
+switch is used,
+through a link called \*(lq@\*(rq in the current directory if
your current working directory and the folder the message lives in are
-on the same UNIX filesystem.
+on the same UNIX filesystem, and if your current working directory is
+writable.
.RE
.PP
.B $mhdraft
questions about.
.RE
.PP
-.B $mhfolder
-.RS 5
-This is set by
-.BR dist ,
-.BR forw ,
-and
-.BR repl ,
-if appropriate.
-.RE
-.PP
.B $mhaltmsg
.RS 5
.B dist
draft (the message being distributed or replied to).
.RE
.PP
+.B $mhfolder
+.RS 5
+This is the folder containing the alternate message.
+.PP
+This is set by
+.B dist
+and
+.B repl
+during edit sessions so you
+can peruse other messages in the current folder besides the one being
+distributed or replied to. The environment variable
+.B $mhfolder
+is also set by
+.BR show ,
+.BR prev ,
+and
+.B next
+for use by
+.BR mhl .
+.RE
+.PP
.B $mhdist
.RS 5
.B dist
.B repl
if annotations are to occur.
.RE
-.PP
-.B $mhfolder
-.RS 5
-This is the folder containing the alternate message.
-.PP
-This is set by
-.B dist
-and
-.B repl
-during edit sessions so you
-can peruse other messages in the current folder besides the one being
-distributed or replied to. The environment variable
-.B $mhfolder
-is also set by
-.BR show ,
-.BR prev ,
-and
-.B next
-for use by
-.BR mhl .
-.RE
-
.SH FILES
.fc ^ ~
.nf
^or $MHCONTEXT~^Rather than the standard context
^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
.fi
-
.SH "SEE ALSO"
-nmh(1), environ(5), mh-sequence(5)
-
+.IR environ (5),
+.IR mh-sequence (5),
+.IR nmh (7)
.SH HISTORY
The
.I \&.mh\(ruprofile
.B nmh
directory. As a result, you can actually have more than one set of
private sequences by using different context files.
-
.SH BUGS
-The shell quoting conventions are not available in the
-.IR \&.mh\(ruprofile .
-Each token is separated by whitespace.
-.PP
There is some question as to what kind of arguments should be placed
in the profile as options. In order to provide a clear answer, recall
command line semantics of all