Annotation of 43BSDReno/contrib/mh/conf/doc/mh-profile.rf, revision 1.1

1.1     ! root        1: .\"    @(MHWARNING)
        !             2: .TH MH\-PROFILE 5 "April 22, 1986" MH [mh.6]
        !             3: .UC 6
        !             4: .SH NAME
        !             5:  \&.mh\(ruprofile \- user customization for MH message system
        !             6: .SH SYNOPSIS
        !             7: .in +.5i
        !             8: .ti -.5i
        !             9: any \fIMH\fR command
        !            10: .in -.5i
        !            11: .SH DESCRIPTION
        !            12: Each user of \fIMH\fR is expected to have a file named \fI\&.mh\(ruprofile\fR
        !            13: in his or her home directory.  This file contains a set of
        !            14: user parameters used by some or all of the \fIMH\fR
        !            15: family of programs.  Each line of the file is of the format
        !            16: 
        !            17:     \fIprofile\-component\fR: \fIvalue\fR
        !            18: 
        !            19: The possible profile components are exemplified below.
        !            20: Only `Path:' is mandatory.
        !            21: The others are optional;
        !            22: some have default values if they are not present.
        !            23: In the notation used below,
        !            24: (profile, default) indicates whether the information is kept in the user's
        !            25: \fIMH\fR profile or \fIMH\fR context,
        !            26: and indicates what the default value is.
        !            27: 
        !            28: .in +1i
        !            29: .ti -1i
        !            30: Path: Mail
        !            31: .br
        !            32: Locates \fIMH\fR transactions in directory \*(lqMail\*(rq.
        !            33: (profile, no default)
        !            34: 
        !            35: .ti -1i
        !            36: context: context
        !            37: .br
        !            38: Declares the location of the \fIMH\fR context file,
        !            39: see the \fBHISTORY\fR section below.
        !            40: (profile, default: <mh\-dir>/context)
        !            41: 
        !            42: .ti -1i
        !            43: Current\-Folder:\ inbox
        !            44: .br
        !            45: Keeps track of the current open folder.
        !            46: (context, default: +inbox)
        !            47: 
        !            48: .ti -1i
        !            49: Previous\-Sequence:\ pseq
        !            50: .br
        !            51: Names the sequences which should be defined as the `msgs' or `msg'
        !            52: argument given to the program.
        !            53: If not present, or empty, no sequences are defined.
        !            54: Otherwise,
        !            55: for each name given,
        !            56: the sequence is first zero'd and then each message is added to the sequence.
        !            57: (profile, no default)
        !            58: 
        !            59: .ti -1i
        !            60: Sequence\-Negation:\ not
        !            61: .br
        !            62: Defines the string which, when prefixed to a sequence name,
        !            63: negates that sequence.
        !            64: Hence,
        !            65: \*(lqnotseen\*(rq means all those messages that are not a member of
        !            66: the sequence \*(lqseen\*(rq.
        !            67: (profile, no default)
        !            68: 
        !            69: .ti -1i
        !            70: Unseen\-Sequence:\ unseen
        !            71: .br
        !            72: Names the sequences which should be defined as those messages recently
        !            73: incorporated by \fIinc\fR.
        !            74: \fIShow\fR knows to remove messages from this sequence once it thinks they
        !            75: have been seen.
        !            76: If not present, or empty, no sequences are defined.
        !            77: Otherwise,
        !            78: for each name given,
        !            79: the sequence is first zero'd and then each message is added to the sequence.
        !            80: (profile, no default)
        !            81: 
        !            82: .ti -1i
        !            83: mh\-sequences:\ \&.mh\(rusequences
        !            84: .br
        !            85: The name of the file in each folder which defines public sequences.
        !            86: To disable the use of public sequences,
        !            87: leave the value portion of this entry blank.
        !            88: (profile, default: \&.mh\(rusequences)
        !            89: 
        !            90: .ti -1i
        !            91: atr\-\fIseq\fR\-\fIfolder\fR:\ 172\0178\-181\0212
        !            92: .br
        !            93: Keeps track of the private sequence called \fIseq\fR in the specified folder.
        !            94: (context, no default)
        !            95: 
        !            96: .ti -1i
        !            97: Editor:\ /usr/ucb/ex
        !            98: .br
        !            99: Defines editor to be used by 
        !           100: \fIcomp\fR\0(1), \fIdist\fR\0(1), \fIforw\fR\0(1), and \fIrepl\fR\0(1).
        !           101: (profile, default: @(MHEDITOR))
        !           102: 
        !           103: .ti -1i
        !           104: Msg\-Protect:\ 644
        !           105: .br
        !           106: Defines octal protection bits for message files.
        !           107: See \fIchmod\fR\0(1) for an explanation of the octal number.
        !           108: (profile, default: 0644)
        !           109: 
        !           110: .ti -1i
        !           111: Folder\-Protect:\ 711
        !           112: .br
        !           113: Defines protection bits for folder directories.
        !           114: (profile, default: 0711)
        !           115: 
        !           116: .ti -1i
        !           117: \fIprogram\fR:\ default switches
        !           118: .br
        !           119: Sets default switches to be used whenever the mh program
        !           120: \fIprogram\fR is invoked.
        !           121: For example, one could override the \fIEditor\fR:
        !           122: profile component when replying to messages by adding a
        !           123: component such as:
        !           124: .br
        !           125:        repl: \-editor /bin/ed
        !           126: .br
        !           127: (profile, no defaults)
        !           128: 
        !           129: .ti -1i
        !           130: \fIlasteditor\fR\-next:\ nexteditor
        !           131: .br
        !           132: Names \*(lqnexteditor\*(rq to be the default editor after using \*(lqlasteditor\*(rq.
        !           133: This takes effect at \*(lqWhat now?\*(rq level in
        !           134: \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR.
        !           135: After editing the draft with \*(lqlasteditor\*(rq,
        !           136: the default editor is set to be \*(lqnexteditor\*(rq.
        !           137: If the user types \*(lqedit\*(rq without any arguments to \*(lqWhat now?\*(rq,
        !           138: then \*(lqnexteditor\*(rq is used.
        !           139: (profile, no default)
        !           140: 
        !           141: .ti -1i
        !           142: bboards: system
        !           143: .br
        !           144: Tells \fIbbc\fR which BBoards you are interested in.
        !           145: (profile, default: system)
        !           146: 
        !           147: .ti -1i
        !           148: Folder\-Stack: \fIfolders\fR
        !           149: .br
        !           150: The contents of the folder\-stack for the \fIfolder\fR command.
        !           151: (context, no default)
        !           152: 
        !           153: .ti -1i
        !           154: mhe:
        !           155: .br
        !           156: If present, tells \fIinc\fR to compose an \fIMHE\fR auditfile in addition to
        !           157: its other tasks.
        !           158: \fIMHE\fR is Brian Reid's \fIEmacs\fR front\-end for \fIMH\fR.
        !           159: An early version is supplied with the \fImh.6\fR distribution.
        !           160: (profile, no default)
        !           161: 
        !           162: .ti \-1i
        !           163: Alternate\-Mailboxes: mh@uci\-750a, bug-mh*
        !           164: .br
        !           165: Tells \fIrepl\fR and \fIscan\fR which addresses are really yours.
        !           166: In this way, \fIrepl\fR knows which addresses should be included in the reply,
        !           167: and \fIscan\fR knows if the message really originated from you.
        !           168: Addresses must be separated by a comma,
        !           169: and the hostnames listed should be the \*(lqofficial\*(rq hostnames for the
        !           170: mailboxes you indicate,
        !           171: as local nicknames for hosts are not replaced with their official site names.
        !           172: For each address,
        !           173: if a host is not given,
        !           174: then that address on any host is considered to be you.
        !           175: In addition,
        !           176: an asterisk (`*') may appear at either or both ends of the mailbox and host
        !           177: to indicate wild\-card matching.
        !           178: (profile, default: your user-id)
        !           179: 
        !           180: .ti -1i
        !           181: Draft\-Folder: drafts
        !           182: .br
        !           183: Indicates a default draft folder for \fIcomp\fR, \fIdist\fR, \fIforw\fR,
        !           184: and \fIrepl\fR.
        !           185: (profile, no default)
        !           186: 
        !           187: .ti -1i
        !           188: digest\-issue\-\fIlist\fR:\ 1
        !           189: .br
        !           190: Tells \fIforw\fR the last issue of the last volume sent for the digest
        !           191: \fIlist\fR.
        !           192: (context, no default)
        !           193: 
        !           194: .ti -1i
        !           195: digest\-volume\-\fIlist\fR:\ 1
        !           196: .br
        !           197: Tells \fIforw\fR the last volume sent for the digest \fIlist\fR.
        !           198: (context, no default)
        !           199: 
        !           200: .ti -1i
        !           201: MailDrop: .mail
        !           202: .br
        !           203: Tells \fIinc\fR your maildrop, if different from the default.
        !           204: This is superceded by the \fB$MAILDROP\fR envariable.
        !           205: (profile, default: @(MHDROPLOC))
        !           206: 
        !           207: .ti -1i
        !           208: Signature: Rand MH System (agent: Marshall Rose)
        !           209: .br
        !           210: Tells \fIsend\fR your mail signature.
        !           211: This is superceded by the \fB$SIGNATURE\fR envariable.
        !           212: On hosts where \fIMH\fR was configured with the UCI option,
        !           213: if \fB$SIGNATURE\fR is not set and this profile entry is not present,
        !           214: the file $HOME/.signature is consulted.
        !           215: (profile, no default)
        !           216: .in -1i
        !           217: 
        !           218: The following profile elements are used whenever an \fIMH\fR program
        !           219: invokes some other program such as \fImore\fR\0(1).
        !           220: The \fI\&.mh\(ruprofile\fR can be used to select alternate
        !           221: programs if the user wishes.  The default values are given in
        !           222: the examples.
        !           223: 
        !           224: .nf
        !           225: .in +.5i
        !           226: .ta \w'whatnowproc:  'u
        !           227: ^fileproc:~^@(MHBINPATH)/refile
        !           228: ^incproc:~^@(MHBINPATH)/inc
        !           229: ^installproc:~^@(MHETCPATH)/install\-mh
        !           230: ^lproc:~^/usr/ucb/more
        !           231: ^mailproc:~^@(MHBINPATH)/mhmail
        !           232: ^mhlproc:~^@(MHETCPATH)/mhl
        !           233: ^moreproc:~^/usr/ucb/more
        !           234: ^mshproc:~^@(MHBINPATH)/msh
        !           235: ^packproc:~^@(MHBINPATH)/packf
        !           236: ^postproc:~^@(MHETCPATH)/post
        !           237: ^rmmproc:~^none
        !           238: ^rmfproc:~^@(MHBINPATH)/rmf
        !           239: ^sendproc:~^@(MHBINPATH)/send
        !           240: ^showproc:~^/usr/ucb/more
        !           241: ^whatnowproc:~^@(MHBINPATH)/whatnow
        !           242: ^whomproc:~^@(MHBINPATH)/whom
        !           243: .re
        !           244: .in -.5i
        !           245: .fi
        !           246: 
        !           247: If you define the envariable \fB$MH\fR,
        !           248: you can specify a profile other than \fI\&.mh\(ruprofile\fR to be read
        !           249: by the \fIMH\fR programs that you invoke.
        !           250: If the value of \fB$MH\fR is not absolute,
        !           251: (i.e., does not begin with a \fB/\fR\0),
        !           252: it will be presumed to start from the current working directory.
        !           253: This is one of the very few exceptions in \fIMH\fR where non\-absolute
        !           254: pathnames are not considered relative to the user's \fIMH\fR directory.
        !           255: 
        !           256: Similarly,
        !           257: if you define the envariable \fB$MHCONTEXT\fR,
        !           258: you can specify a context other than the normal context file
        !           259: (as specified in the \fIMH\fR profile).
        !           260: As always,
        !           261: unless the value of \fB$MHCONTEXT\fR is absolute,
        !           262: it will be presumed to start from your \fIMH\fR directory.
        !           263: 
        !           264: \fIMH\fR programs also support other envariables:
        !           265: 
        !           266: .in +.5i
        !           267: .ti -.5i
        !           268: \fB$MAILDROP\fR\0: tells \fIinc\fR the default maildrop
        !           269: .br
        !           270: This supercedes the \*(lqMailDrop:\*(rq profile entry.
        !           271: 
        !           272: .ti -.5i
        !           273: \fB$SIGNATURE\fR\0: tells \fIsend\fR and \fIpost\fR your mail signature
        !           274: .br
        !           275: This supercedes the \*(lqSignature:\*(rq profile entry.
        !           276: 
        !           277: .ti -.5i
        !           278: \fB$HOME\fR\0: tells all \fIMH\fR programs your home directory
        !           279: 
        !           280: .ti -.5i
        !           281: \fB$SHELL\fR\0: tells \fIbbl\fR the default shell to run
        !           282: 
        !           283: .ti -.5i
        !           284: \fB$TERM\fR\0: tells \fIMH\fR your terminal type
        !           285: .br
        !           286: The \fB$TERMCAP\fR envariable is also consulted.
        !           287: In particular,
        !           288: these tells \fIscan\fR and \fImhl\fR how to clear your terminal,
        !           289: and how many columns wide your terminal is.
        !           290: They also tell \fImhl\fR how many lines long your terminal screen is.
        !           291: 
        !           292: .ti -.5i
        !           293: \fB$editalt\fR\0: the alternate message
        !           294: .br
        !           295: This is set by \fIdist\fR and \fIrepl\fR during edit sessions
        !           296: so you can peruse the message being distributed or replied-to.
        !           297: The message is also available through a link called \*(lq@\*(rq
        !           298: in the current directory if your current working directory and
        !           299: the folder the message lives in are on the same UNIX filesystem.
        !           300: 
        !           301: .ti -.5i
        !           302: \fB$mhdraft\fR\0: the path to the working draft
        !           303: .br
        !           304: This is set by \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR
        !           305: to tell the \fIwhatnowproc\fR which file to ask \*(lqWhat now?\*(rq questions
        !           306: about.
        !           307: In addition,
        !           308: \fIdist\fR, \fIforw\fR, and \fIrepl\fR set \fB$mhfolder\fR if appropriate.
        !           309: Further,
        !           310: \fIdist\fR and \fIrepl\fR set \fB$mhaltmsg\fR to tell the
        !           311: \fIwhatnowproc\fR about an alternate message associated with the draft
        !           312: (the message being distributed or replied\-to),
        !           313: and
        !           314: \fIdist\fR sets \fB$mhdist\fR to tell the \fIwhatnowproc\fR that
        !           315: message re\-distribution is occurring.
        !           316: Also,
        !           317: \fB$mheditor\fR is set to tell the \fIwhatnowproc\fR the user's choice of
        !           318: editor (unless overridden by `\-noedit').
        !           319: Similarly,
        !           320: \fB$mhuse\fR may be set by \fIcomp\fR.
        !           321: Finally,
        !           322: \fB$mhmessages\fR is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR
        !           323: if annotations are to occur
        !           324: (along with \fB$mhannotate\fR, and \fB$mhinplace\fR).
        !           325: It's amazing all the information that has to get passed via envariables to
        !           326: make the \*(lqWhat now?\*(rq interface look squeaky clean to the \fIMH\fR
        !           327: user, isn't it?
        !           328: The reason for all this
        !           329: is that the \fIMH\fR user can select \fIany\fR program as the
        !           330: \fIwhatnowproc\fR, including one of the standard shells.
        !           331: As a result, it's not possible to pass information via an argument list.
        !           332: .br
        !           333: If the WHATNOW option was set during \fIMH\fR configuration
        !           334: (type `\-help' to an \fIMH\fR command to find out),
        !           335: and if this envariable is set,
        !           336: if the commands \fIrefile\fR, \fIsend\fR, \fIshow\fR, or \fIwhom\fR
        !           337: are not given any `msgs' arguments,
        !           338: then they will default to using the file indicated by \fB$mhdraft\fR.
        !           339: This is useful for getting the default behavior supplied by the default
        !           340: \fIwhatnowproc\fR.
        !           341: 
        !           342: .ti -.5i
        !           343: \fB$mhfolder\fR\0: the folder containing the alternate message
        !           344: .br
        !           345: This is set by \fIdist\fR and \fIrepl\fR during edit sessions
        !           346: so you can peruse other messages in the current folder
        !           347: besides the one being distributed or replied-to.
        !           348: The \fB$mhfolder\fR envariable is also
        !           349: set by \fIshow\fR, \fIprev\fR, and \fInext\fR
        !           350: for use by \fImhl\fR.
        !           351: 
        !           352: .ti -.5i
        !           353: \fB$MHBBRC\fR\0: 
        !           354: .br
        !           355: If you define the envariable \fB$MHBBRC\fR,
        !           356: you can specify a BBoards information file other than \fI\&.bbrc\fR to be
        !           357: read by \fIbbc\fR.
        !           358: If the value of \fB$MHBBRC\fR is not absolute,
        !           359: (i.e., does not begin with a \fB/\fR\0),
        !           360: it will be presumed to start from the current working directory.
        !           361: 
        !           362: .ti -.5i
        !           363: \fB$MHFD\fR\0: 
        !           364: .br
        !           365: If the OVERHEAD option was set during \fIMH\fR configuration
        !           366: (type `\-help' to an \fIMH\fR command to find out),
        !           367: then if this envariable is set,
        !           368: \fIMH\fR considers it to be the number of a file\-descriptor which is opened,
        !           369: read\-only to the \fIMH\fR profile.
        !           370: Similarly,
        !           371: if the envariable \fB$MHCONTEXTFD\fR is set,
        !           372: this is the number of a file\-descriptor which is opened read\-only
        !           373: to the \fIMH\fR context.
        !           374: This feature of \fIMH\fR is experimental,
        !           375: and is used to examine possible speed improvements for \fIMH\fR startup.
        !           376: Note that these envariables must be set and non\-empty to enable this feature.
        !           377: However,
        !           378: if OVERHEAD is enabled during \fIMH\fR configuration,
        !           379: then when \fIMH\fR programs call other \fIMH\fR programs,
        !           380: this scheme is used.
        !           381: These file\-descriptors are not closed throughout the execution of the
        !           382: \fIMH\fR program,
        !           383: so children may take advantage of this.
        !           384: This approach is thought to be completely safe and does result in some
        !           385: performance enhancements.
        !           386: .in -.5i
        !           387: 
        !           388: .Fi
        !           389: ^$HOME/\&.mh\(ruprofile~^The user profile
        !           390: ^or $MH~^Rather than the standard profile
        !           391: ^<mh\-dir>/context~^The user context
        !           392: ^or $CONTEXT~^Rather than the standard context
        !           393: ^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
        !           394: .Pr
        !           395: All
        !           396: .Sa
        !           397: mh(1), environ(5)
        !           398: .De
        !           399: None
        !           400: .Co
        !           401: All
        !           402: .Hi
        !           403: In previous versions of \fIMH\fR,
        !           404: the current\-message value of a writable folder was kept in a file
        !           405: called \*(lqcur\*(rq in the folder itself.
        !           406: In \fImh.3\fR,
        !           407: the \fI\&.mh\(ruprofile\fR contained the current\-message values for
        !           408: all folders, regardless of their writability.
        !           409: 
        !           410: In all versions of \fIMH\fR since \fImh.4\fR,
        !           411: the \fI\&.mh\(ruprofile\fR contains only static information,
        !           412: which \fIMH\fR programs will \fBNOT\fR update.
        !           413: Changes in context are made to the \fIcontext\fR file kept in the users MH
        !           414: \fIdirectory\fR.
        !           415: This includes, but is not limited to:
        !           416: the \*(lqCurrent\-Folder\*(rq entry and all private sequence information.
        !           417: Public sequence information is kept in a file called \fI\&.mh\(rusequences\fR
        !           418: in each folder.
        !           419: 
        !           420: To convert from the format used in releases of \fIMH\fR prior
        !           421: to the format used in the \fImh.4\fR release,
        !           422: \fIinstall\-mh\fR should be invoked with the `\-compat' switch.
        !           423: This generally happens automatically on \fIMH\fR systems generated with the
        !           424: \*(lqCOMPAT\*(rq option during \fIMH\fR configuration.
        !           425: 
        !           426: The \fI\&.mh\(ruprofile\fR may override the path of the \fIcontext\fR file,
        !           427: by specifying a \*(lqcontext\*(rq entry (this must be in lower-case).
        !           428: If the entry is not absolute (does not start with a \fB/\fR\0),
        !           429: then it is interpreted relative to the user's \fIMH\fR directory.
        !           430: As a result,
        !           431: you can actually have more than one set of private sequences by using
        !           432: different context files.
        !           433: .Bu
        !           434: The shell quoting conventions are not available in the \&.mh\(ruprofile.
        !           435: Each token is separated by whitespace.
        !           436: 
        !           437: There is some question as to what kind of arguments should be placed in
        !           438: the profile as options.
        !           439: In order to provide a clear answer,
        !           440: recall command line semantics of all \fIMH\fR programs:
        !           441: conflicting switches (e.g., `\-header and `\-noheader')
        !           442: may occur more than one time on the command line,
        !           443: with the last switch taking effect.
        !           444: Other arguments,
        !           445: such as message sequences, filenames and folders,
        !           446: are always remembered on the invocation line and are not superseded by 
        !           447: following arguments of the same type.
        !           448: Hence, it is safe to place only switches (and their arguments)
        !           449: in the profile.
        !           450: 
        !           451: If one finds that an \fIMH\fR
        !           452: program is being invoked again and again with the same arguments,
        !           453: and those arguments aren't switches,
        !           454: then there are a few possible solutions to this problem.
        !           455: The first is to create a (soft) link in your \fI$HOME/bin\fR directory
        !           456: to the \fIMH\fR program of your choice.
        !           457: By giving this link a different name,
        !           458: you can create a new entry in your profile
        !           459: and use an alternate set of defaults for the \fIMH\fR command.
        !           460: Similarly, you could create a small shell script which called the
        !           461: \fIMH\fR program of your choice with an alternate set of invocation
        !           462: line switches (using links and an alternate profile entry is preferable
        !           463: to this solution).
        !           464: 
        !           465: Finally, the \fIcsh\fR user could create an alias for the command of the form:
        !           466: 
        !           467: .ti +.5i
        !           468: alias cmd 'cmd arg1 arg2 ...'
        !           469: 
        !           470: In this way, the user can avoid lengthy type\-in to the shell,
        !           471: and still give \fIMH\fR commands safely.  (Recall that some \fIMH\fR
        !           472: commands invoke others, and that in all cases, the profile is read,
        !           473: meaning that aliases are disregarded beyond an initial command invocation)
        !           474: .En

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.