* mml-sec.el (mml-secure-cust-record-keys):
[gnus.git] / todo
blob853edfe171caab46fab97b101e05b319ab91dcc3
1 ;; Also know as the "wish list".  Some are done. For the others, no
2 ;; promise when to be implemented.
4 * Use a new custom type (`define-widget') for posting-style in `gnus-cus.el'
5   (G c) and for `gnus-posting-styles'.  Maybe some allowed types are still
6   missing.
8 * Add proper doc strings to functions and variables explained in the manual
9   (info "(gnus)Gnus Utility Functions")
11 * Add Message-IDs or URLs refering to relevant discussions on lists and
12   newsgroups.
14 * Use nicer tool bar icons from GNOME
16   Done for Emacs (The GNOME icons won't fit into standard XEmacs icons,
17   IMHO. -- rsteib) in group, summary and message mode.
19   Some modes might also deserve improved tool bars:
21   - gnus-draft-mode
23   - mml-preview buffer:
25     . zap most buttons; except print, customize (?) and help
27     . "exit" should just kill the buffer
29   - gnus-server-mode: Add some commands from the Connections and Server
30     menu.
32   - gnus-browse-mode (could borrow some icons from gnus-group-mode)
34   (See http://article.gmane.org/gmane.emacs.gnus.general/62147).
36 * Maybe Gnus should support the LIST SUBSCRIPTIONS, see RFC 2980.
38 * Merge `message-extra-wide-headers' and ` message-header-synonyms'?
40 * Maybe texi/emacs-mime.texi could be divided into user-visible stuff and
41   reference manual for the MIME library.
43   Related: Bill Wohler's article on mh-e-user.
44   http://thread.gmane.org/29067.1138078896@olgas.newt.com
46 * Fix `change servers' command, see David Kastrup's message.
47   http://thread.gmane.org/x54qewqxz4.fsf@lola.goethe.zz
49 * texi/gnus-coding.texi should be fixed.
51 * gnus-topic-kill-region
52   From Colin Marquardt <colin.marquardt@usa.alcatel.com>
54   I noticed that when re-arranging topics, C-k yanks a topic just fine
55   (runs gnus-topic-kill-group).
57   However, my habit is to do marking and the yanking the region, so I
58   would run C-w on the marked topic. But C-w runs
59   gnus-group-kill-region and doesn't yank the topic (for groups it
60   works fine).
62   So could we have a gnus-topic-kill-region, or a
63   gnus-group-kill-region which handles topics as well?
65 * Speed up sorting in summary buffer if there is a limit.
67   Suggested by Daniel Ortmann <ortmann@isl.net>.
69 * Investigate the memory usage of Gnus. 
71   But it does seem strange that Gnus would use some 15meg for this.  I
72   think that is worth investigating.  I suspect that bugs or bad
73   design are causing waste; they could be in Gnus, or in Emacs. -- RMS
75 * Google group digest
77   The result of Google group search return a thread. Is it a digest
78   format?
80 * NOV caching.
82   Implement NOV caching with Gnus Agent.
84 * Allow specification of server in Newsgroups header
86   [Kai wrote]
88   WIBNI I could put `Newsgroups: nntp+quimby:bla' into a message and
89   Gnus would know to post this message on my server `nntp:quimby' into
90   the group bla?  I think this would be way cool.
92   But Gnus would have to rewrite the Newsgroups header before actually
93   sending the posting.
95   Thanks for Micha Wiedenmann for this suggestion.
97 * Parsing of the subscription notice to stash away details like what
98    address you're subscribed to the list under (and automatically send
99    mail to the list using that address, when you send mail inside the list
100    group), what address to mail to unsubscribe, and the list info message
101    if available.  Hitting the "get FAQ" command inside a mailing list
102    group should display that stashed copy of the info message.
104 * Some help in coming up with good split rules for mailing lists, as
105    automated as possible.  Splitting on To and Cc is almost always not
106    what I want, since it can misfile messages and since if I'm cc'd on
107    list mail I want to get both copies, one in my personal mailbox and one
108    in the list mailbox.  I know other people handle it other ways, but I
109    prefer it that way.  Accordingly, some way to semi-automatically
110    generate split rules based on Sender, Mailing-List, Return-Path,
111    X-Loop, and all of the other random headers that often work would be
112    very cool.
114 * Agent:
116 * A better interface to the agent download scoring rules, like the one
117   for the other scoring rules.
119 * Editing of messages in the agents cache.
120   
121 * Support for encrypted folders. Even if the mail arrives unencrypted
122   Gnus should be able to encrypt the *folder* for added safety. This
123   should go for both Gnus' own folders and the folders Gnus reads from
124   (e.g. /var/spool/mail/${USER}). All backends this makes sense for.
126   [John Wiegley's article <200011030445.VAA08277@localhost.dynodns.net>,
127    posted on gnu.emacs.gnus does this.
128    Also, gnus-article-encrypt `K E' encrypts the article body.]
130 * Splitting .newsrc.eld so the history is in one file and the
131   configuration is in another. To help those that reads at two
132   locations (e.g. work and home) and want to have the same
133   configuration.
135 * Additional article marking, and an ability to affect marks placed
136   during e.g. mail acquisition.  I want to be able to notice the
137   subject "fast money" or "web traffic", automatically mark it with a
138   `$', and score it into oblivion.  (But I fear that wanting to change
139   marks with mail-source-* and nnmail-* functions will represent a
140   philosophical conflict with the rest of Gnus' management of article
141   marks.  mail-source-* and nnmail-* currently hack around with files
142   under ~/Mail and leave traces in ~/Mail/active, but don't affect
143   things stored in .newsrc.eld.)
145 * A much better interface to nnmail-split-methods.  I don't know how
146   I'd like this done, but I know that the current method of manually
147   hacking regexps is pretty untenable for new users.  My boss, who is
148   tenured faculty at CMU and CEO & CTO at JPRC, and whose research
149   work has involved Lisp for the last 25 years, is trying to implant
150   himself in a Gnus mail environment, and this is a big sticking point
151   even for him.
153 * PGP-supported encryption of entire nnml & nnmh groups.  There are
154   people with whom I exchange mail routinely who don't send w/PGP, but
155   I'd really rather that the content not be left lying around
156   unencrypted.  Hook into article acquisition the way jka-compr
157   supposedly does, to auto-decrypt every message read.
159   [See Support for encrypted folders.]
161 * Baby's First Mail In Gnus.  Some set of functions that the
162   new-to-mail-in-Gnus user can invoke which will query the user
163   appropriately for the basic information required to establish mail
164   handling, leaving the appropriate traces in .gnus.  Perhaps a
165   customize buffer would be appropriate.
166   - Where does your mail come from?
167   - If some server, what is your POP/IMAP protocol identity?
168   - What is your identity when sending mail, as opposed to posting to
169     Usenet?
170   - Here are some basic concepts of mail groups (list a few:
171     personal mail, company-wide mail, mailing lists, garbage dumps,
172     receptacles for outbound copies of what one sends; which ones do
173     you want to instantiate, and what mail should land in each?
174     [/viz./ problem of nnmail-split-methods interface.]
176   [Probably `assistant.el' will provide this.  But it's development is
177   stalled.]
179 * Manual ordering of articles in an nnml folder.
181   That is, keystrokes to move articles (or whole threads) up or down
182   in the *Summary* buffer relative to the other articles.  The order
183   would be persistent (e.g., across gnus sessions).
185   With this ability, an nnml folder would make for a good to-do list.
187 * Since many uses Gnus to store to do lists I think it is time for an
188   nntodo. (I know Kai already written one, maybe use that for a start?)
190 * nnsql backend, which would allow messages or folders to be imported
191   in a local (My|Postgre|?)SQL RDBMS.
193 * "posting profiles" ideally accessible from a popup menu; allowing
194   choice between predefined profiles of
195   from,name,organization,etc. Example: I'm at home, but need to reply
196   to a work mail; i can hit 'R', then use this command to switch to my
197   'work' profile for purposes of this one reply. (This might already
198   be possible with current Gnus, but I don't think so.)
200 * Better handling of the mail retrieving / splitting feature:
201   - the variables <backend>-get-new-mail should not exist anymore. Mail
202     retrieving should be a separate matter.
203   - we should be able to split mails to groups AND backends at the same time.
204   - meanwhile, we should still be able to associate certain mail sources with
205     certain backends.
207 * More article marks (like '!' or '?').
208   Maybe user defined marks that can be displayed as any choosen charakter,
209   so one could do things like limiting on, to do whatever one likes with
210   these articles.
212 * Allow article editing in groups which do not support it, but
213   emulating it via deleting the old article and entering the new one
214   into the group.  This would be very useful to support `T ^' (say) in
215   nnimap groups.
217 * Allow user to specify which kinds of groups should be displayed.
218   For example, I want to display all the groups that are displayed
219   now, plus those which have cached messages in them.  (Gnus does
220   display those with ticked messages but not those with
221   cached-but-unticked ones.)  This would become even more important
222   when we allow labels.
224 * Create new data type `article identifier' and use that instead of
225   article numbers.  A first implementation could offer something like
226   (num . 4711) but this could be extended.  This would be useful for
227   using servers with *really* large numbers -- there we could have a
228   bignum type.  It might also be useful for the nnweb and nnultimate
229   thingies where article identifiers are not really numbers.
231 * Allow use of digests to keep related articles.  Normally, you use
232   groups to group together articles which are thematically related.
233   But sometimes, you have so many themes that this becomes
234   impractical.  WIBNI I could have digests in a group, and there was a
235   way to add a new article to one of the digests in that group?
237   Or maybe what I really want is a way to tell Gnus that a specific
238   thread should always be hidden (as in `T h') by default, while most
239   other threads are not hidden by default.  Hm.
241 * New backend nnbabylfolder.  There is also nnbabyl which is like
242   nnmbox but uses babyl format, but there is no babyl format
243   equivalent of nnfolder.
245 * Make movement commands in summary buffer independent of `move after
246   mark' behavior when marking articles.  Currently, if you don't want
247   `E' to move to the next unread article, you have to set
248   gnus-summary-goto-unread to nil, and then there is no way to move to
249   the next or previous unread article.
251   This one has two sub-tasks.  Providing the commands is one thing,
252   finding out useful key bindings for them is another.  I think we
253   could provide the commands first while not changing the behavior of
254   the key bindings; then different people can experiment with
255   different key binding schemes until we find something which suits
256   many people.
258 * `Move to next/previous/first article' is a misnomer, since ticked
259   articles are also unread but not moved to by these commands.  Should
260   the terminology be fixed or the documentation, or what?
262 * Allow sorting of threads by newest article rather than by root of
263   thread.  Consider the following thread structure:
265     root1       Jan 1
266       leaf1     Jan 4
267     root2       Jan 2
268       leaf2     Jan 3
270   These two threads are sorted this way because root1 is older than
271   root2.  I want an option to sort them the other way round because
272   leaf1 is newer than leaf2.
274 * Improve editing of MIME messages.  I would like to use html-mode to
275   edit the body of a text/html message, and enriched-mode for
276   text/enriched messages, and so on.  This should go for multipart
277   messages as well.  This is probably a hard one since Emacs currently
278   does not allow several major modes per buffer.  But maybe it would
279   be nice to hack Emacs to provide this infrastructure so that Gnus
280   can make use of it?  This would also make it possible to provide
281   nifty commands for editing the headers, for example, rather than
282   relying on commands which do the same thing everywhere.
283   message-x.el is really just a half-assed attempt at doing it, and
284   while it is useful, that's not the way it should be done.
286   I think Francisco Potort\e,Al\e(B already did something like this?
288 * Provide commands for editing MML tags.  For example, there could be
289   a command mml-add-tag-attribute which prompts me for an attribute
290   name (with completion, from the set filename, type, ...), and then
291   for a value.  (This is like `C-c +' in psgml.)  Or there could be a
292   command which showed me all the attributes in an MML tag and allows
293   me to use TAB to move between them, and then to edit each attribute
294   value.  (This is like `C-c C-a' in psgml.)
296 * Have Gnus automagically set group parameters for mailing list
297   groups.  For example, if I have a splitting rule that automatically
298   sorts ding@gnus.org into mail.ding, then Gnus should clue in, set
299   the to-list parameter to 'ding@gnus.org', and set total-expire.
300   (This is probably Hard (TM).  And of course the user should be able
301   to configure what parameters exactly get set.)
303 * Along the same lines, automagically detect broken reply-to's.  (But
304   don't auto-detect users legitimately setting a reply-to header that
305   points back to the list.)
307 * Make it easier to change parameters on a set of groups,
308   e.g. set/clear gcc-self on process-marked groups.
310 * Make it easier/possible to migrate between primary select-methods,
311   if that concept is going to be kept.  Right now I have only one
312   group on my primary server, and I'd kind of like to change from nntp
313   to nnml, but apparently this doesn't work well.
315 * Make it possible to refer to uniquely-named groups without
316   select-method prefix (e.g. mail.misc instead of nnml:mail.misc).
318 * Annotations as discussed last autumn. Be able to make comments to
319   articles for all backends. The comments maybe should go into a
320   seperate "backend", like nndraft.
322 * Catchup on a topic and all its subtopics. I.e. do "c y" when on a
323   topic line in *Group*.
325 * Better/more advanced subject washing in *Summary*, see my
326   js-gnus-simplify-subject-function I posted earlier this winter.
328 ;; From Newest Features node. Some are not done.
330 * I would like the zombie-page to contain an URL to the source of the
331 latest version of gnus or some explanation on where to find it.
333 *  A way to continue editing the latest Message composition.
335 *  facep is not declared.
337 * Include a section in the manual on why the number of articles isn't
338 the same in the group buffer and on the SPC prompt.
340 *  Interacting with rmail fcc isn't easy.
342 *       Hypermail:
343       http://www.uwsg.indiana.edu/hypermail/linux/kernel/9610/index.html
345    [w3 or nnwarchive?]
347 * `^-- ' is made into - in LaTeX.
349 *  when expunging articles on low score, the sparse nodes keep
350  hanging on?
352 *  starting the first time seems to hang Gnus on some systems.  Does
353  NEWGROUPS answer too fast?
355 *  nndir doesn't read gzipped files.
357 *  when moving mail from a procmail spool to the crash-box, the
358  crash-box is only appropriate to one specific group.
360 *  nnmh-be-safe means that crossposted articles will be marked as
361  unread.
363 *  Orphan score entries don't show on "V t" score trace
365 *  when clearing out data, the cache data should also be reset.
367 * rewrite gnus-summary-limit-children to be non-recursive to avoid
368 exceeding lisp nesting on huge groups.
370 *  expunged articles are counted when computing scores.
372 *  ticked articles aren't easy to read in pick mode - `n' and stuff
373  just skips past them.  Read articles are the same.
375 *  topics that contain just groups with ticked articles aren't
376  displayed.
378 *  nndoc should always allocate unique Message-IDs.
380 *  If there are mail groups the first time you use Gnus, Gnus'll
381  make the mail groups killed.
383 *  no "no news is good news" when using topics.
385 *  when doing crosspost marking, the cache has to be consulted and
386  articles have to be removed.
388 *  nnweb should fetch complete articles when they are split into
389  several parts.
391 *  scoring on head immediate doesn't work.
393 *  finding short score file names takes forever.
395 *  canceling articles in foreign groups.
397 *  nntp-open-rlogin no longer works.
399 *  C-u C-x C-s (Summary) switches to the group buffer.
401 *  move nnmail-split-history out to the backends.
403 *  using a virtual server name as `gnus-select-method' doesn't work?
405 *  when killing/yanking a group from one topic to another in a
406  slave, the master will yank it first to one topic and then add it
407  to another.  Perhaps.
409 *  warn user about `=' redirection of a group in the active file?
411 *  take over the XEmacs menubar and offer a toggle between the XEmacs
412  bar and the Gnus bar.
414 *       push active file and NOV file parsing down into C code.
415       `(canonize-message-id id)'
416       `(mail-parent-message-id references n)'
417       `(parse-news-nov-line &optional dependency-hashtb)'
418       `(parse-news-nov-region beg end &optional dependency-hashtb fullp)'
419       `(parse-news-active-region beg end hashtb)'
421 *  nnml .overview directory with splits.
423 *  asynchronous cache
425 *  postponed commands.
427 *  the selected article show have its Subject displayed in its
428  summary line.
430 *  when entering groups, get the real number of unread articles from
431  the server?
433 *  sort after gathering threads - make false roots have the headers
434  of the oldest orphan with a 0 article number?
436 *  nndoc groups should inherit the score files of their parents?
437  Also inherit copy prompts and save files.
439 *  command to start up Gnus (if not running) and enter a mail mode
440  buffer.
442 *  allow editing the group description from the group buffer for
443  backends that support that.
445 * gnus-hide,show-all-topics
447 *  groups and sub-topics should be allowed to mingle inside each
448  topic, and not just list all subtopics at the end.
450 *  a command to remove all read articles that are not needed to
451  connect threads - `gnus-summary-limit-to-sparse-unread'?
453 *  a variable to turn off limiting/cutting of threads in the tree
454  buffer.
456 *  a variable to limit how many files are uudecoded.
458 *  add zombie groups to a special "New Groups" topic.
460 *  server mode command: close/open all connections
462 *  put a file date in gnus-score-alist and check whether the file
463  has been changed before using it.
465 *  on exit from a digest group, go to the next article in the parent
466  group.
468 *  hide (sub)threads with low score.
470 *  when expiring, remove all marks from expired articles.
472 *  gnus-summary-limit-to-body
474 *  a regexp alist that says what level groups are to be subscribed
475  on.  Eg. - `(("nnml:" . 1))'.
477 *  allow newlines in <URL:> urls, but remove them before using the
478  URL.
480 *  If there is no From line, the mail backends should fudge one from
481  the "From " line.
483 *  fuzzy simplifying should strip all non-alpha-numerical info from
484  subject lines.
486 *  nntp-ping-before-connect
488 *  command to check whether NOV is evil.  "list overview.fmt".
490 *  when entering a group, Gnus should look through the score files
491  very early for `local' atoms and set those local variables.
493 *  topics are always yanked before groups, and that's not good.
495 *  (set-extent-property extent 'help-echo "String to display in
496  minibuf") to display help in the minibuffer on buttons under
497  XEmacs.
499 *  stop using invisible text properties and start using overlays
500  instead
502 *  go from one group to the next; everything is expunged; go to the
503  next group instead of going to the group buffer.
505 *  gnus-renumber-cache - to renumber the cache using "low" numbers.
507 *  record topic changes in the dribble buffer.
509 *  `nnfolder-generate-active-file' should look at the folders it
510  finds and generate proper active ranges.
512 *  nneething-look-in-files-for-article-heads variable to control
513  whether nneething should sniff all files in the directories.
515 *  gnus-fetch-article - start Gnus, enter group, display article
517 *  gnus-dont-move-articles-to-same-group variable when respooling.
519 *  when messages are crossposted between several auto-expirable
520  groups, articles aren't properly marked as expirable.
522 *  nneething should allow deletion/moving.
524 *  TAB on the last button should go to the first button.
526 *  if the car of an element in `mail-split-methods' is a function,
527  and the function returns non-nil, use that as the name of the
528  group(s) to save mail in.
530 *  command for listing all score files that have been applied.
532 *  a command in the article buffer to return to `summary' config.
534 *  `gnus-always-post-using-current-server' - variable to override
535  `C-c C-c' when posting.
537 *  nnmail-group-spool-alist - says where each group should use as a
538  spool file.
540 *  when an article is crossposted to an auto-expirable group, the
541  article should be marker as expirable.
543 *  article mode command/menu for "send region as URL to browser".
545 *  on errors, jump to info nodes that explain the error.  For
546  instance, on invalid From headers, or on error messages from the
547  nntp server.
549 *  when gathering threads, make the article that has no "Re: " the
550  parent.  Also consult Date headers.
552 *  a token in splits to call shrink-window-if-larger-than-buffer
554 *  `1 0 A M' to do matches on the active hashtb.
556 *  duplicates - command to remove Gnus-Warning header, use the read
557  Message-ID, delete the "original".
559 *  when replying to several messages at once, put the "other"
560  message-ids into a See-Also header.
562 *  support ProleText:
563  <URL:http://proletext.clari.net/prole/proletext.html>
565 *  generate font names dynamically.
567 *  score file mode auto-alist.
569 *  allow nndoc to change/add/delete things from documents.  Implement
570  methods for each format for adding an article to the document.
572 *  `gnus-fetch-old-headers' `all' value to incorporate absolutely
573  all headers there is.
575 *  function like `|', but concatenate all marked articles and pipe
576  them to the process.
578 *  cache the list of killed (or active) groups in a separate file.
579  Update the file whenever we read the active file or the list of
580  killed groups in the .eld file reaches a certain length.
582 *  function for starting to edit a file to put into the current mail
583  group.
585 *  "ghettozie" - score on Xref header and nix it out after using it
586  to avoid marking as read in other groups it has been crossposted
587  to.
589 *  look at procmail splitting.  The backends should create the
590  groups automatically if a spool file exists for that group.
592 *  function for backends to register themselves with Gnus.
594 *  when replying to several process-marked articles, have all the
595  From end up in Cc headers?  Variable to toggle.
597 *  command to delete a crossposted mail article from all groups it
598  has been mailed to.
600 *  `B c' and `B m' should be crosspost aware.
602 *  hide-pgp should also hide PGP public key blocks.
604 *  Command in the group buffer to respool process-marked groups.
606 *  `gnus-summary-find-matching' should accept pseudo-"headers" like
607  "body", "head" and "all"
609 *  Process-marking all groups in a topic should process-mark groups
610  in subtopics as well.
612 *  Add non-native groups to the list of killed groups when killing
613  them.
615 If this entry is about non-foreign non-native groups, then it was
616 actually a bug that prevented them from being inserted into
617 gnus-killed-list:
618 <http://article.gmane.org/gmane.emacs.gnus.general/63383/>
620 *  nntp-suggest-kewl-config to probe the nntp server and suggest
621  variable settings.
623 *  add edit and forward secondary marks.
625 *  nnml shouldn't visit its .overview files.
627 *  allow customizing sorting within gathered threads.
629 *  `B q' shouldn't select the current article.
631 *  nnmbox should support a newsgroups file for descriptions.
633 *  Be able to specify whether the saving commands save the original
634  or the formatted article.
636 *  a command to reparent with the child process-marked (cf. `T ^'.).
638 *  I think the possibility to send a password with nntp-open-rlogin
639  should be a feature in Red Gnus.
641 *  The `Z n' command should be possible to execute from a mouse
642  click.
644 *  more limiting functions - date, etc.
646    We have `gnus-summary-limit-to-age'.  What's missing?  Maybe enter a date?
648 *  be able to limit on a random header; on body; using reverse
649  matches.
651 *  a group parameter (`absofucking-total-expiry') that will make
652  Gnus expire even unread articles.
654 *  variable to disable password fetching when opening by
655  nntp-open-telnet.
657 *  manual: more example servers - nntp with rlogin, telnet
659 *  checking for bogus groups should clean topic alists as well.
661 *  canceling articles in foreign groups.
663 *  article number in folded topics isn't properly updated by Xref
664  handling.
666 *  Movement in the group buffer to the next unread group should go
667  to the next closed topic with unread messages if no group can be
668  found.
670 *  Extensive info pages generated on the fly with help everywhere -
671  in the "*Gnus edit*" buffers, for instance.
673 *  Topic movement commands - like thread movement.  Up, down,
674  forward, next.
676 *  a way to say that all groups within a specific topic comes from a
677  particular server?  Hm.
679 *  `gnus-article-fill-if-long-lines' - a function to fill the
680  article buffer if there are any looong lines there.
682 *  `T h' should jump to the parent topic and fold it.
684 *  a command to create an ephemeral nndoc group out of a file, and
685  then splitting it/moving it to some other group/backend.
687 *  It should also probably be possible to delimit what
688  `gnus-jog-cache' does - for instance, work on just some groups, or
689  on some levels, and entering just articles that have a score
690  higher than a certain number.
692 *  nnfolder should append to the folder instead of re-writing the
693  entire folder to disk when accepting new messages.
695 *  a backend for reading collections of babyl files nnbabylfolder?
697 *  a command for making the native groups into foreign groups.
699 *  server mode command for clearing read marks from all groups from
700  a server.
702 *  when following up multiple articles, include all To, Cc, etc
703  headers from all articles.
705 *  a command for deciding what the total score of the current thread
706  is.  Also a way to highlight based on this.
708 *  command to show and edit group scores
710 *  a gnus-tree-minimize-horizontal to minimize tree buffers
711  horizontally.
713 *  command to generate nnml overview file for one group.
715 *  `C-u C-u a' - prompt for many crossposted groups.
717 *  keep track of which mail groups have received new articles (in
718  this session).  Be able to generate a report and perhaps do some
719  marking in the group buffer.
721 *  gnus-build-sparse-threads to a number - build only sparse threads
722  that are of that length.
724 *  have nnmh respect mh's unseen sequence in .mh_profile.
726 *  cache the newsgroups descriptions locally.
728 *  asynchronous posting under nntp.
730 *  be able to control word adaptive scoring from the score files.
732 *  a variable to make `C-c C-c' post using the "current" select
733  method.
735 *  `limit-exclude-low-scored-articles'.
737 *  if `gnus-summary-show-thread' is a number, hide threads that have
738  a score lower than this number.
740 *  split newsgroup subscription variable up into "order" and
741  "method".
743 *  buttonize ange-ftp file names.
745 *  a command to make a duplicate copy of the current article so that
746  each copy can be edited separately.
748 *  nnweb should allow fetching from the local nntp server.
750 *  record the sorting done in the summary buffer so that it can be
751  repeated when limiting/regenerating the buffer.
753 *  nnml-generate-nov-databses should generate for all nnml servers.
755 *  when the user does commands in the group buffer, check the
756  modification time of the .newsrc.eld file and use
757  ask-user-about-supersession-threat.  Also warn when trying to save
758  .newsrc.eld and it has changed.
760 *  M-g on a topic will display all groups with 0 articles in the
761  topic.
763 *  command to remove all topic stuff.
765 *  allow exploding incoming digests when reading incoming mail and
766  splitting the resulting digests.
768 *  command to nix out all nnoo state information.
770 *  nnmail-process-alist that calls functions if group names matches
771  an alist - before saving.
773 *  use buffer-invisibility-spec everywhere for hiding text.
775 *  variable to activate each group before entering them to get the
776  (new) number of articles.  `gnus-activate-before-entering'.
778 *  command to fetch a Message-ID from any buffer, even starting Gnus
779  first if necessary.
781 *  when posting and checking whether a group exists or not, just ask
782  the nntp server instead of relying on the active hashtb.
784 *  buttonize the output of `C-c C-a' in an apropos-like way.
786 *  `G p' should understand process/prefix, and allow editing of
787  several groups at once.
789 *  command to create an ephemeral nnvirtual group that matches some
790  regexp(s).
792 *  it should be possible to score "thread" on the From header.
794 *  hitting RET on a "gnus-uu-archive" pseudo article should unpack
795  it.
797 *  `B i' should display the article at once in the summary buffer.
799 *  remove the "*" mark at once when unticking an article.
801 *  `M-s' should highlight the matching text.
803 *  when checking for duplicated mails, use Resent-Message-ID if
804  present.
806 *  killing and yanking groups in topics should be better.  If
807  killing one copy of a group that exists in multiple topics, only
808  that copy should be removed.  Yanking should insert the copy, and
809  yanking topics should be possible to be interspersed with the
810  other yankings.
812 *  command for enter a group just to read the cached articles.  A
813  way to say "ignore the nntp connection; just read from the cache."
815 *  a way to hide all "inner" cited text, leaving just the most
816  recently cited text.
818 *  nnvirtual should be asynchronous.
820 *  after editing an article, gnus-original-article-buffer should be
821  invalidated.
823 *  there should probably be a way to make Gnus not connect to the
824  server and just read the articles in the server
826 *  allow a `set-default' (or something) to change the default value
827  of nnoo variables.
829 *  a command to import group infos from a .newsrc.eld file.
831 *  groups from secondary servers have the entire select method
832  listed in each group info.
834 *  a command for just switching from the summary buffer to the group
835  buffer.
837 *  a way to specify that some incoming mail washing functions should
838  only be applied to some groups.
840 *  Message `C-f C-t' should ask the user whether to heed
841  mail-copies-to: never.
843 *  new group parameter - `post-to-server' that says to post using
844  the current server.  Also a variable to do the same.
846 *  the slave dribble files should auto-save to the slave file names.
848 *  a group parameter that says what articles to display on group
849  entry, based on article marks.
851 *  a way to visually distinguish slave Gnusae from masters.  (Whip
852  instead of normal logo?)
854 *  Use DJ Bernstein "From " quoting/dequoting, where applicable.
856 *  Why is hide-citation-maybe and hide-citation different?  Also
857  clear up info.
859 *  group user-defined meta-parameters.
861  From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
863 *  I like the option for trying to retrieve the FAQ for a group and
864  I was thinking it would be great if for those newsgroups that had
865  archives you could also try to read the archive for that group.
866  Part of the problem is that archives are spread all over the net,
867  unlike FAQs.  What would be best I suppose is to find the one
868  closest to your site.
870  In any case, there is a list of general news group archives at
871  ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html
873 *      From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
874       (add-hook 'gnus-select-group-hook
875         (lambda ()
876           (gnus-group-add-parameter group
877              (cons 'gnus-group-date-last-entered (list (current-time-string))))))
879       (defun gnus-user-format-function-d (headers)
880         "Return the date the group was last read."
881         (cond ((car (gnus-group-get-parameter gnus-tmp-group 'gnus-group-date-last-entered)))
882             (t "")))
884 *  tanken var at n\e,Ae\e(Br du bruker `gnus-startup-file' som prefix (FOO)
885  til \e,Ae\e(B lete opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld,
886  kan du la den v\e,Af\e(Bre en liste hvor du bruker hvert element i listen
887  som FOO, istedet.  da kunne man hatt forskjellige serveres
888  startup-filer forskjellige steder.
890 * LMI> Well, nnbabyl could alter the group info to heed labels like
891  LMI> answered and read, I guess.
893  It could also keep them updated (the same for the Status: header of
894  unix mbox files).
896  They could be used like this:
898       `M l <name> RET' add label <name> to current message.
899       `M u <name> RET' remove label <name> from current message.
900       `/ l <expr> RET' limit summary buffer according to <expr>.
902       <expr> would be a boolean expression on the labels, e.g.
904       `/ l bug & !fixed RET'
906  would show all the messages which are labeled `bug' but not labeled
907  `fixed'.
909  One could also imagine the labels being used for highlighting, or
910  affect the summary line format.
912 * Sender: abraham@dina.kvl.dk
914  I'd like a gnus-find-file which work like find file, except that it
915  would recognize things that looks like messages or folders:
917  - If it is a directory containing numbered files, create an nndir
918  summary buffer.
920  - For other directories, create a nneething summary buffer.
922  - For files matching "\\`From ", create a nndoc/mbox summary.
924  - For files matching "\\`BABYL OPTIONS:", create a nndoc/baby
925  summary.
927  - For files matching "\\`[^ \t\n]+:", create an *Article* buffer.
929  - For other files, just find them normally.
931  I'd like `nneething' to use this function, so it would work on a
932  directory potentially containing mboxes or babyl files.
934 * Currently, I get prompted:
936  decend into sci?  - type y decend into sci.something ?  - type n
937  decend into ucd?
939  The problem above is that since there is really only one
940  subsection of science, shouldn't it prompt you for only descending
941  sci.something?  If there was a sci.somethingelse group or section,
942  then it should prompt for sci? first the sci.something? then
943  sci.somethingelse?...
945 * Ja, det burde v\e,Af\e(Bre en m\e,Ae\e(Bte \e,Ae\e(B si slikt.  Kanskje en ny variabel?
946  `gnus-use-few-score-files'?  S\e,Ae\e(B kunne score-regler legges til den
947  "mest" lokale score-fila.  F. eks. ville no-gruppene betjenes av
948  "no.all.SCORE", osv.
950 * What i want is for Gnus to treat any sequence or combination of
951  the following as a single spoiler warning and hide it all,
952  replacing it with a "Next Page" button:
954  ^L's
956  more than n blank lines
958  more than m identical lines (which should be replaced with button
959  to show them)
961  any whitespace surrounding any of the above
963 * Well, we could allow a new value to `gnus-thread-ignore-subject' -
964  `spaces', or something.  (We could even default to that.)  And then
965  subjects that differ in white space only could be considered the
966  "same" subject for threading purposes.
968 * Modes to preprocess the contents (e.g. jka-compr) use the second
969  form "(REGEXP FUNCTION NON-NIL)" while ordinary modes (e.g. tex)
970  use the first form "(REGEXP . FUNCTION)", so you could use it to
971  distinguish between those two types of modes. (auto-modes-alist,
972  insert-file-contents-literally.)
974 *  Under XEmacs - do funny article marks: tick - thumb tack killed -
975  skull soup - bowl of soup score below - dim light bulb score over
976  - bright light bulb
978 * Yes. I think the algorithm is as follows:
980       Group-mode
982          show-list-of-articles-in-group
983               if (key-pressed == SPACE)
984                       if (no-more-articles-in-group-to-select)
985                               if (articles-selected)
986                                       start-reading-selected-articles;
987                               junk-unread-articles;
988                               next-group;
989                        else
990                               show-next-page;
992                else if (key-pressed = '.')
993                       if (consolidated-menus)         # same as hide-thread in Gnus
994                               select-thread-under-cursor;
995                       else
996                               select-article-under-cursor;
999       Article-mode
1000               if (key-pressed == SPACE)
1001                       if (more-pages-in-article)
1002                               next-page;
1003                       else if (more-selected-articles-to-read)
1004                               next-article;
1005                       else
1006                               next-group;
1008 * My precise need here would have been to limit files to Incoming*.
1009  One could think of some `nneething-only-files' variable, but I
1010  guess it would have been unacceptable if one was using many
1011  unrelated such nneething groups.
1013  A more useful approach would be to, in response to the `G D'
1014  prompt, be allowed to say something like: `~/.mail/Incoming*',
1015  somewhat limiting the top-level directory only (in case
1016  directories would be matched by the wildcard expression).
1018 *    Take a look at w3-menu.el in the Emacs-W3 distribution - this
1019  works out really well.  Each menu is 'named' by a symbol that
1020  would be on a gnus-*-menus (where * would be whatever, but at
1021  least group, summary, and article versions) variable.
1023  So for gnus-summary-menus, I would set to '(sort mark dispose ...)
1025  A value of '1' would just put _all_ the menus in a single 'GNUS'
1026  menu in the main menubar.  This approach works really well for
1027  Emacs-W3 and VM.
1029 *  nndoc should take care to create unique Message-IDs for all its
1030  articles.
1032 *  gnus-score-followup-article only works when you have a summary
1033  buffer active.  Make it work when posting from the group buffer as
1034  well.  (message-sent-hook).
1036 *  * Enhancements to Gnus:
1038  Add two commands:
1040  * gnus-servers (gnus-start-server-buffer?)-enters Gnus and goes
1041  straight to the server buffer, without opening any connections to
1042     servers first.
1044  * gnus-server-read-server-newsrc-produces a buffer very similar to
1045     the group buffer, but with only groups from that server listed;
1046     quitting this buffer returns to the server buffer.
1048 *  add a command to check the integrity of an nnfolder folder - go
1049  through the article numbers and see that there are no duplicates,
1050  and stuff.
1052 *  a command to give all relevant info on an article, including all
1053  secondary marks.
1055 *  when doing `-request-accept-article', the backends should do the
1056  nnmail duplicate checking.
1058 *  cache the newsgroups file locally to avoid reloading it all the
1059  time.
1061 *  a command to import a buffer into a group.
1063 *  point in the article buffer doesn't always go to the beginning of
1064  the buffer when selecting new articles.
1066 *  a command to process mark all unread articles.
1068 *  `gnus-gather-threads-by-references-and-subject' - first do
1069  gathering by references, and then go through the dummy roots and
1070  do more gathering by subject.
1072 *  gnus-uu-mark-in-numerical-order - process mark articles in
1073  article numerical order.
1075 *  (gnus-thread-total-score  (gnus-id-to-thread (mail-header-id
1076  (gnus-summary-article-header)))) bind to a key.
1078 *  sorting by score is wrong when using sparse threads.
1080 *  a command to fetch an arbitrary article - without having to be in
1081  the summary buffer.
1083 *  a new nncvs backend.  Each group would show an article, using
1084  version branches as threading, checkin date as the date, etc.
1086 * A Date scoring type that will match if the article is less than a certain
1087  number of days old. With - < > = (etc) that take floating point numbers and
1088  match on the age of the article.
1090 *  use the summary toolbar in the article buffer.
1092 *  a command to fetch all articles that are less than X days old.
1094 *  in pick mode, `q' should save the list of selected articles in the
1095  group info.  The next time the group is selected, these articles
1096  will automatically get the process mark.
1098 *  Isn't it possible to (also?) allow M-^ to automatically try the
1099  default server if it fails on the current server?  (controlled by a
1100  user variable, (nil, t, 'ask)).
1102  [Done by `gnus-refer-article-method'?]
1104 *  a new variable to control which selection commands should be
1105  unselecting.  `first', `best', `next', `prev', `next-unread',
1106  `prev-unread' are candidates.
1108 *  `x' should retain any sortings that have been performed.
1110 *  allow the user to specify the precedence of the secondary marks.
1111  Also allow them to be displayed separately.
1113 *  gnus-summary-save-in-pipe should concatenate the results from the
1114  processes when doing a process marked pipe.
1116 *  a new match type, like Followup, but which adds Thread matches on
1117  all articles that match a certain From header.
1119 *  a function that can be read from kill-emacs-query-functions to
1120  offer saving living summary buffers.
1122 *  a function for selecting a particular group which will contain
1123  the articles listed in a list of article numbers/id's.
1125 *       (add-hook 'gnus-exit-query-functions
1126       '(lambda ()
1127          (if (and (file-exists-p nnmail-spool-file)
1128                   (> (nnheader-file-size nnmail-spool-file) 0))
1129              (yes-or-no-p "New mail has arrived.  Quit Gnus anyways? ")
1130              (y-or-n-p "Are you sure you want to quit Gnus? "))))
1132 *  gnus-article-hide-pgp Selv ville jeg nok ha valgt \e,Ae\e(B slette den
1133  dersom teksten matcher
1134       "\\(This\s+\\)?[^ ]+ has been automatically signed by"
1135  og det er maks hundre tegn mellom match-end og ---linja.  Men -det-
1136  er min type heuristikk og langt fra alles.
1138 *  `gnus-subscribe-sorted' - insert new groups where they would have
1139  been sorted to if `gnus-group-sort-function' were run.
1141 *  gnus-(group,summary)-highlight should respect any `face' text
1142  props set on the lines.
1144 *  nndraft-request-group should tally auto-save files.
1146 *  implement nntp-retry-on-break and nntp-command-timeout.
1148 *  gnus-article-highlight-limit that says when not to highlight
1149  (long) articles.
1151 * Interrupting the agent fetching of articles should save articles.
1152  Have the Agent write out articles, one by one, as it retrieves
1153  them, to avoid having to re-fetch them all if Emacs should crash
1154  while fetching.
1156 *  command to open a digest group, and copy all the articles there
1157  to the current group.
1159 *  handle 480/381 authinfo requests separately.
1161 *  command to display all dormant articles.
1163 *  gnus-auto-select-next makeover - list of things it should do.
1165 *  a score match type that adds scores matching on From if From has
1166  replied to something someone else has said.
1168 * `T v' - make all process-marked articles the children of the
1169  current article.
1171 * Switch from initial text to the new default text mechanism.
1173 * How about making it possible to expire local articles?  Will it be
1174  possible to make various constraints on when an article can be
1175  expired, e.g. (read), (age > 14 days), or the more interesting
1176  (read & age > 14 days)?
1178 * New limit command--limit to articles that have a certain string in
1179  the head or body.
1181 * Allow breaking lengthy NNTP commands.
1183 * gnus-article-highlight-limit, to disable highlighting in big
1184  articles.
1186 * A command to send a mail to the admin-address group param.
1188 * Allow Gnus Agent scoring to use normal score files.
1190 * Rething the Agent active file thing.  `M-g' doesn't update the
1191  active file, for instance.
1193 * With dummy roots, `^' and then selecing the first article in any
1194  other dummy thread will make Gnus highlight the dummy root instead
1195  of the first article.
1197 * Propagate all group properties (marks, article numbers, etc) up to
1198  the topics for displaying.
1200 * gnus-posting-styles doesn't work in drafts.
1202 * gnus-summary-limit-include-cached is slow when there are many
1203  articles in the cache, since it regenerates big parts of the
1204  summary buffer for each article.
1206 * Group parameters and summary commands for un/subscribing to mailing
1207  lists.
1209 * Introduce nnmail-home-directory.
1211 * gnus-fetch-group and friends should exit Gnus when the user exits
1212  the group.
1214 * Crossposted articles should "inherit" the % or  mark from the other
1215  groups it has been crossposted to, or something.  (Agent.)
1217 * If point is on a group that appears multiple times in topics, and
1218  you press `l', point will move to the first instance of the group.
1220 * A spec for the group line format to display the number of
1221  agent-downloaded articles in the group.
1223 * Some nntp servers never respond when posting, so there should be a
1224  timeout for all commands.
1226 * When stading on a topic line and `t'-ing, point goes to the last
1227  line.  It should go somewhere else.
1229 *  When `#F', do:
1231       Subject: Answer to your mails 01.01.1999-01.05.1999
1232        --text follows this line--
1233       Sorry I killfiled you...
1235       Under the subject "foo", you wrote on 01.01.1999:
1236       > bar
1237       Under the subject "foo1", you wrote on 01.01.1999:
1238       > bar 1
1240 * Allow "orphan" scores in the Agent scoring.
1242   [done?]
1244 *          - Edit article's summary line.
1245           - End edit
1246           - Sort lines in buffer by subject
1248           --> the old subject line appears in Summary buffer, not the one that was
1249           just changed to.
1251 * Remove list identifiers from the subject in the summary when doing
1252  `^' and the like.
1254 * nnweb should include the "get whole article" article when getting
1255  articles.
1257 * Perhaps there should be a command to "attach" a buffer of comments
1258  to a message?  That is, `B WHATEVER', you're popped into a buffer,
1259  write something, end with `C-c C-c', and then the thing you've
1260  written gets to be the child of the message you're commenting.
1262 * Handle external-body parts.
1264   [done for some access types]
1266 * When renaming a group name, nnmail-split-history does not get the
1267  group name renamed.
1269 * Allow mail splitting on bodies when using advanced mail splitting.
1271         (body "whatever.text")
1273 * Solve the halting problem.
1276 ;; Local Variables:
1277 ;; mode: outline
1278 ;; coding: iso-2022-7bit
1279 ;; paragraph-separate: "[       \f]*$"
1280 ;; End: