]> diplodocus.org Git - nmh/blobdiff - man/mh-profile.man
Replace getcpy() with mh_xstrdup() where the string isn't NULL.
[nmh] / man / mh-profile.man
index 524f2ab79add61edb8fcf7b224d1c1ba110b1523..ae085cc4dafd450f391862a2d31786ae0c7468c7 100644 (file)
@@ -1,16 +1,14 @@
+.TH MH-PROFILE %manext5% "September 29, 2016" "%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
 is expected to have a file named
-.I \&.mh\(ruprofile
+.I \&.mh\-profile
 in his or her home directory.  This file contains
 a set of user parameters used by some or all of the
 .B nmh
@@ -22,7 +20,18 @@ family of programs.  Each entry in the file is of the format
 .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\-profile.
+The shell quoting conventions are not available in the
+.IR \&.mh\-profile ;
+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
@@ -31,7 +40,18 @@ indicates whether the information is kept in the user's
 .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
+Some MH programs, including
+.BR mhbuild ,
+.BR mhshow ,
+and
+.BR mhstore ,
+have specific profile components that are described in their respective
+man pages.  Each component name begins with the name of the program and
+is followed by a dash.
 .PP
 .BR Path :
 Mail
@@ -48,7 +68,7 @@ context
 Declares the location of the
 .B nmh
 context file.  This is overridden by the environment variable
-.BR $MHCONTEXT .
+MHCONTEXT.
 See the
 .B HISTORY
 section below.
@@ -79,8 +99,8 @@ command.  If not present or empty,
 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)
-man page for the details about this sequence. (profile, no default)
+.IR mh\-sequence (5)
+man page for the details about this sequence.  (profile, no default)
 .RE
 .PP
 .BR Sequence\-Negation :
@@ -89,7 +109,7 @@ not
 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
@@ -107,17 +127,17 @@ will add or remove messages from these
 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
 .PP
 .BR mh\-sequences :
-\&.mh\(rusequences
+\&.mh\-sequences
 .RS 5
 The name of the file in each folder which defines public sequences.
 To disable the use of public sequences, leave the value portion of this
-entry blank.  (profile, default: \&.mh\(rusequences)
+entry blank.  (profile, default: \&.mh\-sequences)
 .RE
 .PP
 .BI atr\- seq \- folder :
@@ -126,13 +146,13 @@ entry blank.  (profile, default: \&.mh\(rusequences)
 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 ,
@@ -140,17 +160,9 @@ Defines the editor to be used by the commands
 .BR forw ,
 and
 .BR repl .
-(profile, default: %default_editor%)
-.RE
-.PP
-.BR automimeproc :
-.RS 5
-If defined and set to 1, then the
-.B whatnow
-program will automatically
-invoke the buildmimeproc (discussed below) to process each message as a MIME
-composition draft before it is sent.
-(profile, no default)
+If not set in profile the value will be taken from the VISUAL and
+EDITOR environment variables.
+(profile, default: vi)
 .RE
 .PP
 .BR Msg\-Protect :
@@ -158,8 +170,9 @@ composition draft before it is sent.
 .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.
+.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
@@ -168,11 +181,33 @@ for an explanation of the octal number.
 .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
@@ -224,7 +259,7 @@ by the default component files by tools like
 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
+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,
@@ -276,11 +311,12 @@ Indicates a default draft folder for
 .BR comp ,
 .BR dist ,
 .BR forw ,
+.BR refile ,
 and
 .BR repl .
 Read the
-.BR mh\-draft (5)
-man page for details. (profile, no default)
+.IR mh\-draft (5)
+man page for details.  (profile, no default)
 .RE
 .PP
 .BI digest\-issue\- list :
@@ -310,37 +346,182 @@ Tells
 .B inc
 your maildrop, if different from the default.  This is
 superseded by the environment variable
-.BR $MAILDROP .
+MAILDROP.
 (profile, default: %mailspool%/$USER)
 .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 .
+SIGNATURE .
 If
-.B $SIGNATURE
+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.
 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,
+.RI \*(lqfile: netrc \*(rq,
+and
+.RI \*(lqfile\-nopermcheck: netrc \*(rq.
+With \*(lqlegacy\*(rq, or if there is no credentials entry, the
+username is the first of:
+.RS 5
+.TP 5
+.PD 0
+1)
+.B \-user
+switch to
+.BR send ,
+.BR post ,
+.BR whom ,
+.BR inc ,
+or
+.B msgchk
+program
+.TP
+2)
+the login name on the local machine
+.PD
+.RE
+.PP
+The password for SMTP services is the first of:
+.RS 5
+.TP 5
+.PD 0
+1)
+password value from matching entry in file named \*(lq.netrc\*(rq
+in the user's home directory
+.TP
+2)
+password obtained by interactively prompting the user
+.PD
+.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:
+.RS 5
+.PD 0
+.TP 5
+1)
+.B \-user
+switch to program
+.TP 5
+2)
+login name from matching entry in
+.I netrc
+file
+.TP 5
+3)
+value provided by user in response to interactive query
+.PD
+.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.
+.PP
+The
+.RI \*(lqfile\-nopermcheck: netrc \*(rq
+.B credentials
+entry is identical in behavior to the \*(lqfile\*(rq entry, with the
+exception that the permission checks done by
+\*(lqfile\*(rq are not performed.  This entry should be used with
+caution and only when absolutely necessary.
+(profile, default: legacy)
+.RE
+.PP
+.BR Welcome :
+disable
+.RS 5
+If the Welcome component is not present, or its value is not
+.RI \*(lq disable \*(rq,
+a welcome message will be displayed the first time that an interactive
+.B nmh
+program is run after updating the
+.B nmh
+installation.
+The user must press the Enter key to continue.
+.PP
+If the MHCONTEXT environment variable is set and non-empty (and
+the Welcome component is not
+.RI \*(lq disable \*(rq),
+the welcome message is only displayed if the context file contains a version
+reference, and that reference is older than the installed
+.B nmh
+version.  The version reference is of the form:
+.PP
+.RS 5
+.nf
+Version: %nmhversion%
+.fi
+.RE
+.PP
 .RE
-
 .SS "Process Profile Entries"
 The following profile elements are used whenever an
 .B nmh
 program invokes some other program such as
 .BR more .
 The
-.I \&.mh\(ruprofile
+.I \&.mh\-profile
 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 separate 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 :
@@ -377,7 +558,7 @@ Program called by
 .B mhl
 to filter a component when it is tagged with the \*(lqformat\*(rq variable
 in the mhl filter.  See
-.BR mhl (5)
+.IR mhl (5)
 for more information.
 .RE
 .PP
@@ -390,16 +571,8 @@ to incorporate new mail when it
 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
@@ -412,6 +585,9 @@ also used by the draft folder facility in
 and
 .B repl
 to display the draft message.
+(Note that
+the environment variable PAGER
+supersedes the default built-in pager command.)
 .RE
 .PP
 .BR mailproc :
@@ -419,10 +595,6 @@ to display the draft message.
 .RS 5
 This is the program used to automatically mail various messages
 and notifications.  It is used by
-.B conflict
-when using the
-.B \-mail
-option.  It is used by
 .B send
 to post failure notices.
 It is used to retrieve an external-body with access-type `mail-server'
@@ -431,7 +603,7 @@ It is used to retrieve an external-body with access-type `mail-server'
 .RE
 .PP
 .BR mhlproc :
-%libdir%/mhl
+%nmhlibexecdir%/mhl
 .RS 5
 This is the program used to filter messages in various ways.  It
 is used by
@@ -461,7 +633,7 @@ that is sent to \*(lqBcc:\*(rq recipients.
 .RE
 .PP
 .BR moreproc :
-%default_pager%
+more
 .RS 5
 This is the program used by
 .B mhl
@@ -471,12 +643,9 @@ formatted message when displaying to a terminal.  It is also the default
 program used by
 .B mhshow
 to display message bodies (or message parts) of type text/plain.
-.RE
-.PP
-.BR mshproc :
-%bindir%/msh
-.RS 5
-Currently not used.
+(Note that
+the vivironment variable PAGER
+supersedes the default built-in pager command.)
 .RE
 .PP
 .BR packproc :
@@ -486,7 +655,7 @@ Currently not used.
 .RE
 .PP
 .BR postproc :
-%libdir%/post
+%nmhlibexecdir%/post
 .RS 5
 This is the program used by
 .BR send ,
@@ -510,9 +679,10 @@ to do address verification.
 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
@@ -533,7 +703,7 @@ to process and display non-text (MIME) messages.
 .RE
 .PP
 .BR showproc :
-%libdir%/mhl
+%nmhlibexecdir%/mhl
 .RS 5
 This is the program used by
 .B show
@@ -559,8 +729,53 @@ This is the program used by
 .B whatnow
 to determine to whom a message would be sent.
 .RE
-
-.SS "Environment Variables"
+.SS "Profile Lookup"
+After consulting .mh_profile,
+some programs read an optional profile specified by a
+program-specific environment variable,
+and then the system-wide profile %nmhetcdir%/mhn.defaults.
+These programs are
+.BR mhbuild ,
+.BR mhshow ,
+.BR mhstore ,
+and
+.BR mhn .
+.B mhfixmsg
+is similar, but has no optional profile.
+.sp
+The first occurrence of a component is used,
+e.g.\& .mh_profile's trumps $MHSHOW's.
+A component with no value still stops further occurrences being used,
+but is considered absent.
+.PP
+The
+.I \&.mh\-profile
+contains only static information, which
+.B nmh
+programs will
+.B NOT
+update.  Changes in context are made to the
+.I context
+file kept in the users
+.B nmh
+directory.
+This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
+and all private sequence information.  Public sequence information is
+kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq
+profile entry (default is
+.IR \&.mh\-sequences ).
+.PP
+The
+.I \&.mh\-profile
+may override the path of the
+.I context
+file, by specifying a \*(lqcontext\*(rq entry (this must be in
+lower-case).  If the entry is not absolute (does not start with a
+\*(lq/\*(rq), then it is interpreted relative to the user's
+.B nmh
+directory.  As a result, you can actually have more than one set of
+private sequences by using different context files.
+.SH ENVIRONMENT
 The operation of
 .B nmh
 and its commands it also controlled by the
@@ -575,44 +790,37 @@ user, isn't it?  The reason for all this is that the
 .B nmh
 user
 can select
-.B any
+any
 program as the
 .IR whatnowproc ,
 including
 one of the standard shells.  As a result, it's not possible to pass
-information via an argument list. The convention is that environment
+information via an argument list.  The convention is that environment
 variables whose names are all upper-case are user-settable; those
 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
+.TP
+MAILDROP
+This variable tells
+.B inc
+the default maildrop.  This supersedes the \*(lqMailDrop\*(rq profile entry.
+.TP
+MAILHOST
+This variable tells
+.B inc
+the POP host to query for mail to incorporate.  See the
+.IR inc (1)
+man page for more information.
+.TP
+MH
 With this environment variable, you can specify a profile
 other than
-.I \&.mh\(ruprofile
+.I \&.mh\-profile
 to be read by the
 .B nmh
 programs
 that you invoke.  If the value of
-.B $MH
+MH
 is not absolute, (i.e., does
 not begin with a \*(lq/\*(rq), it will be presumed to start from the current
 working directory.  This is one of the very few exceptions in
@@ -620,329 +828,170 @@ working directory.  This is one of the very few exceptions in
 where non-absolute pathnames are not considered relative to the user's
 .B nmh
 directory.
-.RE
-.PP
-.B $MHCONTEXT
-.RS 5
+.TP
+MHBUILD
+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.
+.TP
+MHCONTEXT
 With this environment variable, you can specify a
 context other than the normal context file (as specified in
 the
 .B nmh
 profile).  As always, unless the value of
-.B $MHCONTEXT
+MHCONTEXT
 is absolute, it will be presumed to start from your
 .B nmh
 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
+.TP
+MHLDEBUG
+If this variable is set to a non-null value,
+.B mhl
+will emit debugging information.
+.TP
+MHMTSCONF
+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
+.IR mh-tailor (5).
+.TP
+MHMTSUSERCONF
+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
+.IR mh-tailor (5).
+.TP
+MHN
 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
+is deprecated, so support for this variable will
 be removed from a future nmh release.
-.RE
-.PP
-.B $MHSHOW
-.RS 5
+.TP
+MHSHOW
 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
+.TP
+MHSTORE
 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
-decoded (in
-.BR inc ,
-.BR scan ,
-.BR mhl ).
-This variable is
-checked by
-.B show
-to see if the
-.I showproc
-or
-.I showmimeproc
-should
-be called, since showmimeproc will be called if a text message uses
-a character set that doesn't match
-.BR $MM_CHARSET .
-This variable is
-checked by
-.B mhshow
-for matches against the charset parameter
-of text contents to decide it the text content can be displayed
-without modifications to your terminal.  This variable is checked by
-.B mhbuild
-to decide what character set to specify in the charset
-parameter of text contents containing 8\-bit characters.
-.PP
-When decoding text in such an alternate character set,
+.TP
+MHPDEBUG
+If this variable is set to a non-null value,
+.B pick
+will emit a representation of the search pattern.
+MHPDEBUG
+is deprecated, so support for this variable will
+be removed from a future nmh release.  Instead,
+.B pick
+now supports a
+.B \-debug
+switch.
+.TP
+MHTMPDIR, TMPDIR
+These variables are searched, in order, for the directory in which to
+create some temporary files.
+.TP
+MHWDEBUG
+If this variable is set to a non-null value,
 .B nmh
-must be able to determine which characters are alphabetic, which
-are control characters, etc.  For many operating systems, this
-will require enabling the support for locales (such as setting
-the environment variable
-.B $LC_CTYPE
-to iso_8859_1).
-.RE
-.PP
-.B $NOMHNPROC
-.RS 5
-If this variable is set,
-.B show
-will next test for MIME messages.  This mechanism is obsolete;
-use the
-.B \-nocheckmime
-switch to
-.B show
-instead.
-.RE
-.PP
-.B $MAILDROP
-.RS 5
-This variable tells
-.B inc
-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
+commands that use the
+.B Alternate\-Mailboxes
+profile entry will display debugging information
+about the values in that entry.
+.TP
+PAGER
+If set to a non-null value, this supersedes the value of
+the default built-in pager command.
+.TP
+SIGNATURE
 This variable tells
 .B send
 and
 .B post
-your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
-.RE
-.PP
-.B $USER
-.RS 5
+your mail signature.  This supersedes the \*(lqSignature\*(rq profile entry,
+and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set.
+.TP
+USER
 This variable tells
 .B repl
 your user name and
 .B inc
 your default maildrop:  see the \*(lqMailDrop\*(rq profile entry.
-.RE
-.PP
-.B $HOME
-.RS 5
-This variable tells all
-.B nmh
-programs your home directory
-.RE
-.PP
-.B $TERM
-.RS 5
-This variable tells
-.B nmh
-your terminal type.
-.PP
-The environment variable
-.B $TERMCAP
-is also consulted.  In particular,
-these tell
-.B scan
-and
-.B mhl
-how to clear your terminal, and how
-many columns wide your terminal is.  They also tell
-.B mhl
-how many
-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 $MM_NOASK
-.RS 5
-Setting this variable is set to 1 has the same effect as specifying
-the
-.B \-nolist
-and
-.B \-nopause
-switches to
-.BR mhbuild ,
-.BR mhn ,
-and
-.BR mhshow .
-OBSOLETE:  will be removed in a future version of nmh.
-.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 $MHPOPDEBUG
-.RS 5
-If this variable is set to a non-null value,
-.B msgchck
-and
-.B inc
-will display their interaction with the POP server.
-This mechanism is obsolete; use the
-.B \-snoop
-switch instead.
-.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 $editalt
-.RS 5
+.TP
+USERNAME_EXTENSION
+This variable is for use with username_extension masquerading.  See the
+.IR mh-tailor (5)
+man page.
+.TP
+editalt
 This is the alternate message.
-.PP
 This is set by
 .B dist
 and
 .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.
-.RE
-.PP
-.B $mhdraft
-.RS 5
-This is the path to the working draft.
-.PP
-This is set by
-.BR comp ,
-.BR dist ,
-.BR forw ,
-and
-.B repl
-to tell the
-.I whatnowproc
-which file to ask \*(lqWhat now?\*(rq
-questions about.
-.RE
-.PP
-.B $mhaltmsg
-.RS 5
+on the same UNIX filesystem, and if your current working directory is
+writable.
+.TP
+mhaltmsg
 .B dist
 and
 .B repl
 set
-.B $mhaltmsg
+mhaltmsg
 to tell the
 .I whatnowproc
 about an alternate message associated with the
 draft (the message being distributed or replied to).
-.RE
-.PP
-.B $mhfolder
-.RS 5
-This is the folder containing the alternate message.
-.PP
+.TP
+mhannotate
 This is set by
-.B dist
+.BR dist ,
+.BR forw ,
 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
+if annotations are to occur.
+.TP
+mhdist
 .B dist
 sets
-.B $mhdist
+mhdist
 to tell the
 .I whatnowproc
 that message re-distribution is occurring.
-.RE
-.PP
-.B $mheditor
-.RS 5
+.TP
+mhdraft
+This is the path to the working draft.
+It is set by
+.BR comp ,
+.BR dist ,
+.BR forw ,
+and
+.B repl
+to tell the
+.I whatnowproc
+which file to ask \*(lqWhat now?\*(rq
+questions about.
+.TP
+mheditor
 This is set by
 .BR comp ,
 .BR repl ,
@@ -954,92 +1003,63 @@ to tell the
 the user's choice of
 editor (unless overridden by
 .BR \-noedit ).
-.RE
-.PP
-.B $mhuse
-.RS 5
-This may be set by
-.BR comp .
-.RE
-.PP
-.B $mhmessages
-.RS 5
-This is set by
-.BR dist ,
-.BR forw ,
+.TP
+mhfolder
+This is the folder containing the alternate message.
+It is set by
+.B dist
 and
 .B repl
-if annotations are to occur.
-.RE
-.PP
-.B $mhannotate
-.RS 5
+during edit sessions so you
+can peruse other messages in the current folder besides the one being
+distributed or replied to.  The environment variable
+mhfolder
+is also set by
+.BR show ,
+.BR prev ,
+and
+.B next
+for use by
+.BR mhl .
+.TP
+mhinplace
 This is set by
 .BR dist ,
 .BR forw ,
 and
 .B repl
 if annotations are to occur.
-.RE
-.PP
-.B $mhinplace
-.RS 5
+.TP
+mhmessages
 This is set by
 .BR dist ,
 .BR forw ,
 and
 .B repl
 if annotations are to occur.
-.RE
-
+.TP
+mhuse
+This may be set by
+.BR comp .
 .SH FILES
-.fc ^ ~
-.nf
-.ta \w'%etcdir%/ExtraBigFileName  'u
-^$HOME/\&.mh\(ruprofile~^The user profile
-^or $MH~^Rather than the standard profile
-^<mh\-dir>/context~^The user context
-^or $MHCONTEXT~^Rather than the standard context
-^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
-.fi
-
+.PD 0
+.TP 20
+$HOME/\&.mh\-profile
+The user's profile.
+.TP
+<mh\-dir>/context
+The user's context
+.TP
+<folder>/\&.mh\-sequences
+Public sequences for <folder>.
+.PD
 .SH "SEE ALSO"
-nmh(1), environ(5), mh-sequence(5)
-
-.SH HISTORY
-The
-.I \&.mh\(ruprofile
-contains only static information, which
-.B nmh
-programs will
-.B NOT
-update.  Changes in context are made to the
-.I context
-file kept in the users
-.B nmh
-directory.
-This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry
-and all private sequence information.  Public sequence information is
-kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq
-profile entry (default is
-.IR \&.mh\(rusequences ).
-.PP
-The
-.I \&.mh\(ruprofile
-may override the path of the
-.I context
-file, by specifying a \*(lqcontext\*(rq entry (this must be in
-lower-case).  If the entry is not absolute (does not start with a
-\*(lq/\*(rq), then it is interpreted relative to the user's
-.B nmh
-directory.  As a result, you can actually have more than one set of
-private sequences by using different context files.
-
+.IR mhbuild (1),
+.IR mhshow (1),
+.IR mhstore (1),
+.IR mh-sequence (5),
+.IR nmh (7)
 .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