]> diplodocus.org Git - nmh/commitdiff
Added beginnings of storage format spec to new mh-folders.man.
authorDavid Levine <levinedl@acm.org>
Sun, 3 Mar 2013 15:53:10 +0000 (09:53 -0600)
committerDavid Levine <levinedl@acm.org>
Sun, 3 Mar 2013 15:53:10 +0000 (09:53 -0600)
Makefile.am
man/mh-folders.man [new file with mode: 0644]

index 6e743151eb1b36bd11c1e057a7734ad1fe934fba..0e64a27bd06056937816e4b524e6dec71df6a199 100644 (file)
@@ -210,10 +210,10 @@ man_MANS = man/ali.1 man/anno.1 man/ap.8 man/burst.1 man/comp.1 \
           man/conflict.8 man/dist.1 man/dp.8 man/flist.1 man/flists.1 \
           man/fmtdump.8 man/fmttest.1 man/fnext.1 man/folder.1 man/folders.1 \
           man/forw.1 man/fprev.1 man/inc.1 man/install-mh.1 man/mark.1 \
           man/conflict.8 man/dist.1 man/dp.8 man/flist.1 man/flists.1 \
           man/fmtdump.8 man/fmttest.1 man/fnext.1 man/folder.1 man/folders.1 \
           man/forw.1 man/fprev.1 man/inc.1 man/install-mh.1 man/mark.1 \
-          man/mh-alias.5 man/mh-chart.7 man/mh-draft.5 man/mh-format.5 \
-          man/mh-mail.5 man/mh-profile.5 man/mh_profile.5 man/mh-sequence.5 \
-          man/mh-tailor.5 man/mhbuild.1 man/mhl.1 man/mhlist.1 \
-          man/mhmail.1 man/mhn.1 man/mhparam.1 man/mhpath.1 \
+          man/mh-alias.5 man/mh-chart.7 man/mh-draft.5 man/mh-folders.5 \
+          man/mh-format.5 man/mh-mail.5 man/mh-profile.5 man/mh_profile.5 \
+          man/mh-sequence.5 man/mh-tailor.5 man/mhbuild.1 man/mhl.1 \
+          man/mhlist.1 man/mhmail.1 man/mhn.1 man/mhparam.1 man/mhpath.1 \
           man/mhshow.1 man/mhstore.1 man/msgchk.1 man/msh.1 \
           man/mts.conf.5 man/new.1 man/next.1 man/nmh.7 man/packf.1 \
           man/pick.1 man/post.8 man/prev.1 man/prompter.1 man/rcvdist.1 \
           man/mhshow.1 man/mhstore.1 man/msgchk.1 man/msh.1 \
           man/mts.conf.5 man/new.1 man/next.1 man/nmh.7 man/packf.1 \
           man/pick.1 man/post.8 man/prev.1 man/prompter.1 man/rcvdist.1 \
@@ -230,12 +230,13 @@ man_SRCS = man/ali.man man/anno.man man/ap.man man/burst.man man/comp.man \
           man/flists.man man/fmtdump.man man/fmttest.man man/fnext.man \
           man/folder.man man/folders.man man/forw.man man/fprev.man \
           man/inc.man man/install-mh.man man/mark.man man/mh-alias.man \
           man/flists.man man/fmtdump.man man/fmttest.man man/fnext.man \
           man/folder.man man/folders.man man/forw.man man/fprev.man \
           man/inc.man man/install-mh.man man/mark.man man/mh-alias.man \
-          man/mh-chart-gen.sh man/mh-draft.man man/mh-format.man \
-          man/mh-mail.man man/mh-profile.man man/mh_profile.man \
-          man/mh-sequence.man man/mh-tailor.man man/mhbuild.man man/mhl.man \
-          man/mhlist.man man/mhmail.man man/mhn.man man/mhparam.man \
-          man/mhpath.man man/mhshow.man man/mhstore.man man/msgchk.man \
-          man/msh.man man/mts.conf.man man/new.man man/next.man man/nmh.man \
+          man/mh-chart-gen.sh man/mh-draft.man man/mh-folders.man \
+          man/mh-format.man man/mh-mail.man man/mh-profile.man \
+          man/mh_profile.man man/mh-sequence.man man/mh-tailor.man \
+          man/mhbuild.man man/mhl.man man/mhlist.man man/mhmail.man \
+          man/mhn.man man/mhparam.man man/mhpath.man man/mhshow.man \
+          man/mhstore.man man/msgchk.man man/msh.man man/mts.conf.man \
+          man/new.man man/next.man man/nmh.man \
           man/packf.man man/pick.man man/post.man man/prev.man \
           man/prompter.man man/rcvdist.man man/rcvpack.man \
           man/rcvstore.man man/rcvtty.man man/refile.man man/repl.man \
           man/packf.man man/pick.man man/post.man man/prev.man \
           man/prompter.man man/rcvdist.man man/rcvpack.man \
           man/rcvstore.man man/rcvtty.man man/refile.man man/repl.man \
diff --git a/man/mh-folders.man b/man/mh-folders.man
new file mode 100644 (file)
index 0000000..5e29d43
--- /dev/null
@@ -0,0 +1,104 @@
+.TH MH-MAIL %manext5% "March 3, 2013" "%nmhversion%"
+.\"
+.\" %nmhwarning%
+.\"
+.SH NAME
+mh-folders \- specification of storage format used by nmh message system
+.SH DESCRIPTION
+.B nmh
+stores messages in the files and directories of the host filesystem
+according to the following rules:
+.PP
+.B one folder per directory
+.RS 5
+A
+.B nmh
+folder corresponds to directory.  There are no limits on folder
+names beyond those of the host filesystem.
+.I Is that right?
+.RE
+.PP
+.B one message per file
+.RS 5
+The file name is a positive integer.  The filename for a new
+message is one greater than the highest numbered message in
+the folder; its full path can be shown by
+.B mh-path
+.IR new .
+.PP
+.RE
+.B context
+.RS 5
+There is one context file.  Its default location is in the
+user's Path and default name is
+.IR context ,
+but those can be overridden with the $MHCONTEXT environment
+variable.
+.B context
+has the following format:
+.PP
+.RS 5
+.BI "Current-Folder: +" folder
+.RE
+.RS 5
+.BI "atr-" sequence-path ": " "m[-n] [...]"
+.RE
+.PP
+where
+.I folder
+is the directory name of the current folder.  Lines beginning
+with \*(lqatr\*(rq are used for private sequences.
+.I sequence
+is the name of the private sequence,
+.I path
+is the full path to the folder with the private sequence, and
+.I m[-n]
+is a message number or range of message numbers in the sequence.
+.RE
+.PP
+.B sequences
+.RS 5
+There is one sequences file in each
+.B .nmh
+folder.  Its default name is
+.IR \&.mh\(rusequences ,
+but that can be overridden with the \*(lqmh\-sequences\*(rq profile entry.
+.B sequences
+has the following format:
+.PP
+.RS 5
+.BI "sequence: " "m[-n] [...]"
+.RE
+.PP
+showing the message numbers and/or ranges of message numbers in
+each sequence.
+.RE
+.PP
+.SS Locking
+.B nmh
+programs read and write the context and sequences files, and lock
+these files when accessing them.  Any program outside of
+.B nmh
+that accesses these files must be sure to lock them using the same
+locking method.  The locking method is selected when
+.B nmh
+is configured.  By default, kernel-level locking is used if
+appropriate for the platform, and it is for popular platforms.  That
+default should also be the same as used by the
+.B mail
+program, if provided on the platform.
+.I Should we add a lockmethod component to mhparam so users can easily detect it?
+.SH FILES
+.fc ^ ~
+.nf
+.ta \w'%etcdir%/ExtraBigFileName  'u
+^<mh\-dir>/context~^The user context
+^or $MHCONTEXT~^Rather than the standard context
+^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
+.fi
+.SH "SEE ALSO"
+.I
+.IR mail (1),
+.IR mh\-path (1),
+.IR mh\-profile (5),
+.IR mh\-sequence (5)