]> diplodocus.org Git - nmh/blobdiff - man/sortm.man
Also trap ambiguous post switch.
[nmh] / man / sortm.man
index c9d99c5f320efa7cc5cb5f7297d354c0946c8d4b..9c556417bcc13388a3534876a60e94549fcee93b 100644 (file)
@@ -1,16 +1,18 @@
-.\"
+.TH SORTM %manext1% 2014-03-23 "%nmhversion%"
+.
 .\" %nmhwarning%
 .\" %nmhwarning%
-.\" $Id$
-.\"
-.TH SORTM %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
+.
 .SH NAME
 .SH NAME
-sortm \- sort messages
+sortm \- sort nmh messages
 .SH SYNOPSIS
 .HP 5
 .na
 .B sortm
 .SH SYNOPSIS
 .HP 5
 .na
 .B sortm
+.RB [ \-help ]
+.RB [ \-version ]
 .RI [ +folder ]
 .RI [ msgs ]
 .RI [ +folder ]
 .RI [ msgs ]
+.RB [ \-all " | " \-noall ]
 .RB [ \-datefield
 .IR field ]
 .RB [ \-textfield
 .RB [ \-datefield
 .IR field ]
 .RB [ \-textfield
@@ -19,15 +21,29 @@ sortm \- sort messages
 .RB [ \-limit
 .IR days ]
 .RB [ \-nolimit ]
 .RB [ \-limit
 .IR days ]
 .RB [ \-nolimit ]
+.RB [ \-check " | " \-nocheck ]
 .RB [ \-verbose " | " \-noverbose ]
 .RB [ \-verbose " | " \-noverbose ]
-.RB [ \-version ]
-.RB [ \-help ]
 .ad
 .SH DESCRIPTION
 .ad
 .SH DESCRIPTION
-.B Sortm
+.B sortm
 sorts the specified messages in the named folder according
 to the chronological order of the \*(lqDate:\*(rq field of each message.
 .PP
 sorts the specified messages in the named folder according
 to the chronological order of the \*(lqDate:\*(rq field of each message.
 .PP
+If no messages are specified, the default is all messages in the folder.
+However, if no messages are specified and the
+.B \-noall
+switch is enabled, then
+.B sortm
+reports that as an error and exits with non-zero status.
+.B \-noall
+is most useful in the user's profile, to avoid inadvertent sorting of
+an entire folder.  The
+.B \-all
+switch can then be used on the command line to disable it.  Of course,
+a message specification of
+.I all
+can be used in any case.
+.PP
 The
 .B \-verbose
 switch directs
 The
 .B \-verbose
 switch directs
@@ -54,11 +70,11 @@ The
 .I field
 switch causes
 .B sortm
 .I field
 switch causes
 .B sortm
-to sort messages
-by the specified text field.  If this field is \*(lqsubject\*(rq, any
-leading "re:" is stripped off.  In any case, all characters except
+to sort messages by the specified text field.  All characters except
 letters and numbers are stripped and the resulting strings are sorted
 letters and numbers are stripped and the resulting strings are sorted
-datefield\-major, textfield\-minor, using a case insensitive comparison.
+datefield-major, textfield-minor, using a case insensitive
+comparison.  If this field is \*(lqsubject\*(rq, any leading "re:" is
+stripped off.
 .PP
 With
 .B \-textfield
 .PP
 With
 .B \-textfield
@@ -67,28 +83,44 @@ if
 .B \-limit
 .I days
 is specified, messages
 .B \-limit
 .I days
 is specified, messages
-with similar textfields that are dated within `days' of each other
+with the same textfields that are dated within `days' of each other
 appear together.  Specifying
 .B \-nolimit
 makes the limit infinity.
 With
 .B \-limit
 .IR 0 ,
 appear together.  Specifying
 .B \-nolimit
 makes the limit infinity.
 With
 .B \-limit
 .IR 0 ,
-the sort is instead made textfield\-major, date\-minor.
+the sort is instead simply textfield-major.
 .PP
 .PP
-For example, to order a folder by date-major, subject-minor, use:
+For example, to order a folder by date-major, grouping messages with
+the same subject on the same date together, use:
 .PP
 .RS 5
 sortm -textfield subject +folder
 .RE
 .PP
 .RS 5
 sortm -textfield subject +folder
 .RE
-
+.PP
+.B sortm
+always issues a warning for each message that is missing a
+\*(lqDate:\*(rq field, has a \*(lqDate:\*(rq field that cannot be
+parsed, or has a format error in any header field.  With the
+.B \-check
+switch,
+.B sortm
+inhibits all modifications to the folder if there are any such
+messages, and exits with non-zero status.  With the default of
+.BR \-nocheck ,
+.B sortm
+sorts messages with a missing or invalid
+\*(lqDate:\*(rq field using their file modification times.
+.PP
+When ordering messages based on their dates, if they have the same
+dates, their original message order is preserved.
 .SH FILES
 .fc ^ ~
 .nf
 .SH FILES
 .fc ^ ~
 .nf
-.ta \w'%etcdir%/ExtraBigFileName  'u
-^$HOME/\&.mh\(ruprofile~^The user profile
+.ta \w'%nmhetcdir%/ExtraBigFileName  'u
+^$HOME/.mh_profile~^The user profile
 .fi
 .fi
-
 .SH "PROFILE COMPONENTS"
 .fc ^ ~
 .nf
 .SH "PROFILE COMPONENTS"
 .fc ^ ~
 .nf
@@ -97,58 +129,43 @@ sortm -textfield subject +folder
 ^Path:~^To determine the user's nmh directory
 ^Current\-Folder:~^To find the default current folder
 .fi
 ^Path:~^To determine the user's nmh directory
 ^Current\-Folder:~^To find the default current folder
 .fi
-
 .SH "SEE ALSO"
 .SH "SEE ALSO"
-folder(1)
-
+.IR folder (1)
 .SH DEFAULTS
 .nf
 .RB ` +folder "' defaults to the current folder"
 .SH DEFAULTS
 .nf
 .RB ` +folder "' defaults to the current folder"
-.RB ` msgs"' defaults to all"
+.RB ` msgs"' defaults to all without -noall, no default with -noall"
+.RB ` \-all '
 .RB ` \-datefield "' defaults to date"
 .RB ` \-notextfield '
 .RB ` \-noverbose '
 .RB ` \-nolimit '
 .RB ` \-datefield "' defaults to date"
 .RB ` \-notextfield '
 .RB ` \-noverbose '
 .RB ` \-nolimit '
+.RB ` \-nocheck '
 .fi
 .fi
-
 .SH CONTEXT
 If a folder is given, it will become the current folder.  If the current
 message is moved,
 .B sortm
 .SH CONTEXT
 If a folder is given, it will become the current folder.  If the current
 message is moved,
 .B sortm
- will preserve its status as current.
-
+will preserve its status as current.
 .SH HISTORY
 Timezones used to be ignored when comparing dates: they aren't any more.
 .PP
 Messages which were in the folder, but not specified by `msgs', used to
 be moved to the end of the folder; now such messages are left untouched.
 .PP
 .SH HISTORY
 Timezones used to be ignored when comparing dates: they aren't any more.
 .PP
 Messages which were in the folder, but not specified by `msgs', used to
 be moved to the end of the folder; now such messages are left untouched.
 .PP
-.B Sortm
+.B sortm
 sometimes did not preserve the message numbering in a folder
 (e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3 after
 sorting).  This was a bug, and has been fixed.  To compress the message
 numbering in a folder, use
 .RB \*(lq "folder\ \-pack" \*(rq
 as always.
 sometimes did not preserve the message numbering in a folder
 (e.g., messages 1, 3, and 5, might have been renumbered to 1, 2, 3 after
 sorting).  This was a bug, and has been fixed.  To compress the message
 numbering in a folder, use
 .RB \*(lq "folder\ \-pack" \*(rq
 as always.
-
 .SH BUGS
 .SH BUGS
-If
-.B sortm
-encounters a message without a date\-field, or if the
-message has a date\-field that
-.B sortm
-cannot parse, then
-.B sortm
-attempts to keep the message in the same relative position.  This does
-not always work.  For instance, if the first message encountered lacks
-a date which can be parsed, then it will usually be placed at the end
-of the messages being sorted.
-.PP
 When
 .B sortm
 complains about a message which it can't temporally
 order, it complains about the message number
 When
 .B sortm
 complains about a message which it can't temporally
 order, it complains about the message number
-.B prior
+.I prior
 to sorting.
 It should indicate what the message number will be
 .B after
 to sorting.
 It should indicate what the message number will be
 .B after