Commit 42d1024f 42d1024fa20ff5ff1895910eb71433f89b1e1246 by Sergey Poznyakoff

Updated

1 parent 0887604f
1 2003-03-10 Sergey Poznyakoff
2
3 * comsat/comsat.c: Use ngettext.
4 * mh/sortm.c: New file. Source for the sortm utility.
5 * mh/.cvsignore: Added sortm
6 * mh/Makefile.am: Likewise
7 * mh/README: Updated
8 * mh/TODO: Updated
9 * mh/mh_getopt.h: Updated
10
1 2003-03-03 Sergey Poznyakoff 11 2003-03-03 Sergey Poznyakoff
2 12
3 * configure.ac: New option --with-included-argp 13 * configure.ac: New option --with-included-argp
......
...@@ -158,6 +158,25 @@ compatibility only. ...@@ -158,6 +158,25 @@ compatibility only.
158 158
159 ** Message specs and folder names may be interspersed. 159 ** Message specs and folder names may be interspersed.
160 160
161 * sortm
162
163 ** New option --numfield specifies numeric comparison for the given field.
164
165 ** Any number of --datefield, --textfield and --numfield options may be
166 given, thus allowing to build sort criteria of arbitrary complexity.
167
168 ** The order of --.*field arguments sets the ordering priority. This
169 differs from the behaviour of the standard sortm, which always orders
170 datefield-major, textfield-minor.
171
172 ** Apart from sorting the mailfolder the following actions may be
173 specified:
174 --list list the ordered messages using a format string given
175 by --form or --format option.
176 --dry-run do not actually sort messages, rather print what would
177 have been done. This is useful for debugging purposes.
178
179
161 180
162 Local variables: 181 Local variables:
163 mode: outline 182 mode: outline
......
...@@ -40,7 +40,7 @@ State Nice Utility Comments ...@@ -40,7 +40,7 @@ State Nice Utility Comments
40 - 10 whom 40 - 10 whom
41 + 10 mhpath 41 + 10 mhpath
42 + 10 whatnow 42 + 10 whatnow
43 - 20 sortm 43 + 20 sortm
44 44
45 Utilities In Alphabetical Order 45 Utilities In Alphabetical Order
46 =============================== 46 ===============================
......
...@@ -63,77 +63,85 @@ struct mh_argp_data ...@@ -63,77 +63,85 @@ struct mh_argp_data
63 #define ARG_DRAFT 279 63 #define ARG_DRAFT 279
64 #define ARG_DRAFTFOLDER 280 64 #define ARG_DRAFTFOLDER 280
65 #define ARG_DRAFTMESSAGE 281 65 #define ARG_DRAFTMESSAGE 281
66 #define ARG_DUMP 282 66 #define ARG_DRY_RUN 282
67 #define ARG_EDITOR 283 67 #define ARG_DUMP 283
68 #define ARG_FAST 284 68 #define ARG_EDITOR 284
69 #define ARG_FCC 285 69 #define ARG_FAST 285
70 #define ARG_FILE 286 70 #define ARG_FCC 286
71 #define ARG_FILTER 287 71 #define ARG_FILE 287
72 #define ARG_FOLDER 288 72 #define ARG_FILTER 288
73 #define ARG_FORM 289 73 #define ARG_FOLDER 289
74 #define ARG_FORMAT 290 74 #define ARG_FORM 290
75 #define ARG_FORWARD 291 75 #define ARG_FORMAT 291
76 #define ARG_FROM 292 76 #define ARG_FORWARD 292
77 #define ARG_HEADER 293 77 #define ARG_FROM 293
78 #define ARG_INPLACE 294 78 #define ARG_HEADER 294
79 #define ARG_INTERACTIVE 295 79 #define ARG_INPLACE 295
80 #define ARG_LBRACE 296 80 #define ARG_INTERACTIVE 296
81 #define ARG_LENGTH 297 81 #define ARG_LBRACE 297
82 #define ARG_LICENSE 298 82 #define ARG_LENGTH 298
83 #define ARG_LINK 299 83 #define ARG_LICENSE 299
84 #define ARG_LIST 300 84 #define ARG_LINK 300
85 #define ARG_MIME 301 85 #define ARG_LIMIT 301
86 #define ARG_MOREPROC 302 86 #define ARG_LIST 302
87 #define ARG_MSGID 303 87 #define ARG_MIME 303
88 #define ARG_NOAUDIT 304 88 #define ARG_MOREPROC 304
89 #define ARG_NOBELL 305 89 #define ARG_MSGID 305
90 #define ARG_NOCC 306 90 #define ARG_NOAUDIT 306
91 #define ARG_NOCLEAR 307 91 #define ARG_NOBELL 307
92 #define ARG_NODATE 308 92 #define ARG_NOCC 308
93 #define ARG_NODRAFTFOLDER 309 93 #define ARG_NOCLEAR 309
94 #define ARG_NOEDIT 310 94 #define ARG_NODATE 310
95 #define ARG_NOFILTER 311 95 #define ARG_NODATEFIELD 311
96 #define ARG_NOFORMAT 312 96 #define ARG_NODRAFTFOLDER 312
97 #define ARG_NOFORWARD 313 97 #define ARG_NOEDIT 313
98 #define ARG_NOINPLACE 314 98 #define ARG_NOFILTER 314
99 #define ARG_NOLIST 315 99 #define ARG_NOFORMAT 315
100 #define ARG_NOMIME 316 100 #define ARG_NOFORWARD 316
101 #define ARG_NOMOREPROC 317 101 #define ARG_NOINPLACE 317
102 #define ARG_NOMSGID 318 102 #define ARG_NOLIMIT 318
103 #define ARG_NOPUBLIC 319 103 #define ARG_NOLIST 319
104 #define ARG_NOPUSH 320 104 #define ARG_NOMIME 320
105 #define ARG_NOT 321 105 #define ARG_NOMOREPROC 321
106 #define ARG_NOVERBOSE 322 106 #define ARG_NOMSGID 322
107 #define ARG_NOWATCH 323 107 #define ARG_NOPUBLIC 323
108 #define ARG_NOWHATNOWPROC 324 108 #define ARG_NOPUSH 324
109 #define ARG_NOZERO 325 109 #define ARG_NOT 325
110 #define ARG_OR 326 110 #define ARG_NOTEXTFIELD 326
111 #define ARG_PATTERN 327 111 #define ARG_NOVERBOSE 327
112 #define ARG_POP 328 112 #define ARG_NOWATCH 328
113 #define ARG_PRESERVE 329 113 #define ARG_NOWHATNOWPROC 329
114 #define ARG_PRINT 330 114 #define ARG_NOZERO 330
115 #define ARG_PROMPT 331 115 #define ARG_NUMFIELD 331
116 #define ARG_PUBLIC 332 116 #define ARG_OR 332
117 #define ARG_PUSH 333 117 #define ARG_PATTERN 333
118 #define ARG_QUERY 334 118 #define ARG_POP 334
119 #define ARG_QUIET 335 119 #define ARG_PRESERVE 335
120 #define ARG_RBRACE 336 120 #define ARG_PRINT 336
121 #define ARG_RECURSIVE 337 121 #define ARG_PROMPT 337
122 #define ARG_REVERSE 338 122 #define ARG_PUBLIC 338
123 #define ARG_SEQUENCE 339 123 #define ARG_PUSH 339
124 #define ARG_SOURCE 340 124 #define ARG_QUERY 340
125 #define ARG_SPLIT 341 125 #define ARG_QUIET 341
126 #define ARG_SUBJECT 342 126 #define ARG_RBRACE 342
127 #define ARG_TEXT 343 127 #define ARG_RECURSIVE 343
128 #define ARG_TO 344 128 #define ARG_REORDER 344
129 #define ARG_TOTAL 345 129 #define ARG_REVERSE 345
130 #define ARG_TRUNCATE 346 130 #define ARG_SEQUENCE 346
131 #define ARG_USE 347 131 #define ARG_SOURCE 347
132 #define ARG_VERBOSE 348 132 #define ARG_SPLIT 348
133 #define ARG_WATCH 349 133 #define ARG_SUBJECT 349
134 #define ARG_WHATNOWPROC 350 134 #define ARG_TEXT 350
135 #define ARG_WIDTH 351 135 #define ARG_TEXTFIELD 351
136 #define ARG_ZERO 352 136 #define ARG_TO 352
137 #define ARG_TOTAL 353
138 #define ARG_TRUNCATE 354
139 #define ARG_USE 355
140 #define ARG_VERBOSE 356
141 #define ARG_WATCH 357
142 #define ARG_WHATNOWPROC 358
143 #define ARG_WIDTH 359
144 #define ARG_ZERO 360
137 145
138 void mh_argv_preproc __P((int argc, char **argv, struct mh_argp_data *data)); 146 void mh_argv_preproc __P((int argc, char **argv, struct mh_argp_data *data));
139 int mh_getopt __P((int argc, char **argv, struct mh_option *mh_opt, 147 int mh_getopt __P((int argc, char **argv, struct mh_option *mh_opt,
......