X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/cbce5e434f84af560946e16709d3c2ad10eb8942..ce399941039778944bc5bc8d10c5f3603089af30:/man/mh-sequence.man diff --git a/man/mh-sequence.man b/man/mh-sequence.man index f9effc94..8fbba7d2 100644 --- a/man/mh-sequence.man +++ b/man/mh-sequence.man @@ -1,4 +1,4 @@ -.TH MH-SEQUENCE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%] +.TH MH-SEQUENCE %manext5% "January 9, 2001" "%nmhversion%" .\" .\" %nmhwarning% .\" @@ -64,6 +64,14 @@ The interpretation of `n' may be overridden by preceding `n' with a plus or minus sign; `+n' always means up to `n' messages starting with `name', and `\-n' always means up to `n' messages ending with `name'. .PP +Substituting `=' for `:' (i.e., \*(lqname=n\*(rq) will reduce the +selection from a range of up to `n' messages, to a selection of +just the `n'th message. So for example, while \*(lqname:-3\*(rq +selects the 3 messages ending with `name', \*(lqname=-3\*(rq selects +just the 2nd previous message. It is an error if the requested +message does not exist (i.e., there aren't enough messages in the +folder). +.PP In commands which accept a `msgs' argument, the default is either \*(lqcur\*(rq or \*(lqall\*(rq, depending on which makes more sense for each command (see the individual man pages for details). Repeated @@ -107,6 +115,15 @@ specification \*(lqname:cur\*(rq is not allowed (use just \*(lqcur\*(rq instead). The syntax of these message range specifications is subject to change in the future. .PP +Single messages (as opposed to ranges) may also be selected by +substituting `=' for `:', as in \*(lqname=n\*(rq. This will reduce +the selection from being a range of up to `n' messages, to being a +selection of just the `n'th message. So while \*(lqseq:5\*(rq +selects the first 5 messages of seqence `seq', \*(lqseq=5\*(rq +selects just the 5th message of the sequence. It is +an error if the requested message does not exist (i.e., there aren't +at least `n' messages in the sequence). +.PP User-defined sequence names are specific to each folder. They are defined using the .B pick @@ -254,6 +271,36 @@ or displays a message, that message will be removed from any sequences named by the \*(lqUnseen\-Sequence\*(rq entry in the profile. +.SS Sequence File Locking +The \*(lqdatalocking\*(rq profile entry controls the type of locking used +when reading and writing sequence files. The locking mechanisms supported +are detailed in +.IR mh\-profile (5). +This protects sequence file integrity when multiple +.B nmh +commands are run simultaneously. +.B Nmh +commands that modify the sequence file use transactional locks; the lock +is held from the time the sequence file is read until it it written out. +This ensures that modifications to the sequence file will not be lost +if multiple commands are run simultaneously. Long\-running +.B nmh +commands, such as +.B inc +and +.BR pick , +will release the sequence lock during the bulk of their runtime and reread +the sequence file after their processing is complete to reduce lock +contention time. +.PP +.B Note: +Currently transactional locks are +.B only +supported for public sequences; private sequences will not get corrupted, but +the possibility exists that two +.B nmh +commands run simultaneously that add messages to a private sequence could result in +one command's messages not appearing on the requested sequence. .SH FILES .fc ^ ~ .nf @@ -273,6 +320,9 @@ profile. ^Unseen\-Sequence:~^Those messages not yet seen by the user .fi .SH "SEE ALSO" -flist(1), mark(1), pick(1), mh-profile(5) +.IR flist (1), +.IR mark (1), +.IR pick (1), +.IR mh-profile (5) .SH DEFAULTS None