]> 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 3ebae8baec65d1775c4c6faaa3c645f3dbb323a6..ae085cc4dafd450f391862a2d31786ae0c7468c7 100644 (file)
@@ -1,4 +1,4 @@
-.TH MH-PROFILE %manext5% "April 18, 2014" "%nmhversion%"
+.TH MH-PROFILE %manext5% "September 29, 2016" "%nmhversion%"
 .\"
 .\" %nmhwarning%
 .\"
@@ -8,7 +8,7 @@ mh-profile \- user profile customization for nmh message handler
 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
@@ -28,9 +28,9 @@ This is a comment.
 .RE
 .PP
 Blank lines are not permitted in
-.IR \&.mh\(ruprofile.
+.IR \&.mh\-profile.
 The shell quoting conventions are not available in the
-.IR \&.mh\(ruprofile ;
+.IR \&.mh\-profile ;
 each token is separated by whitespace.
 .SS "Standard Profile Entries"
 The possible profile components are exemplified below.  The only mandatory
@@ -44,6 +44,15 @@ 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
 .RS 5
@@ -59,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.
@@ -91,7 +100,7 @@ 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
 .IR mh\-sequence (5)
-man page for the details about this sequence. (profile, no default)
+man page for the details about this sequence.  (profile, no default)
 .RE
 .PP
 .BR Sequence\-Negation :
@@ -124,11 +133,11 @@ man page for the details about this sequence.
 .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 :
@@ -307,7 +316,7 @@ and
 .BR repl .
 Read the
 .IR mh\-draft (5)
-man page for details. (profile, no default)
+man page for details.  (profile, no default)
 .RE
 .PP
 .BI digest\-issue\- list :
@@ -337,7 +346,7 @@ 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
@@ -351,9 +360,9 @@ 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
@@ -368,12 +377,15 @@ supersedes all of this.  (profile, no default)
 .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.
+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:
-.PP
 .RS 5
+.TP 5
+.PD 0
 1)
 .B \-user
 switch to
@@ -384,17 +396,23 @@ switch to
 or
 .B msgchk
 program
-.br
-2) the login name on the local machine
+.TP
+2)
+the login name on the local machine
+.PD
 .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
+.TP 5
+.PD 0
+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
+.TP
+2)
+password obtained by interactively prompting the user
+.PD
 .RE
 .PP
 The password for POP service when the
@@ -406,17 +424,21 @@ With a
 .RI \*(lqfile: netrc \*(rq
 .B credentials
 entry, the username is the first of:
-.PP
 .RS 5
+.PD 0
+.TP 5
 1)
 .B \-user
 switch to program
-.br
-2) login name from matching entry in
+.TP 5
+2)
+login name from matching entry in
 .I netrc
 file
-.br
-3) value provided by user in response to interactive query
+.TP 5
+3)
+value provided by user in response to interactive query
+.PD
 .RE
 .PP
 Similarly, the password is provided either in the
@@ -446,15 +468,51 @@ with your own account information:
 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
@@ -528,7 +586,7 @@ and
 .B repl
 to display the draft message.
 (Note that
-.B $PAGER
+the environment variable PAGER
 supersedes the default built-in pager command.)
 .RE
 .PP
@@ -545,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
@@ -586,7 +644,7 @@ program used by
 .B mhshow
 to display message bodies (or message parts) of type text/plain.
 (Note that
-.B $PAGER
+the vivironment variable PAGER
 supersedes the default built-in pager command.)
 .RE
 .PP
@@ -597,7 +655,7 @@ Currently not used.
 .RE
 .PP
 .BR postproc :
-%libdir%/post
+%nmhlibexecdir%/post
 .RS 5
 This is the program used by
 .BR send ,
@@ -645,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
@@ -675,15 +733,49 @@ to determine to whom a message would be sent.
 After consulting .mh_profile,
 some programs read an optional profile specified by a
 program-specific environment variable,
-and then the system-wide profile %etcdir%/mhn.defaults.
-These programs are mhbuild, mhshow, mhstore, and mhn.
-mhfixmsg is similar, but has no optional profile.
-
+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.
-.SS "Environment Variables"
+.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
@@ -698,26 +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
-.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
@@ -725,181 +828,115 @@ 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 $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
-This variable tells
-.B send
-and
-.B post
-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
-.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
-.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
+.TP
+MHPDEBUG
 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
+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
 commands that use the
-.BR Alternate\-Mailboxes
+.B Alternate\-Mailboxes
 profile entry will display debugging information
 about the values in that entry.
-.RE
-.PP
-.B $PAGER
-.RS 5
+.TP
+PAGER
 If set to a non-null value, this supersedes the value of
 the default built-in pager command.
-.RE
-.PP
-.B $editalt
-.RS 5
+.TP
+SIGNATURE
+This variable tells
+.B send
+and
+.B post
+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.
+.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
@@ -913,70 +950,48 @@ 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, and if your current working directory is
 writable.
-.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
+.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 ,
@@ -988,85 +1003,62 @@ 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"
-.IR environ (5),
+.IR mhbuild (1),
+.IR mhshow (1),
+.IR mhstore (1),
 .IR mh-sequence (5),
 .IR nmh (7)
-.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.
 .SH BUGS
 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