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