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