63449266ae5d899df97472fbaebef1fe7f11e019
[gnus] / todo
1 ;; Also know as the "wish list".  Some are done. For the others, no
2 ;; promise when to be implemented.
3
4 * Support for zipped folders for all backends this makes sense for.
5   Most likely using jka-compr. (It has been suggested that this do
6   work but I think it should be verified for all backends.)
7
8 * Support for RFC2015, PGP-MIME. Probably has to involve the people in
9   the Mailcrypt project.
10
11 * Agent (Can someone write some subtopics here? I don't use it myself
12   so I don't know what is lacking.)
13
14 * Support for encrypted folders. Even if the mail arrives unencrypted
15   Gnus should be able to encrypt the *folder* for added safety. This
16   should go for both Gnus' own folders and the folders Gnus reads from
17   (e.g. /var/spool/mail/${USER}). All backends this makes sense for.
18
19 * The stuff on "Newest Features" in the manual should be implemented
20   and the node updated (it maybe is?).
21
22 * Splitting .newsrc.eld so the history is in one file and the
23   configuration is in another. To help those that reads at two
24   locations (e.g. work and home) and want to have the same
25   configuration.
26
27 * gnus-uu-decode should complain if one or more parts of a series post
28   (ie, "part N of X") is missing, and optionally tick what parts are
29   there for decoding in a later session.
30
31 * Additional article marking, and an ability to affect marks placed
32   during e.g. mail acquisition.  I want to be able to notice the
33   subject "fast money" or "web traffic", automatically mark it with a
34   `$', and score it into oblivion.  (But I fear that wanting to change
35   marks with mail-source-* and nnmail-* functions will represent a
36   philosophical conflict with the rest of Gnus' management of article
37   marks.  mail-source-* and nnmail-* currently hack around with files
38   under ~/Mail and leave traces in ~/Mail/active, but don't affect
39   things stored in .newsrc.eld.)
40
41 * A much better interface to nnmail-split-methods.  I don't know how
42   I'd like this done, but I know that the current method of manually
43   hacking regexps is pretty untenable for new users.  My boss, who is
44   tenured faculty at CMU and CEO & CTO at JPRC, and whose research
45   work has involved Lisp for the last 25 years, is trying to implant
46   himself in a Gnus mail environment, and this is a big sticking point
47   even for him.
48
49 * PGP-supported encryption of entire nnml & nnmh groups.  There are
50   people with whom I exchange mail routinely who don't send w/PGP, but
51   I'd really rather that the content not be left lying around
52   unencrypted.  Hook into article acquisition the way jka-compr
53   supposedly does, to auto-decrypt every message read.
54
55 * Baby's First Mail In Gnus.  Some set of functions that the
56   new-to-mail-in-Gnus user can invoke which will query the user
57   appropriately for the basic information required to establish mail
58   handling, leaving the appropriate traces in .gnus.  Perhaps a
59   customize buffer would be appropriate.
60   - Where does your mail come from?
61   - If some server, what is your POP/IMAP protocol identity?
62   - What is your identity when sending mail, as opposed to posting to
63     Usenet?
64   - Here are some basic concepts of mail groups (list a few:
65     personal mail, company-wide mail, mailing lists, garbage dumps,
66     receptacles for outbound copies of what one sends; which ones do
67     you want to instantiate, and what mail should land in each?
68     [/viz./ problem of nnmail-split-methods interface.]
69
70 * Full integration of nnir into Gnus.  Generic hooks for adding new
71   external nnir sources.  I use a couple experimental, in-house tools
72   (JPRC is a research lab, occupied with document analysis and machine
73   learning) and adding new search engines to nnir by hacking the main
74   nnir.el module is rather clunky.
75
76 * Manual ordering of articles in an nnml folder.
77
78   That is, keystrokes to move articles (or whole threads) up or down
79   in the *Summary* buffer relative to the other articles.  The order
80   would be persistent (e.g., across gnus sessions).
81
82   With this ability, an nnml folder would make for a good to-do list.
83
84 * Since many uses Gnus to store to do lists I think it is time for an
85   nntodo. (I know Kai already written one, maybe use that for a start?)
86
87 * nnsql backend, which would allow messages or folders to be imported
88   in a local (My|Postgre|?)SQL RDBMS.
89
90 * "posting profiles" ideally accessible from a popup menu; allowing
91   choice between predefined profiles of
92   from,name,organization,etc. Example: I'm at home, but need to reply
93   to a work mail; i can hit 'R', then use this command to switch to my
94   'work' profile for purposes of this one reply. (This might already
95   be possible with current Gnus, but I don't think so.)
96
97 * Better handling of the mail retrieving / splitting feature:
98   - the variables <backend>-get-new-mail should not exist anymore. Mail
99     retrieving should be a separate matter.
100   - we should be able to split mails to groups AND backends at the same time.
101   - meanwhile, we should still be able to associate certain mail sources with
102     certain backends.
103
104 * A better interface to the agent download scoring rules, like the one
105   for the other scoring rules.
106
107 * Editing of messages in the agents cache.
108
109 * More article marks (like '!' or '?').
110   Maybe user defined marks that can be displayed as any choosen charakter,
111   so one could do things like limiting on, to do whatever one likes with
112   these articles.
113
114 * A possibility to add notes to messages. If thouse could include links
115   to other (stored) messages this would be very practical.
116
117 * A nnfolder like backend with .overview files.
118   This would not only speed up things, but also allow nnir to work on it.
119
120 * Allow article editing in groups which do not support it, but
121   emulating it via deleting the old article and entering the new one
122   into the group.  This would be very useful to support `T ^' (say) in
123   nnimap groups.
124
125 * Allow user to specify which kinds of groups should be displayed.
126   For example, I want to display all the groups that are displayed
127   now, plus those which have cached messages in them.  (Gnus does
128   display those with ticked messages but not those with
129   cached-but-unticked ones.)  This would become even more important
130   when we allow labels.
131
132 * Go through the todo list and remove items already done.
133
134 * Create new data type `article identifier' and use that instead of
135   article numbers.  A first implementation could offer something like
136   (num . 4711) but this could be extended.  This would be useful for
137   using servers with *really* large numbers -- there we could have a
138   bignum type.  It might also be useful for the nnweb and nnultimate
139   thingies where article identifiers are not really numbers.
140
141 * Allow use of digests to keep related articles.  Normally, you use
142   groups to group together articles which are thematically related.
143   But sometimes, you have so many themes that this becomes
144   impractical.  WIBNI I could have digests in a group, and there was a
145   way to add a new article to one of the digests in that group?
146
147   Or maybe what I really want is a way to tell Gnus that a specific
148   thread should always be hidden (as in `T h') by default, while most
149   other threads are not hidden by default.  Hm.
150
151 * New backend between nnfolder and nnml: have more than one article
152   per file, but more than one file per group.  With .overview files.
153
154 * .overview files for nnfolder?
155
156 * New backend nnbabylfolder.  There is also nnbabyl which is like
157   nnmbox but uses babyl format, but there is no babyl format
158   equivalent of nnfolder.
159
160 * Make movement commands in summary buffer independent of `move after
161   mark' behavior when marking articles.  Currently, if you don't want
162   `E' to move to the next unread article, you have to set
163   gnus-summary-goto-unread to nil, and then there is no way to move to
164   the next or previous unread article.
165
166   This one has two sub-tasks.  Providing the commands is one thing,
167   finding out useful key bindings for them is another.  I think we
168   could provide the commands first while not changing the behavior of
169   the key bindings; then different people can experiment with
170   different key binding schemes until we find something which suits
171   many people.
172
173 * `Move to next/previous/first article' is a misnomer, since ticked
174   articles are also unread but not moved to by these commands.  Should
175   the terminology be fixed or the documentation, or what?
176
177 * Allow sorting of threads by newest article rather than by root of
178   thread.  Consider the following thread structure:
179
180     root1       Jan 1
181       leaf1     Jan 4
182     root2       Jan 2
183       leaf2     Jan 3
184
185   These two threads are sorted this way because root1 is older than
186   root2.  I want an option to sort them the other way round because
187   leaf1 is newer than leaf2.
188
189 * Improve editing of MIME messages.  I would like to use html-mode to
190   edit the body of a text/html message, and enriched-mode for
191   text/enriched messages, and so on.  This should go for multipart
192   messages as well.  This is probably a hard one since Emacs currently
193   does not allow several major modes per buffer.  But maybe it would
194   be nice to hack Emacs to provide this infrastructure so that Gnus
195   can make use of it?  This would also make it possible to provide
196   nifty commands for editing the headers, for example, rather than
197   relying on commands which do the same thing everywhere.
198   message-x.el is really just a half-assed attempt at doing it, and
199   while it is useful, that's not the way it should be done.
200
201   I think Francisco Potort\e,Al\e(B already did something like this?
202
203 * Provide commands for editing MML tags.  For example, there could be
204   a command mml-add-tag-attribute which prompts me for an attribute
205   name (with completion, from the set filename, type, ...), and then
206   for a value.  (This is like `C-c +' in psgml.)  Or there could be a
207   command which showed me all the attributes in an MML tag and allows
208   me to use TAB to move between them, and then to edit each attribute
209   value.  (This is like `C-c C-a' in psgml.)
210
211 * Have Gnus automagically set group parameters for mailing list
212   groups.  For example, if I have a splitting rule that automatically
213   sorts ding@gnus.org into mail.ding, then Gnus should clue in, set
214   the to-list parameter to 'ding@gnus.org', and set total-expire.
215   (This is probably Hard (TM).  And of course the user should be able
216   to configure what parameters exactly get set.)
217
218 * Along the same lines, automagically detect broken reply-to's.  (But
219   don't auto-detect users legitimately setting a reply-to header that
220   points back to the list.)
221
222 * Make it easier to change parameters on a set of groups,
223   e.g. set/clear gcc-self on process-marked groups.
224
225 * Make it easier/possible to migrate between primary select-methods,
226   if that concept is going to be kept.  Right now I have only one
227   group on my primary server, and I'd kind of like to change from nntp
228   to nnml, but apparently this doesn't work well.
229
230 * Make it possible to refer to uniquely-named groups without
231   select-method prefix (e.g. mail.misc instead of nnml:mail.misc).
232
233 * Allow a user-defined picons directory for personal groups.
234
235 * Annotations as discussed last autumn. Be able to make comments to
236   articles for all bakends. The comments amybe should go into a
237   seperate "backend", like nndraft.
238
239 * Catchup on a topic and all its subtopics. I.e. do "c y" when on a
240   topic line in *Group*.
241
242 * Better/more advanced subject washing in *Summary*, see my
243   js-gnus-simplify-subject-function I posted earlier this winter.
244
245 ;; From Newest Features node. Some are not done.
246
247 * I would like the zombie-page to contain an URL to the source of the
248 latest version of gnus or some explanation on where to find it.
249
250 *  A way to continue editing the latest Message composition.
251
252 *  http://www.sonicnet.com/feature/ari3/
253
254 *  facep is not declared.
255
256 * Include a section in the manual on why the number of articles isn't
257 the same in the group buffer and on the SPC prompt.
258
259 *  Interacting with rmail fcc isn't easy.
260
261 *       Hypermail:
262       <URL:http://www.falch.no/people/pepper/DSSSL-Lite/archives/>
263       <URL:http://www.eit.com/software/hypermail/hypermail.html>
264       <URL:http://homer.ncm.com/>
265       <URL:http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/HTML_Converters/>
266       http://www.uwsg.indiana.edu/hypermail/linux/kernel/9610/index.html
267       <URL:http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html>
268       http://www.miranova.com/gnus-list/
269
270 * `^-- ' is made into - in LaTeX.
271
272 *  gnus-kill is much slower than it was in GNUS 4.1.3.
273
274 *  when expunging articles on low score, the sparse nodes keep
275  hanging on?
276
277 *  starting the first time seems to hang Gnus on some systems.  Does
278  NEWGROUPS answer too fast?
279
280 *  nndir doesn't read gzipped files.
281
282 *  FAQ doesn't have an up node?
283
284 *  when moving mail from a procmail spool to the crash-box, the
285  crash-box is only appropriate to one specific group.
286
287 *  `t' `t' makes X-Faces disappear.
288
289 *  nnmh-be-safe means that crossposted articles will be marked as
290  unread.
291
292 *  Orphan score entries don't show on "V t" score trace
293
294 *  when clearing out data, the cache data should also be reset.
295
296 * rewrite gnus-summary-limit-children to be non-recursive to avoid
297 exceeding lisp nesting on huge groups.
298
299 *  expunged articles are counted when computing scores.
300
301 *  implement gnus-batch-brew-soup
302
303 *  ticked articles aren't easy to read in pick mode - `n' and stuff
304  just skips past them.  Read articles are the same.
305
306 *  topics that contain just groups with ticked articles aren't
307  displayed.
308
309 *  nndoc should always allocate unique Message-IDs.
310
311 *  If there are mail groups the first time you use Gnus, Gnus'll
312  make the mail groups killed.
313
314 *  no "no news is good news" when using topics.
315
316 *  when doing crosspost marking, the cache has to be consulted and
317  articles have to be removed.
318
319 *  nnweb should fetch complete articles when they are split into
320  several parts.
321
322 *  scoring on head immediate doesn't work.
323
324 *  finding short score file names takes forever.
325
326 *  canceling articles in foreign groups.
327
328 *  nntp-open-rlogin no longer works.
329
330 *  C-u C-x C-s (Summary) switches to the group buffer.
331
332 *  move nnmail-split-history out to the backends.
333
334 *  nnweb doesn't work properly.
335
336 *  using a virtual server name as `gnus-select-method' doesn't work?
337
338 *  when killing/yanking a group from one topic to another in a
339  slave, the master will yank it first to one topic and then add it
340  to another.  Perhaps.
341
342 *  warn user about `=' redirection of a group in the active file?
343
344 *  take over the XEmacs menubar and offer a toggle between the XEmacs
345  bar and the Gnus bar.
346
347 *       push active file and NOV file parsing down into C code.
348       `(canonize-message-id id)'
349       `(mail-parent-message-id references n)'
350       `(parse-news-nov-line &optional dependency-hashtb)'
351       `(parse-news-nov-region beg end &optional dependency-hashtb fullp)'
352       `(parse-news-active-region beg end hashtb)'
353
354 *  nnml .overview directory with splits.
355
356 *  asynchronous cache
357
358 *  postponed commands.
359
360 *  the selected article show have its Subject displayed in its
361  summary line.
362
363 *  when entering groups, get the real number of unread articles from
364  the server?
365
366 *  sort after gathering threads - make false roots have the headers
367  of the oldest orphan with a 0 article number?
368
369 *  nndoc groups should inherit the score files of their parents?
370  Also inherit copy prompts and save files.
371
372 *  command to start up Gnus (if not running) and enter a mail mode
373  buffer.
374
375 *  allow editing the group description from the group buffer for
376  backends that support that.
377
378 * gnus-hide,show-all-topics
379
380 *  groups and sub-topics should be allowed to mingle inside each
381  topic, and not just list all subtopics at the end.
382
383 *  a command to remove all read articles that are not needed to
384  connect threads - `gnus-summary-limit-to-sparse-unread'?
385
386 *  a variable to turn off limiting/cutting of threads in the tree
387  buffer.
388
389 *  a variable to limit how many files are uudecoded.
390
391 *  add zombie groups to a special "New Groups" topic.
392
393 *  server mode command: close/open all connections
394
395 *  put a file date in gnus-score-alist and check whether the file
396  has been changed before using it.
397
398 *  on exit from a digest group, go to the next article in the parent
399  group.
400
401 *  hide (sub)threads with low score.
402
403 *  when expiring, remove all marks from expired articles.
404
405 *  gnus-summary-limit-to-body
406
407 *  a regexp alist that says what level groups are to be subscribed
408  on.  Eg. - `(("nnml:" . 1))'.
409
410 *  easier interface to nnkiboze to create ephemeral groups that
411  contain groups that match a regexp.
412
413 *  allow newlines in <URL:> urls, but remove them before using the
414  URL.
415
416 *  If there is no From line, the mail backends should fudge one from
417  the "From " line.
418
419 *  fuzzy simplifying should strip all non-alpha-numerical info from
420  subject lines.
421
422 *  gnus-soup-brew-soup-with-high-scores.
423
424 *  nntp-ping-before-connect
425
426 *  command to check whether NOV is evil.  "list overview.fmt".
427
428 *  when entering a group, Gnus should look through the score files
429  very early for `local' atoms and set those local variables.
430
431 *  message annotations.
432
433 *  topics are always yanked before groups, and that's not good.
434
435 *  (set-extent-property extent 'help-echo "String to display in
436  minibuf") to display help in the minibuffer on buttons under
437  XEmacs.
438
439 *  allow group line format spec to say how many articles there are
440  in the cache.
441
442 *  AUTHINFO GENERIC
443
444 *  `run-with-idle-timer' in gnus-demon.
445
446 *  stop using invisible text properties and start using overlays
447  instead
448
449 *  C-c C-f C-e to add an Expires header.
450
451 *  go from one group to the next; everything is expunged; go to the
452  next group instead of going to the group buffer.
453
454 *  gnus-renumber-cache - to renumber the cache using "low" numbers.
455
456 *  record topic changes in the dribble buffer.
457
458 *  `nnfolder-generate-active-file' should look at the folders it
459  finds and generate proper active ranges.
460
461 * Support for zipped folders for all backends this makes sense for.
462   Most likely using jka-compr. (It has been suggested that this do
463   work but I think it should be verified for all backends.)
464
465 * Support for RFC2015, PGP-MIME. Probably has to involve the people in
466   the Mailcrypt project.
467
468 * Agent (Can someone write some subtopics here? I don't use it myself
469   so I don't know what is lacking.)
470
471 * Support for encrypted folders. Even if the mail arrives unencrypted
472   Gnus should be able to encrypt the *folder* for added safety. This
473   should go for both Gnus' own folders and the folders Gnus reads from
474   (e.g. /var/spool/mail/${USER}). All backends this makes sense for.
475
476 * The stuff on "Newest Features" in the manual should be implemented
477   and the node updated (it maybe is?).
478
479 * Splitting .newsrc.eld so the history is in one file and the
480   configuration is in another. To help those that reads at two
481   locations (e.g. work and home) and want to have the same
482   configuration.
483
484 * gnus-uu-decode should complain if one or more parts of a series post
485   (ie, "part N of X") is missing, and optionally tick what parts are
486   there for decoding in a later session.
487
488 * Additional article marking, and an ability to affect marks placed
489   during e.g. mail acquisition.  I want to be able to notice the
490   subject "fast money" or "web traffic", automatically mark it with a
491   `$', and score it into oblivion.  (But I fear that wanting to change
492   marks with mail-source-* and nnmail-* functions will represent a
493   philosophical conflict with the rest of Gnus' management of article
494   marks.  mail-source-* and nnmail-* currently hack around with files
495   under ~/Mail and leave traces in ~/Mail/active, but don't affect
496   things stored in .newsrc.eld.)
497
498 * A much better interface to nnmail-split-methods.  I don't know how
499   I'd like this done, but I know that the current method of manually
500   hacking regexps is pretty untenable for new users.  My boss, who is
501   tenured faculty at CMU and CEO & CTO at JPRC, and whose research
502   work has involved Lisp for the last 25 years, is trying to implant
503   himself in a Gnus mail environment, and this is a big sticking point
504   even for him.
505
506 * PGP-supported encryption of entire nnml & nnmh groups.  There are
507   people with whom I exchange mail routinely who don't send w/PGP, but
508   I'd really rather that the content not be left lying around
509   unencrypted.  Hook into article acquisition the way jka-compr
510   supposedly does, to auto-decrypt every message read.
511
512 * Baby's First Mail In Gnus.  Some set of functions that the
513   new-to-mail-in-Gnus user can invoke which will query the user
514   appropriately for the basic information required to establish mail
515   handling, leaving the appropriate traces in .gnus.  Perhaps a
516   customize buffer would be appropriate.
517   - Where does your mail come from?
518   - If some server, what is your POP/IMAP protocol identity?
519   - What is your identity when sending mail, as opposed to posting to
520     Usenet?
521   - Here are some basic concepts of mail groups (list a few:
522     personal mail, company-wide mail, mailing lists, garbage dumps,
523     receptacles for outbound copies of what one sends; which ones do
524     you want to instantiate, and what mail should land in each?
525     [/viz./ problem of nnmail-split-methods interface.]
526
527 * Full integration of nnir into Gnus.  Generic hooks for adding new
528   external nnir sources.  I use a couple experimental, in-house tools
529   (JPRC is a research lab, occupied with document analysis and machine
530   learning) and adding new search engines to nnir by hacking the main
531   nnir.el module is rather clunky.
532
533 * Manual ordering of articles in an nnml folder.
534
535   That is, keystrokes to move articles (or whole threads) up or down
536   in the *Summary* buffer relative to the other articles.  The order
537   would be persistent (e.g., across gnus sessions).
538
539   With this ability, an nnml folder would make for a good to-do list.
540
541 * Since many uses Gnus to store to do lists I think it is time for an
542   nntodo. (I know Kai already written one, maybe use that for a start?)
543
544 * nnsql backend, which would allow messages or folders to be imported
545   in a local (My|Postgre|?)SQL RDBMS.
546
547 * "posting profiles" ideally accessible from a popup menu; allowing
548   choice between predefined profiles of
549   from,name,organization,etc. Example: I'm at home, but need to reply
550   to a work mail; i can hit 'R', then use this command to switch to my
551   'work' profile for purposes of this one reply. (This might already
552   be possible with current Gnus, but I don't think so.)
553
554 * Better handling of the mail retrieving / splitting feature:
555   - the variables <backend>-get-new-mail should not exist anymore. Mail
556     retrieving should be a separate matter.
557   - we should be able to split mails to groups AND backends at the same time.
558   - meanwhile, we should still be able to associate certain mail sources with
559     certain backends.
560
561 * A better interface to the agent download scoring rules, like the one
562   for the other scoring rules.
563
564 * Editing of messages in the agents cache.
565
566 * More article marks (like '!' or '?').
567   Maybe user defined marks that can be displayed as any choosen charakter,
568   so one could do things like limiting on, to do whatever one likes with
569   these articles.
570
571 * A possibility to add notes to messages. If thouse could include links
572   to other (stored) messages this would be very practical.
573
574 * A nnfolder like backend with .overview files.
575   This would not only speed up things, but also allow nnir to work on it.
576
577 * Allow article editing in groups which do not support it, but
578   emulating it via deleting the old article and entering the new one
579   into the group.  This would be very useful to support `T ^' (say) in
580   nnimap groups.
581
582 * Allow user to specify which kinds of groups should be displayed.
583   For example, I want to display all the groups that are displayed
584   now, plus those which have cached messages in them.  (Gnus does
585   display those with ticked messages but not those with
586   cached-but-unticked ones.)  This would become even more important
587   when we allow labels.
588
589 * Go through the todo list and remove items already done.
590
591 * Create new data type `article identifier' and use that instead of
592   article numbers.  A first implementation could offer something like
593   (num . 4711) but this could be extended.  This would be useful for
594   using servers with *really* large numbers -- there we could have a
595   bignum type.  It might also be useful for the nnweb and nnultimate
596   thingies where article identifiers are not really numbers.
597
598 * Allow use of digests to keep related articles.  Normally, you use
599   groups to group together articles which are thematically related.
600   But sometimes, you have so many themes that this becomes
601   impractical.  WIBNI I could have digests in a group, and there was a
602   way to add a new article to one of the digests in that group?
603
604   Or maybe what I really want is a way to tell Gnus that a specific
605   thread should always be hidden (as in `T h') by default, while most
606   other threads are not hidden by default.  Hm.
607
608 * New backend between nnfolder and nnml: have more than one article
609   per file, but more than one file per group.  With .overview files.
610
611 * .overview files for nnfolder?
612
613 * New backend nnbabylfolder.  There is also nnbabyl which is like
614   nnmbox but uses babyl format, but there is no babyl format
615   equivalent of nnfolder.
616
617 * Make movement commands in summary buffer independent of `move after
618   mark' behavior when marking articles.  Currently, if you don't want
619   `E' to move to the next unread article, you have to set
620   gnus-summary-goto-unread to nil, and then there is no way to move to
621   the next or previous unread article.
622
623   This one has two sub-tasks.  Providing the commands is one thing,
624   finding out useful key bindings for them is another.  I think we
625   could provide the commands first while not changing the behavior of
626   the key bindings; then different people can experiment with
627   different key binding schemes until we find something which suits
628   many people.
629
630 * `Move to next/previous/first article' is a misnomer, since ticked
631   articles are also unread but not moved to by these commands.  Should
632   the terminology be fixed or the documentation, or what?
633
634 * Allow sorting of threads by newest article rather than by root of
635   thread.  Consider the following thread structure:
636
637     root1       Jan 1
638       leaf1     Jan 4
639     root2       Jan 2
640       leaf2     Jan 3
641
642   These two threads are sorted this way because root1 is older than
643   root2.  I want an option to sort them the other way round because
644   leaf1 is newer than leaf2.
645
646 * Improve editing of MIME messages.  I would like to use html-mode to
647   edit the body of a text/html message, and enriched-mode for
648   text/enriched messages, and so on.  This should go for multipart
649   messages as well.  This is probably a hard one since Emacs currently
650   does not allow several major modes per buffer.  But maybe it would
651   be nice to hack Emacs to provide this infrastructure so that Gnus
652   can make use of it?  This would also make it possible to provide
653   nifty commands for editing the headers, for example, rather than
654   relying on commands which do the same thing everywhere.
655   message-x.el is really just a half-assed attempt at doing it, and
656   while it is useful, that's not the way it should be done.
657
658   I think Francisco Potort\e,Al\e(B already did something like this?
659
660 * Provide commands for editing MML tags.  For example, there could be
661   a command mml-add-tag-attribute which prompts me for an attribute
662   name (with completion, from the set filename, type, ...), and then
663   for a value.  (This is like `C-c +' in psgml.)  Or there could be a
664   command which showed me all the attributes in an MML tag and allows
665   me to use TAB to move between them, and then to edit each attribute
666   value.  (This is like `C-c C-a' in psgml.)
667
668 * Have Gnus automagically set group parameters for mailing list
669   groups.  For example, if I have a splitting rule that automatically
670   sorts ding@gnus.org into mail.ding, then Gnus should clue in, set
671   the to-list parameter to 'ding@gnus.org', and set total-expire.
672   (This is probably Hard (TM).  And of course the user should be able
673   to configure what parameters exactly get set.)
674
675 * Along the same lines, automagically detect broken reply-to's.  (But
676   don't auto-detect users legitimately setting a reply-to header that
677   points back to the list.)
678
679 * Make it easier to change parameters on a set of groups,
680   e.g. set/clear gcc-self on process-marked groups.
681
682 * Make it easier/possible to migrate between primary select-methods,
683   if that concept is going to be kept.  Right now I have only one
684   group on my primary server, and I'd kind of like to change from nntp
685   to nnml, but apparently this doesn't work well.
686
687 * Make it possible to refer to uniquely-named groups without
688   select-method prefix (e.g. mail.misc instead of nnml:mail.misc).
689
690 * Allow a user-defined picons directory for personal groups.
691
692 * Annotations as discussed last autumn. Be able to make comments to
693   articles for all bakends. The comments amybe should go into a
694   seperate "backend", like nndraft.
695
696 * Catchup on a topic and all its subtopics. I.e. do "c y" when on a
697   topic line in *Group*.
698
699 * Better/more advanced subject washing in *Summary*, see my
700   js-gnus-simplify-subject-function I posted earlier this winter.
701
702 ;; The following come from newest features, but some are not implemented.
703
704 *  nneething-look-in-files-for-article-heads variable to control
705  whether nneething should sniff all files in the directories.
706
707 *  gnus-fetch-article - start Gnus, enter group, display article
708
709 *  gnus-dont-move-articles-to-same-group variable when respooling.
710
711 *  when messages are crossposted between several auto-expirable
712  groups, articles aren't properly marked as expirable.
713
714 *  nneething should allow deletion/moving.
715
716 *  TAB on the last button should go to the first button.
717
718 *  if the car of an element in `mail-split-methods' is a function,
719  and the function returns non-nil, use that as the name of the
720  group(s) to save mail in.
721
722 *  command for listing all score files that have been applied.
723
724 *  a command in the article buffer to return to `summary' config.
725
726 *  `gnus-always-post-using-current-server' - variable to override
727  `C-c C-c' when posting.
728
729 *  nnmail-group-spool-alist - says where each group should use as a
730  spool file.
731
732 *  when an article is crossposted to an auto-expirable group, the
733  article should be marker as expirable.
734
735 *  article mode command/menu for "send region as URL to browser".
736
737 *  on errors, jump to info nodes that explain the error.  For
738  instance, on invalid From headers, or on error messages from the
739  nntp server.
740
741 *  when gathering threads, make the article that has no "Re: " the
742  parent.  Also consult Date headers.
743
744 *  a token in splits to call shrink-window-if-larger-than-buffer
745
746 *  `1 0 A M' to do matches on the active hashtb.
747
748 *  duplicates - command to remove Gnus-Warning header, use the read
749  Message-ID, delete the "original".
750
751 *  when replying to several messages at once, put the "other"
752  message-ids into a See-Also header.
753
754 *  support setext: URL:http://www.bsdi.com/setext/
755
756 *  support ProleText:
757  <URL:http://proletext.clari.net/prole/proletext.html>
758
759 *  when browsing a foreign server, the groups that are already
760  subscribed should be listed as such and not as "K".
761
762 *  generate font names dynamically.
763
764 *  score file mode auto-alist.
765
766 *  allow nndoc to change/add/delete things from documents.  Implement
767  methods for each format for adding an article to the document.
768
769 *  `gnus-fetch-old-headers' `all' value to incorporate absolutely
770  all headers there is.
771
772 *  function like `|', but concatenate all marked articles and pipe
773  them to the process.
774
775 *  cache the list of killed (or active) groups in a separate file.
776  Update the file whenever we read the active file or the list of
777  killed groups in the .eld file reaches a certain length.
778
779 *  function for starting to edit a file to put into the current mail
780  group.
781
782 *  score-find-trace should display the total score of the article.
783
784 *  "ghettozie" - score on Xref header and nix it out after using it
785  to avoid marking as read in other groups it has been crossposted
786  to.
787
788 *  look at procmail splitting.  The backends should create the
789  groups automatically if a spool file exists for that group.
790
791 *  function for backends to register themselves with Gnus.
792
793 *  when replying to several process-marked articles, have all the
794  From end up in Cc headers?  Variable to toggle.
795
796 *  command to delete a crossposted mail article from all groups it
797  has been mailed to.
798
799 *  `B c' and `B m' should be crosspost aware.
800
801 *  hide-pgp should also hide PGP public key blocks.
802
803 *  Command in the group buffer to respool process-marked groups.
804
805 *  `gnus-summary-find-matching' should accept pseudo-"headers" like
806  "body", "head" and "all"
807
808 *  When buttifying <URL: > things, all white space (including
809  newlines) should be ignored.
810
811 *  Process-marking all groups in a topic should process-mark groups
812  in subtopics as well.
813
814 *  Add non-native groups to the list of killed groups when killing
815  them.
816
817 *  nntp-suggest-kewl-config to probe the nntp server and suggest
818  variable settings.
819
820 *  add edit and forward secondary marks.
821
822 *  nnml shouldn't visit its .overview files.
823
824 *  allow customizing sorting within gathered threads.
825
826 *  `B q' shouldn't select the current article.
827
828 *  nnmbox should support a newsgroups file for descriptions.
829
830 *  allow fetching mail from several pop servers.
831
832 *  Be able to specify whether the saving commands save the original
833  or the formatted article.
834
835 *  a command to reparent with the child process-marked (cf. `T ^'.).
836
837 *  I think the possibility to send a password with nntp-open-rlogin
838  should be a feature in Red Gnus.
839
840 *  The `Z n' command should be possible to execute from a mouse
841  click.
842
843 *  more limiting functions - date, etc.
844
845 *  be able to limit on a random header; on body; using reverse
846  matches.
847
848 *  a group parameter (`absofucking-total-expiry') that will make
849  Gnus expire even unread articles.
850
851 *  a command to print the article buffer as postscript.
852
853 *  variable to disable password fetching when opening by
854  nntp-open-telnet.
855
856 *  manual: more example servers - nntp with rlogin, telnet
857
858 *  checking for bogus groups should clean topic alists as well.
859
860 *  canceling articles in foreign groups.
861
862 *  article number in folded topics isn't properly updated by Xref
863  handling.
864
865 *  Movement in the group buffer to the next unread group should go
866  to the next closed topic with unread messages if no group can be
867  found.
868
869 *  Extensive info pages generated on the fly with help everywhere -
870  in the "*Gnus edit*" buffers, for instance.
871
872 *  Topic movement commands - like thread movement.  Up, down,
873  forward, next.
874
875 *  a way to tick/mark as read Gcc'd articles.
876
877 *  a way to say that all groups within a specific topic comes from a
878  particular server?  Hm.
879
880 *  `gnus-article-fill-if-long-lines' - a function to fill the
881  article buffer if there are any looong lines there.
882
883 *  `T h' should jump to the parent topic and fold it.
884
885 *  a command to create an ephemeral nndoc group out of a file, and
886  then splitting it/moving it to some other group/backend.
887
888 *  a group parameter for nnkiboze groups that says that all kibozed
889  articles should be entered into the cache.
890
891 *  It should also probably be possible to delimit what
892  `gnus-jog-cache' does - for instance, work on just some groups, or
893  on some levels, and entering just articles that have a score
894  higher than a certain number.
895
896 *  nnfolder should append to the folder instead of re-writing the
897  entire folder to disk when accepting new messages.
898
899 *  allow all backends to do the proper thing with .gz files.
900
901 *  a backend for reading collections of babyl files nnbabylfolder?
902
903 *  a command for making the native groups into foreign groups.
904
905 *  server mode command for clearing read marks from all groups from
906  a server.
907
908 *  when following up multiple articles, include all To, Cc, etc
909  headers from all articles.
910
911 *  a command for deciding what the total score of the current thread
912  is.  Also a way to highlight based on this.
913
914 *  command to show and edit group scores
915
916 *  a gnus-tree-minimize-horizontal to minimize tree buffers
917  horizontally.
918
919 *  command to generate nnml overview file for one group.
920
921 *  `C-u C-u a' - prompt for many crossposted groups.
922
923 *  keep track of which mail groups have received new articles (in
924  this session).  Be able to generate a report and perhaps do some
925  marking in the group buffer.
926
927 *  gnus-build-sparse-threads to a number - build only sparse threads
928  that are of that length.
929
930 *  have nnmh respect mh's unseen sequence in .mh_profile.
931
932 *  cache the newsgroups descriptions locally.
933
934 *  asynchronous posting under nntp.
935
936 *  be able to control word adaptive scoring from the score files.
937
938 *  a variable to make `C-c C-c' post using the "current" select
939  method.
940
941 *  `limit-exclude-low-scored-articles'.
942
943 *  if `gnus-summary-show-thread' is a number, hide threads that have
944  a score lower than this number.
945
946 *  split newsgroup subscription variable up into "order" and
947  "method".
948
949 *  buttonize ange-ftp file names.
950
951 *  a command to make a duplicate copy of the current article so that
952  each copy can be edited separately.
953
954 *  nnweb should allow fetching from the local nntp server.
955
956 *  record the sorting done in the summary buffer so that it can be
957  repeated when limiting/regenerating the buffer.
958
959 *  nnml-generate-nov-databses should generate for all nnml servers.
960
961 *  when the user does commands in the group buffer, check the
962  modification time of the .newsrc.eld file and use
963  ask-user-about-supersession-threat.  Also warn when trying to save
964  .newsrc.eld and it has changed.
965
966 *  M-g on a topic will display all groups with 0 articles in the
967  topic.
968
969 *  command to remove all topic stuff.
970
971 *  allow exploding incoming digests when reading incoming mail and
972  splitting the resulting digests.
973
974 *  nnsoup shouldn't set the `message-' variables.
975
976 *  command to nix out all nnoo state information.
977
978 *  nnmail-process-alist that calls functions if group names matches
979  an alist - before saving.
980
981 *  use buffer-invisibility-spec everywhere for hiding text.
982
983 *  variable to activate each group before entering them to get the
984  (new) number of articles.  `gnus-activate-before-entering'.
985
986 *  command to fetch a Message-ID from any buffer, even starting Gnus
987  first if necessary.
988
989 *  when posting and checking whether a group exists or not, just ask
990  the nntp server instead of relying on the active hashtb.
991
992 *  buttonize the output of `C-c C-a' in an apropos-like way.
993
994 *  `G p' should understand process/prefix, and allow editing of
995  several groups at once.
996
997 *  command to create an ephemeral nnvirtual group that matches some
998  regexp(s).
999
1000 *  nndoc should understand "Content-Type: message/rfc822" forwarded
1001  messages.
1002
1003 *  it should be possible to score "thread" on the From header.
1004
1005 *  hitting RET on a "gnus-uu-archive" pseudo article should unpack
1006  it.
1007
1008 *  `B i' should display the article at once in the summary buffer.
1009
1010 *  remove the "*" mark at once when unticking an article.
1011
1012 *  `M-s' should highlight the matching text.
1013
1014 *  when checking for duplicated mails, use Resent-Message-ID if
1015  present.
1016
1017 *  killing and yanking groups in topics should be better.  If
1018  killing one copy of a group that exists in multiple topics, only
1019  that copy should be removed.  Yanking should insert the copy, and
1020  yanking topics should be possible to be interspersed with the
1021  other yankings.
1022
1023 *  command for enter a group just to read the cached articles.  A
1024  way to say "ignore the nntp connection; just read from the cache."
1025
1026 *  `X u' should decode base64 articles.
1027
1028 *  a way to hide all "inner" cited text, leaving just the most
1029  recently cited text.
1030
1031 *  nnvirtual should be asynchronous.
1032
1033 *  after editing an article, gnus-original-article-buffer should be
1034  invalidated.
1035
1036 *  there should probably be a way to make Gnus not connect to the
1037  server and just read the articles in the server
1038
1039 *  allow a `set-default' (or something) to change the default value
1040  of nnoo variables.
1041
1042 *  a command to import group infos from a .newsrc.eld file.
1043
1044 *  groups from secondary servers have the entire select method
1045  listed in each group info.
1046
1047 *  a command for just switching from the summary buffer to the group
1048  buffer.
1049
1050 *  a way to specify that some incoming mail washing functions should
1051  only be applied to some groups.
1052
1053 *  Message `C-f C-t' should ask the user whether to heed
1054  mail-copies-to: never.
1055
1056 *  new group parameter - `post-to-server' that says to post using
1057  the current server.  Also a variable to do the same.
1058
1059 *  the slave dribble files should auto-save to the slave file names.
1060
1061 *  a group parameter that says what articles to display on group
1062  entry, based on article marks.
1063
1064 *  a way to visually distinguish slave Gnusae from masters.  (Whip
1065  instead of normal logo?)
1066
1067 *  Use DJ Bernstein "From " quoting/dequoting, where applicable.
1068
1069 *  Why is hide-citation-maybe and hide-citation different?  Also
1070  clear up info.
1071
1072 *  group user-defined meta-parameters.
1073
1074  From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
1075
1076 *  I like the option for trying to retrieve the FAQ for a group and
1077  I was thinking it would be great if for those newsgroups that had
1078  archives you could also try to read the archive for that group.
1079  Part of the problem is that archives are spread all over the net,
1080  unlike FAQs.  What would be best I suppose is to find the one
1081  closest to your site.
1082
1083  In any case, there is a list of general news group archives at
1084  ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html
1085
1086 *      From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
1087       (add-hook 'gnus-select-group-hook
1088         (lambda ()
1089           (gnus-group-add-parameter group
1090              (cons 'gnus-group-date-last-entered (list (current-time-string))))))
1091
1092       (defun gnus-user-format-function-d (headers)
1093         "Return the date the group was last read."
1094         (cond ((car (gnus-group-get-parameter gnus-tmp-group 'gnus-group-date-last-entered)))
1095             (t "")))
1096
1097 *  tanken var at n\e,Ae\e(Br du bruker `gnus-startup-file' som prefix (FOO)
1098  til \e,Ae\e(B lete opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld,
1099  kan du la den v\e,Af\e(Bre en liste hvor du bruker hvert element i listen
1100  som FOO, istedet.  da kunne man hatt forskjellige serveres
1101  startup-filer forskjellige steder.
1102
1103 * LMI> Well, nnbabyl could alter the group info to heed labels like
1104  LMI> answered and read, I guess.
1105
1106  It could also keep them updated (the same for the Status: header of
1107  unix mbox files).
1108
1109  They could be used like this:
1110
1111       `M l <name> RET' add label <name> to current message.
1112       `M u <name> RET' remove label <name> from current message.
1113       `/ l <expr> RET' limit summary buffer according to <expr>.
1114
1115       <expr> would be a boolean expression on the labels, e.g.
1116
1117       `/ l bug & !fixed RET'
1118
1119  would show all the messages which are labeled `bug' but not labeled
1120  `fixed'.
1121
1122  One could also imagine the labels being used for highlighting, or
1123  affect the summary line format.
1124
1125 * Sender: abraham@dina.kvl.dk
1126
1127  I'd like a gnus-find-file which work like find file, except that it
1128  would recognize things that looks like messages or folders:
1129
1130  - If it is a directory containing numbered files, create an nndir
1131  summary buffer.
1132
1133  - For other directories, create a nneething summary buffer.
1134
1135  - For files matching "\\`From ", create a nndoc/mbox summary.
1136
1137  - For files matching "\\`BABYL OPTIONS:", create a nndoc/baby
1138  summary.
1139
1140  - For files matching "\\`[^ \t\n]+:", create an *Article* buffer.
1141
1142  - For other files, just find them normally.
1143
1144  I'd like `nneething' to use this function, so it would work on a
1145  directory potentially containing mboxes or babyl files.
1146
1147 * Please send a mail to bwarsaw@cnri.reston.va.us (Barry A. Warsaw)
1148  and tell him what you are doing.
1149
1150 * Currently, I get prompted:
1151
1152  decend into sci?  - type y decend into sci.something ?  - type n
1153  decend into ucd?
1154
1155  The problem above is that since there is really only one
1156  subsection of science, shouldn't it prompt you for only descending
1157  sci.something?  If there was a sci.somethingelse group or section,
1158  then it should prompt for sci? first the sci.something? then
1159  sci.somethingelse?...
1160
1161 * Ja, det burde v\e,Af\e(Bre en m\e,Ae\e(Bte \e,Ae\e(B si slikt.  Kanskje en ny variabel?
1162  `gnus-use-few-score-files'?  S\e,Ae\e(B kunne score-regler legges til den
1163  "mest" lokale score-fila.  F. eks. ville no-gruppene betjenes av
1164  "no.all.SCORE", osv.
1165
1166 * What i want is for Gnus to treat any sequence or combination of
1167  the following as a single spoiler warning and hide it all,
1168  replacing it with a "Next Page" button:
1169
1170  ^L's
1171
1172  more than n blank lines
1173
1174  more than m identical lines (which should be replaced with button
1175  to show them)
1176
1177  any whitespace surrounding any of the above
1178
1179 * Well, we could allow a new value to `gnus-thread-ignore-subject' -
1180  `spaces', or something.  (We could even default to that.)  And then
1181  subjects that differ in white space only could be considered the
1182  "same" subject for threading purposes.
1183
1184 * Modes to preprocess the contents (e.g. jka-compr) use the second
1185  form "(REGEXP FUNCTION NON-NIL)" while ordinary modes (e.g. tex)
1186  use the first form "(REGEXP . FUNCTION)", so you could use it to
1187  distinguish between those two types of modes. (auto-modes-alist,
1188  insert-file-contents-literally.)
1189
1190 *  Under XEmacs - do funny article marks: tick - thumb tack killed -
1191  skull soup - bowl of soup score below - dim light bulb score over
1192  - bright light bulb
1193
1194 * Yes. I think the algorithm is as follows:
1195
1196       Group-mode
1197
1198          show-list-of-articles-in-group
1199               if (key-pressed == SPACE)
1200                       if (no-more-articles-in-group-to-select)
1201                               if (articles-selected)
1202                                       start-reading-selected-articles;
1203                               junk-unread-articles;
1204                               next-group;
1205                        else
1206                               show-next-page;
1207
1208                else if (key-pressed = '.')
1209                       if (consolidated-menus)         # same as hide-thread in Gnus
1210                               select-thread-under-cursor;
1211                       else
1212                               select-article-under-cursor;
1213
1214
1215       Article-mode
1216               if (key-pressed == SPACE)
1217                       if (more-pages-in-article)
1218                               next-page;
1219                       else if (more-selected-articles-to-read)
1220                               next-article;
1221                       else
1222                               next-group;
1223
1224 * My precise need here would have been to limit files to Incoming*.
1225  One could think of some `nneething-only-files' variable, but I
1226  guess it would have been unacceptable if one was using many
1227  unrelated such nneething groups.
1228
1229  A more useful approach would be to, in response to the `G D'
1230  prompt, be allowed to say something like: `~/.mail/Incoming*',
1231  somewhat limiting the top-level directory only (in case
1232  directories would be matched by the wildcard expression).
1233
1234 * It would be nice if it also handled
1235
1236  <URL:news://sunsite.auc.dk/>
1237
1238  which should correspond to `B nntp RET sunsite.auc.dk' in *Group*.
1239
1240 *    Take a look at w3-menu.el in the Emacs-W3 distribution - this
1241  works out really well.  Each menu is 'named' by a symbol that
1242  would be on a gnus-*-menus (where * would be whatever, but at
1243  least group, summary, and article versions) variable.
1244
1245  So for gnus-summary-menus, I would set to '(sort mark dispose ...)
1246
1247  A value of '1' would just put _all_ the menus in a single 'GNUS'
1248  menu in the main menubar.  This approach works really well for
1249  Emacs-W3 and VM.
1250
1251 *  nndoc should take care to create unique Message-IDs for all its
1252  articles.
1253
1254 *  gnus-score-followup-article only works when you have a summary
1255  buffer active.  Make it work when posting from the group buffer as
1256  well.  (message-sent-hook).
1257
1258 *  rewrite gnus-demon to use run-with-idle-timers.
1259
1260 *  * Enhancements to Gnus:
1261
1262  Add two commands:
1263
1264  * gnus-servers (gnus-start-server-buffer?)-enters Gnus and goes
1265  straight to the server buffer, without opening any connections to
1266     servers first.
1267
1268  * gnus-server-read-server-newsrc-produces a buffer very similar to
1269     the group buffer, but with only groups from that server listed;
1270     quitting this buffer returns to the server buffer.
1271
1272 *  add a command to check the integrity of an nnfolder folder - go
1273  through the article numbers and see that there are no duplicates,
1274  and stuff.
1275
1276 *  `unsmileyfy-buffer' to undo smileification.
1277
1278 *  a command to give all relevant info on an article, including all
1279  secondary marks.
1280
1281 *  when doing `-request-accept-article', the backends should do the
1282  nnmail duplicate checking.
1283
1284 *  allow `message-signature-file' to be a function to return the
1285  value of the signature file.
1286
1287 *  In addition, I would love it if I could configure message-tab so
1288  that it could call `bbdb-complete-name' in other headers.  So,
1289  some sort of interface like
1290
1291  (setq message-tab-alist       '((message-header-regexp
1292  message-expand-group)         ("^\\(To\\|[cC]c\\|[bB]cc\\)"
1293  bbdb-complete-name)))
1294
1295  then you could run the relevant function to complete the
1296  information in the header
1297
1298 *  cache the newsgroups file locally to avoid reloading it all the
1299  time.
1300
1301 *  a command to import a buffer into a group.
1302
1303 *  nnweb should allow fetching by Message-ID from servers.
1304
1305 *  point in the article buffer doesn't always go to the beginning of
1306  the buffer when selecting new articles.
1307
1308 *  a command to process mark all unread articles.
1309
1310 *  `gnus-gather-threads-by-references-and-subject' - first do
1311  gathering by references, and then go through the dummy roots and
1312  do more gathering by subject.
1313
1314 *  gnus-uu-mark-in-numerical-order - process mark articles in
1315  article numerical order.
1316
1317 *  (gnus-thread-total-score  (gnus-id-to-thread (mail-header-id
1318  (gnus-summary-article-header)))) bind to a key.
1319
1320 *  sorting by score is wrong when using sparse threads.
1321
1322 *  a command to fetch an arbitrary article - without having to be in
1323  the summary buffer.
1324
1325 *  a new nncvs backend.  Each group would show an article, using
1326  version branches as threading, checkin date as the date, etc.
1327
1328 *  http://www.dejanews.com/forms/dnsetfilter_exp.html ?  This filter
1329  allows one to construct advance queries on the Dejanews database
1330  such as specifying start and end dates, subject, author, and/or
1331  newsgroup name.
1332
1333 *  new Date header scoring type - older, newer
1334
1335 *  use the summary toolbar in the article buffer.
1336
1337 *  a command to fetch all articles that are less than X days old.
1338
1339 *  in pick mode, `q' should save the list of selected articles in the
1340  group info.  The next time the group is selected, these articles
1341  will automatically get the process mark.
1342
1343 *  Isn't it possible to (also?) allow M-^ to automatically try the
1344  default server if it fails on the current server?  (controlled by a
1345  user variable, (nil, t, 'ask)).
1346
1347 *  make it possible to cancel articles using the select method for
1348  the current group.
1349
1350 *  `gnus-summary-select-article-on-entry' or something.  It'll
1351  default to t and will select whatever article decided by
1352  `gnus-auto-select-first'.
1353
1354 *  a new variable to control which selection commands should be
1355  unselecting.  `first', `best', `next', `prev', `next-unread',
1356  `prev-unread' are candidates.
1357
1358 *  be able to select groups that have no articles in them to be able
1359  to post in them (using the current select method).
1360
1361 *  be able to post via DejaNews.
1362
1363 *  `x' should retain any sortings that have been performed.
1364
1365 *  allow the user to specify the precedence of the secondary marks.
1366  Also allow them to be displayed separately.
1367
1368 *  gnus-summary-save-in-pipe should concatenate the results from the
1369  processes when doing a process marked pipe.
1370
1371 *  a new match type, like Followup, but which adds Thread matches on
1372  all articles that match a certain From header.
1373
1374 *  a function that can be read from kill-emacs-query-functions to
1375  offer saving living summary buffers.
1376
1377 *  a function for selecting a particular group which will contain
1378  the articles listed in a list of article numbers/id's.
1379
1380 *  a battery of character translation functions to translate common
1381  Mac, MS (etc) characters into ISO 8859-1.
1382
1383       (defun article-fix-m$word ()
1384         "Fix M$Word smartquotes in an article."
1385         (interactive)
1386         (save-excursion
1387           (let ((buffer-read-only nil))
1388             (goto-char (point-min))
1389             (while (search-forward "\221" nil t)
1390               (replace-match "`" t t))
1391             (goto-char (point-min))
1392             (while (search-forward "\222" nil t)
1393               (replace-match "'" t t))
1394             (goto-char (point-min))
1395             (while (search-forward "\223" nil t)
1396               (replace-match "\"" t t))
1397             (goto-char (point-min))
1398             (while (search-forward "\224" nil t)
1399               (replace-match "\"" t t)))))
1400
1401 *       (add-hook 'gnus-exit-query-functions
1402       '(lambda ()
1403          (if (and (file-exists-p nnmail-spool-file)
1404                   (> (nnheader-file-size nnmail-spool-file) 0))
1405              (yes-or-no-p "New mail has arrived.  Quit Gnus anyways? ")
1406              (y-or-n-p "Are you sure you want to quit Gnus? "))))
1407
1408 *  allow message-default-headers to be a function.
1409
1410 *  new Date score match types - < > = (etc) that take floating point
1411  numbers and match on the age of the article.
1412
1413 *      >  > > If so, I've got one gripe: It seems that when I fire up gnus 5.2.25
1414       >  > > under xemacs-19.14, it's creating a new frame, but is erasing the
1415       >  > > buffer in the frame that it was called from =:-O
1416       >
1417       >  > Hm.  How do you start up Gnus?  From the toolbar or with
1418       >  > `M-x gnus-other-frame'?
1419       >
1420       >    I normally start it up from the toolbar; at
1421       > least that's the way I've caught it doing the
1422       > deed before.
1423
1424 *  all commands that react to the process mark should push the
1425  current process mark set onto the stack.
1426
1427 *  gnus-article-hide-pgp Selv ville jeg nok ha valgt \e,Ae\e(B slette den
1428  dersom teksten matcher
1429       "\\(This\s+\\)?[^ ]+ has been automatically signed by"
1430  og det er maks hundre tegn mellom match-end og ---linja.  Men -det-
1431  er min type heuristikk og langt fra alles.
1432
1433 *  `gnus-subscribe-sorted' - insert new groups where they would have
1434  been sorted to if `gnus-group-sort-function' were run.
1435
1436 *  gnus-(group,summary)-highlight should respect any `face' text
1437  props set on the lines.
1438
1439 *  use run-with-idle-timer for gnus-demon instead of the home-brewed
1440  stuff for better reliability.
1441
1442 *  add a way to select which NoCeM type to apply - spam, troll, etc.
1443
1444 *  nndraft-request-group should tally auto-save files.
1445
1446 *  implement nntp-retry-on-break and nntp-command-timeout.
1447
1448 *  gnus-article-highlight-limit that says when not to highlight
1449  (long) articles.
1450
1451 *  (nnoo-set SERVER VARIABLE VALUE)
1452
1453 *  nn*-spool-methods
1454
1455 *  interrupitng agent fetching of articles should save articles.
1456
1457 *  command to open a digest group, and copy all the articles there
1458  to the current group.
1459
1460 *  a variable to disable article body highlights if there's more than
1461  X characters in the body.
1462
1463 *  handle 480/381 authinfo requests separately.
1464
1465 *  include the texi/dir file in the distribution.
1466
1467 *  format spec to "tab" to a position.
1468
1469 *  Move all prompting to the new `M-n' default style.
1470
1471 *  command to display all dormant articles.
1472
1473 *  gnus-auto-select-next makeover - list of things it should do.
1474
1475 *  a score match type that adds scores matching on From if From has
1476  replied to something someone else has said.
1477
1478 *  Read Netscape discussion groups:
1479  snews://secnews.netscape.com/netscape.communicator.unix
1480
1481 * One command to edit the original version if an article, and one to
1482  edit the displayed version.
1483
1484 * `T v' - make all process-marked articles the children of the
1485  current article.
1486
1487 * Switch from initial text to the new default text mechanism.
1488
1489 * How about making it possible to expire local articles?  Will it be
1490  possible to make various constraints on when an article can be
1491  expired, e.g. (read), (age > 14 days), or the more interesting
1492  (read & age > 14 days)?
1493
1494 * New limit command--limit to articles that have a certain string in
1495  the head or body.
1496
1497 * Allow breaking lengthy NNTP commands.
1498
1499 * gnus-article-highlight-limit, to disable highlighting in big
1500  articles.
1501
1502 * Editing an article should put the article to be edited in a
1503  special, unique buffer.
1504
1505 * A command to send a mail to the admin-address group param.
1506
1507 * A Date scoring type that will match if the article is less than a
1508  certain number of days old.
1509
1510 * New spec: %~(tab 56) to put point on column 56
1511
1512 * Allow Gnus Agent scoring to use normal score files.
1513
1514 * Rething the Agent active file thing.  `M-g' doesn't update the
1515  active file, for instance.
1516
1517 * With dummy roots, `^' and then selecing the first article in any
1518  other dummy thread will make Gnus highlight the dummy root instead
1519  of the first article.
1520
1521 * Propagate all group properties (marks, article numbers, etc) up to
1522  the topics for displaying.
1523
1524 * `n' in the group buffer with topics should go to the next group
1525  with unread articles, even if that group is hidden in a topic.
1526
1527 * gnus-posting-styles doesn't work in drafts.
1528
1529 * gnus-summary-limit-include-cached is slow when there are many
1530  articles in the cache, since it regenerates big parts of the
1531  summary buffer for each article.
1532
1533 * Implement gnus-batch-brew-soup.
1534
1535 * Group parameters and summary commands for un/subscribing to mailing
1536  lists.
1537
1538 * Introduce nnmail-home-directory.
1539
1540 * gnus-fetch-group and friends should exit Gnus when the user exits
1541  the group.
1542
1543 * The jingle is only played on the second invocation of Gnus.
1544
1545 * Bouncing articles should do MIME.
1546
1547 * Crossposted articles should "inherit" the % or  mark from the other
1548  groups it has been crossposted to, or something.  (Agent.)
1549
1550 * If point is on a group that appears multiple times in topics, and
1551  you press `l', point will move to the first instance of the group.
1552
1553 * A spec for the group line format to display the number of
1554  agent-downloaded articles in the group.
1555
1556 * Some nntp servers never respond when posting, so there should be a
1557  timeout for all commands.
1558
1559 * When stading on a topic line and `t'-ing, point goes to the last
1560  line.  It should go somewhere else.
1561
1562 * I'm having trouble accessing a newsgroup with a "+" in its name
1563  with Gnus.  There is a new newsgroup on msnews.microsoft.com named
1564  "microsoft.public.multimedia.directx.html+time" that I'm trying to
1565  access as
1566  "nntp+msnews.microsoft.com:microsoft.public.multimedia.directx.html+time"
1567  but it gives an error that it cant access the group.
1568
1569  Is the "+" character illegal in newsgroup names?  Is there any way
1570  in Gnus to work around this?  (gnus 5.6.45 - XEmacs 20.4)
1571
1572 *  When `#F', do:
1573
1574       Subject: Answer to your mails 01.01.1999-01.05.1999
1575        --text follows this line--
1576       Sorry I killfiled you...
1577
1578       Under the subject "foo", you wrote on 01.01.1999:
1579       > bar
1580       Under the subject "foo1", you wrote on 01.01.1999:
1581       > bar 1
1582
1583 * Allow "orphan" scores in the Agent scoring.
1584
1585 *          - Edit article's summary line.
1586           - End edit
1587           - Sort lines in buffer by subject
1588
1589           --> the old subject line appears in Summary buffer, not the one that was
1590           just changed to.
1591
1592 * Remove list identifiers from the subject in the summary when doing
1593  `^' and the like.
1594
1595 * Have the Agent write out articles, one by one, as it retrieves
1596  them, to avoid having to re-fetch them all if Emacs should crash
1597  while fetching.
1598
1599 * Be able to forward groups of messages as MIME digests.
1600
1601 * nnweb should include the "get whole article" article when getting
1602  articles.
1603
1604 * When I type W W c (gnus-article-hide-citation) in the summary
1605  buffer, the citations are revealed, but the [+] buttons don't turn
1606  into [-] buttons.  (If I click on one of the [+] buttons, it does
1607  turn into a [-] button.)
1608
1609 * Perhaps there should be a command to "attach" a buffer of comments
1610  to a message?  That is, `B WHATEVER', you're popped into a buffer,
1611  write something, end with `C-c C-c', and then the thing you've
1612  written gets to be the child of the message you're commenting.
1613
1614 * Handle external-body parts.
1615
1616 * When renaming a group name, nnmail-split-history does not get the
1617  group name renamed.
1618
1619 * Allow mail splitting on bodies when using advanced mail splitting.
1620
1621         (body "whatever.text")
1622
1623 * Be able to run `J u' from summary buffers.
1624
1625 * Solve the halting problem.
1626
1627 \f
1628 ;; Local Variables:
1629 ;; mode: outline
1630 ;; coding: iso-2022-7bit
1631 ;; paragraph-separate: "[       \f]*$"
1632 ;; End: