Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mh-profile(5) — mips UMIPS RISC/os 4.52

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mh(1)

environ(5)



MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



NAME
      .mh_profile - user customization for MH message system

SYNOPSIS
     any MH command

DESCRIPTION
     Each user of MH is expected to have a file named .mh_profile
     in his or her home directory.  This file contains a set of
     user parameters used by some or all of the MH family of pro-
     grams.  Each line of the file is of the format

         profile-component: value

     The possible profile components are exemplified below.  Only
     `Path:' is mandatory.  The others are optional; some have
     default values if they are not present.  In the notation
     used below, (profile, default) indicates whether the infor-
     mation is kept in the user's MH profile or MH context, and
     indicates what the default value is.

     Path: Mail
               Locates MH transactions in directory "Mail".
               (profile, no default)

     context: context
               Declares the location of the MH context file, see
               the HISTORY section below.  (profile, default:
               <mh-dir>/context)

     Current-Folder: inbox
               Keeps track of the current open folder.  (context,
               default: +inbox)

     Previous-Sequence: pseq
               Names the sequences which should be defined as the
               `msgs' or `msg' argument given to the program.  If
               not present, or empty, no sequences are defined.
               Otherwise, for each name given, the sequence is
               first zero'd and then each message is added to the
               sequence.  (profile, no default)

     Sequence-Negation: not
               Defines the string which, when prefixed to a
               sequence name, negates that sequence.  Hence,
               "notseen" means all those messages that are not a
               member of the sequence "seen".  (profile, no
               default)

     Unseen-Sequence: unseen
               Names the sequences which should be defined as
               those messages recently incorporated by inc.  Show



                         Printed 1/15/91                MH Page 1





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



               knows to remove messages from this sequence once
               it thinks they have been seen.  If not present, or
               empty, no sequences are defined.  Otherwise, for
               each name given, the sequence is first zero'd and
               then each message is added to the sequence.  (pro-
               file, no default)

     mh-sequences: .mh_sequences
               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_sequences)

     atr-seq-folder: 172 178-181 212
               Keeps track of the private sequence called seq in
               the specified folder.  (context, no default)

     Editor: /usr/ucb/ex
               Defines editor to be used by comp (1), dist (1),
               forw (1), and repl (1).  (profile, default:
               prompter)

     Msg-Protect: 644
               Defines octal protection bits for message files.
               See chmod (1) for an explanation of the octal
               number.  (profile, default: 0644)

     Folder-Protect: 711
               Defines protection bits for folder directories.
               (profile, default: 0711)

     program: default switches
               Sets default switches to be used whenever the mh
               program program is invoked.  For example, one
               could override the Editor:  profile component when
               replying to messages by adding a component such
               as:
                    repl: -editor /bin/ed
               (profile, no defaults)

     lasteditor-next: nexteditor
               Names "nexteditor" to be the default editor after
               using "lasteditor".  This takes effect at "What
               now?" level in comp, dist, forw, and repl.  After
               editing the draft with "lasteditor", the default
               editor is set to be "nexteditor".  If the user
               types "edit" without any arguments to "What now?",
               then "nexteditor" is used.  (profile, no default)

     bboards: system
               Tells bbc which BBoards you are interested in.
               (profile, default: system)



MH Page 2                Printed 1/15/91





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



     Folder-Stack: folders
               The contents of the folder-stack for the folder
               command.  (context, no default)

     mhe:
               If present, tells inc to compose an MHE auditfile
               in addition to its other tasks.  MHE is Brian
               Reid's Emacs front-end for MH.  An early version
               is supplied with the mh.6 distribution.  (profile,
               no default)

Alternate-Mailboxes: mh@uci-750a, bug-mh*
               Tells repl and scan which addresses are really
               yours.  In this way, repl knows which addresses
               should be included in the reply, and scan knows if
               the message really originated from you.  Addresses
               must be separated by a comma, and the hostnames
               listed should be the "official" hostnames for the
               mailboxes you indicate, as local nicknames for
               hosts are not replaced with their official site
               names.  For each address, if a host is not given,
               then that address on any host is considered to be
               you.  In addition, an asterisk (`*') may appear at
               either or both ends of the mailbox and host to
               indicate wild-card matching.  (profile, default:
               your user-id)

     Draft-Folder: drafts
               Indicates a default draft folder for comp, dist,
               forw, and repl.  (profile, no default)

     digest-issue-list: 1
               Tells forw the last issue of the last volume sent
               for the digest list.  (context, no default)

     digest-volume-list: 1
               Tells forw the last volume sent for the digest
               list.  (context, no default)

     MailDrop: .mail
               Tells inc your maildrop, if different from the
               default.  This is superceded by the $MAILDROP
               envariable.  (profile, default: /usr/mail/$USER)

     Signature: Rand MH System (agent: Marshall Rose)
               Tells send your mail signature.  This is super-
               ceded by the $SIGNATURE envariable.  On hosts
               where MH was configured with the UCI option, if
               $SIGNATURE is not set and this profile entry is
               not present, the file $HOME/.signature is con-
               sulted.  (profile, no default)




                         Printed 1/15/91                MH Page 3





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



     The following profile elements are used whenever an MH pro-
     gram invokes some other program such as more (1).  The
     .mh_profile can be used to select alternate programs if the
     user wishes.  The default values are given in the examples.

          fileproc:     /usr/new/mh/refile
          incproc:      /usr/new/mh/inc
          installproc:  /usr/new/lib/mh/install-mh
          lproc:        /usr/ucb/more
          mailproc:     /usr/new/mh/mhmail
          mhlproc:      /usr/new/lib/mh/mhl
          moreproc:     /usr/ucb/more
          mshproc:      /usr/new/mh/msh
          packproc:     /usr/new/mh/packf
          postproc:     /usr/new/lib/mh/post
          rmmproc:      none
          rmfproc:      /usr/new/mh/rmf
          sendproc:     /usr/new/mh/send
          showproc:     /usr/ucb/more
          whatnowproc:  /usr/new/mh/whatnow
          whomproc:     /usr/new/mh/whom

     If you define the envariable $MH, you can specify a profile
     other than .mh_profile to be read by the MH programs that
     you invoke.  If the value of $MH is not absolute, (i.e.,
     does not begin with a / ), it will be presumed to start from
     the current working directory.  This is one of the very few
     exceptions in MH where non-absolute pathnames are not con-
     sidered relative to the user's MH directory.

     Similarly, if you define the envariable $MHCONTEXT, you can
     specify a context other than the normal context file (as
     specified in the MH profile).  As always, unless the value
     of $MHCONTEXT is absolute, it will be presumed to start from
     your MH directory.

     MH programs also support other envariables:

     $MAILDROP : tells inc the default maildrop
          This supercedes the "MailDrop:" profile entry.

     $SIGNATURE : tells send and post your mail signature
          This supercedes the "Signature:" profile entry.

     $HOME : tells all MH programs your home directory

     $SHELL : tells bbl the default shell to run

     $TERM : tells MH your terminal type
          The $TERMCAP envariable is also consulted.  In particu-
          lar, these tells scan and mhl how to clear your termi-
          nal, and how many columns wide your terminal is.  They



MH Page 4                Printed 1/15/91





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



          also tell mhl how many lines long your terminal screen
          is.

     $editalt : the alternate message
          This is set by dist and repl during edit sessions so
          you can peruse the message being distributed or
          replied-to.  The message is also available through a
          link called "@" in the current directory if your
          current working directory and the folder the message
          lives in are on the same UNIX filesystem.

     $mhdraft : the path to the working draft
          This is set by comp, dist, forw, and repl to tell the
          whatnowproc which file to ask "What now?" questions
          about.  In addition, dist, forw, and repl set $mhfolder
          if appropriate.  Further, dist and repl set $mhaltmsg
          to tell the whatnowproc about an alternate message
          associated with the draft (the message being distri-
          buted or replied-to), and dist sets $mhdist to tell the
          whatnowproc that message re-distribution is occurring.
          Also, $mheditor is set to tell the whatnowproc the
          user's choice of editor (unless overridden by
          `-noedit').  Similarly, $mhuse may be set by comp.
          Finally, $mhmessages is set by dist, forw, and repl if
          annotations are to occur (along with $mhannotate, and
          $mhinplace).  It's amazing all the information that has
          to get passed via envariables to make the "What now?"
          interface look squeaky clean to the MH user, isn't it?
          The reason for all this is that the MH user can select
          any program as the whatnowproc, including one of the
          standard shells.  As a result, it's not possible to
          pass information via an argument list.
          If the WHATNOW option was set during MH configuration
          (type `-help' to an MH command to find out), and if
          this envariable is set, if the commands refile, send,
          show, or whom are not given any `msgs' arguments, then
          they will default to using the file indicated by
          $mhdraft.  This is useful for getting the default
          behavior supplied by the default whatnowproc.

     $mhfolder : the folder containing the alternate message
          This is set by dist and repl during edit sessions so
          you can peruse other messages in the current folder
          besides the one being distributed or replied-to.  The
          $mhfolder envariable is also set by show, prev, and
          next for use by mhl.

     $MHBBRC :
          If you define the envariable $MHBBRC, you can specify a
          BBoards information file other than .bbrc to be read by
          bbc.  If the value of $MHBBRC is not absolute, (i.e.,
          does not begin with a / ), it will be presumed to start



                         Printed 1/15/91                MH Page 5





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



          from the current working directory.

     $MHFD :
          If the OVERHEAD option was set during MH configuration
          (type `-help' to an MH command to find out), then if
          this envariable is set, MH considers it to be the
          number of a file-descriptor which is opened, read-only
          to the MH profile.  Similarly, if the envariable
          $MHCONTEXTFD is set, this is the number of a
          file-descriptor which is opened read-only to the MH
          context.  This feature of MH is experimental, and is
          used to examine possible speed improvements for MH
          startup.  Note that these envariables must be set and
          non-empty to enable this feature.  However, if OVERHEAD
          is enabled during MH configuration, then when MH pro-
          grams call other MH programs, this scheme is used.
          These file-descriptors are not closed throughout the
          execution of the MH program, so children may take
          advantage of this.  This approach is thought to be com-
          pletely safe and does result in some performance
          enhancements.


FILES
     $HOME/.mh_profile                 The user profile
     or $MH                            Rather than the standard profile
     <mh-dir>/context                  The user context
     or $CONTEXT                       Rather than the standard context
     <folder>/.mh_sequences            Public sequences for <folder>

PROFILE COMPONENTS
     All

SEE ALSO
     mh(1), environ(5)

DEFAULTS
     None

CONTEXT
     All

HISTORY
     In previous versions of MH, the current-message value of a
     writable folder was kept in a file called "cur" in the
     folder itself.  In mh.3, the .mh_profile contained the
     current-message values for all folders, regardless of their
     writability.

     In all versions of MH since mh.4, the .mh_profile contains
     only static information, which MH programs will NOT update.
     Changes in context are made to the context file kept in the



MH Page 6                Printed 1/15/91





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



     users MH directory.  This includes, but is not limited to:
     the "Current-Folder" entry and all private sequence informa-
     tion.  Public sequence information is kept in a file called
     .mh_sequences in each folder.

     To convert from the format used in releases of MH prior to
     the format used in the mh.4 release, install-mh should be
     invoked with the `-compat' switch.  This generally happens
     automatically on MH systems generated with the "COMPAT"
     option during MH configuration.

     The .mh_profile may override the path of the context file,
     by specifying a "context" entry (this must be in lower-
     case).  If the entry is not absolute (does not start with a
     / ), then it is interpreted relative to the user's MH direc-
     tory.  As a result, you can actually have more than one set
     of private sequences by using different context files.

BUGS
     The shell quoting conventions are not available in the
     .mh_profile.  Each token is separated by whitespace.

     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 MH pro-
     grams:  conflicting switches (e.g., `-header and
     `-noheader') may occur more than one time on the command
     line, with the last switch taking effect.  Other arguments,
     such as message sequences, filenames and folders, are always
     remembered on the invocation line and are not superseded by
     following arguments of the same type.  Hence, it is safe to
     place only switches (and their arguments) in the profile.

     If one finds that an MH program is being invoked again and
     again with the same arguments, and those arguments aren't
     switches, then there are a few possible solutions to this
     problem.  The first is to create a (soft) link in your
     $HOME/bin directory to the MH program of your choice.  By
     giving this link a different name, you can create a new
     entry in your profile and use an alternate set of defaults
     for the MH command.  Similarly, you could create a small
     shell script which called the MH program of your choice with
     an alternate set of invocation line switches (using links
     and an alternate profile entry is preferable to this solu-
     tion).

     Finally, the csh user could create an alias for the command
     of the form:

          alias cmd 'cmd arg1 arg2 ...'

     In this way, the user can avoid lengthy type-in to the



                         Printed 1/15/91                MH Page 7





MH-PROFILE(5)       RISC/os Reference Manual        MH-PROFILE(5)



     shell, and still give MH commands safely.  (Recall that some
     MH commands invoke others, and that in all cases, the pro-
     file is read, meaning that aliases are disregarded beyond an
     initial command invocation)



















































MH Page 8                Printed 1/15/91



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026