From: David Levine Date: Sun, 3 Mar 2013 15:53:10 +0000 (-0600) Subject: Added beginnings of storage format spec to new mh-folders.man. X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/c0d6a31061bba17b20e2d5a317f244fb63664eec?ds=inline;hp=--cc Added beginnings of storage format spec to new mh-folders.man. --- c0d6a31061bba17b20e2d5a317f244fb63664eec diff --git a/Makefile.am b/Makefile.am index 6e743151..0e64a27b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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/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 \ @@ -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/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 \ diff --git a/man/mh-folders.man b/man/mh-folders.man new file mode 100644 index 00000000..5e29d43c --- /dev/null +++ b/man/mh-folders.man @@ -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 +^/context~^The user context +^or $MHCONTEXT~^Rather than the standard context +^/\&.mh\(rusequences~^Public sequences for +.fi +.SH "SEE ALSO" +.I +.IR mail (1), +.IR mh\-path (1), +.IR mh\-profile (5), +.IR mh\-sequence (5)