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