1 ;; Also know as the "wish list". Some are done. For the others, no
2 ;; promise when to be implemented.
4 * Speed up sorting in summary buffer if there is a limit.
6 Suggested by Daniel Ortmann <ortmann@isl.net>.
8 * Investigate the memory usage of Gnus.
10 But it does seem strange that Gnus would use some 15meg for this. I
11 think that is worth investigating. I suspect that bugs or bad
12 design are causing waste; they could be in Gnus, or in Emacs. -- RMS
16 The result of Google group search return a thread. Is it a digest
21 Implement NOV caching with Gnus Agent.
23 * Multiple charsets for topic names.
27 * Allow specification of server in Newsgroups header
31 WIBNI I could put `Newsgroups: nntp+quimby:bla' into a message and
32 Gnus would know to post this message on my server `nntp:quimby' into
33 the group bla? I think this would be way cool.
35 But Gnus would have to rewrite the Newsgroups header before actually
38 Thanks for Micha Wiedenmann for this suggestion.
40 * Understand mail-user-agent. Maybe gnus-mail-user-agent.
44 * Emphasis delimiters show when `W W c'.
48 * Parsing of the common list confirmation requests so that Gnus can
49 prepare the response with a single command. Including LISTSERV
50 periodic ping messages and the like.
52 * Parsing of the various List-* headers to enable automatic commands
53 like "send help message," "send unsubscribe message," and the like.
55 [done, see gnus-ml.el]
57 * Parsing of the subscription notice to stash away details like what
58 address you're subscribed to the list under (and automatically send
59 mail to the list using that address, when you send mail inside the list
60 group), what address to mail to unsubscribe, and the list info message
61 if available. Hitting the "get FAQ" command inside a mailing list
62 group should display that stashed copy of the info message.
64 * Some help in coming up with good split rules for mailing lists, as
65 automated as possible. Splitting on To and Cc is almost always not
66 what I want, since it can misfile messages and since if I'm cc'd on
67 list mail I want to get both copies, one in my personal mailbox and one
68 in the list mailbox. I know other people handle it other ways, but I
69 prefer it that way. Accordingly, some way to semi-automatically
70 generate split rules based on Sender, Mailing-List, Return-Path,
71 X-Loop, and all of the other random headers that often work would be
74 * Support for zipped folders for all backends this makes sense for.
75 Most likely using jka-compr. (It has been suggested that this do
76 work but I think it should be verified for all backends.)
78 * Support for RFC2015, PGP-MIME. Probably has to involve the people in
79 the Mailcrypt project.
83 * Agent (Can someone write some subtopics here? I don't use it myself
84 so I don't know what is lacking.)
86 * Support for encrypted folders. Even if the mail arrives unencrypted
87 Gnus should be able to encrypt the *folder* for added safety. This
88 should go for both Gnus' own folders and the folders Gnus reads from
89 (e.g. /var/spool/mail/${USER}). All backends this makes sense for.
91 [John Wiegley's article <200011030445.VAA08277@localhost.dynodns.net>,
92 posted on gnu.emacs.gnus does this.
93 Also, gnus-article-encrypt `K E' encrypts the article body.]
95 * The stuff on "Newest Features" in the manual should be implemented
96 and the node updated (it maybe is?).
98 * Splitting .newsrc.eld so the history is in one file and the
99 configuration is in another. To help those that reads at two
100 locations (e.g. work and home) and want to have the same
103 * gnus-uu-decode should complain if one or more parts of a series post
104 (ie, "part N of X") is missing, and optionally tick what parts are
105 there for decoding in a later session.
107 * Additional article marking, and an ability to affect marks placed
108 during e.g. mail acquisition. I want to be able to notice the
109 subject "fast money" or "web traffic", automatically mark it with a
110 `$', and score it into oblivion. (But I fear that wanting to change
111 marks with mail-source-* and nnmail-* functions will represent a
112 philosophical conflict with the rest of Gnus' management of article
113 marks. mail-source-* and nnmail-* currently hack around with files
114 under ~/Mail and leave traces in ~/Mail/active, but don't affect
115 things stored in .newsrc.eld.)
117 * A much better interface to nnmail-split-methods. I don't know how
118 I'd like this done, but I know that the current method of manually
119 hacking regexps is pretty untenable for new users. My boss, who is
120 tenured faculty at CMU and CEO & CTO at JPRC, and whose research
121 work has involved Lisp for the last 25 years, is trying to implant
122 himself in a Gnus mail environment, and this is a big sticking point
125 * PGP-supported encryption of entire nnml & nnmh groups. There are
126 people with whom I exchange mail routinely who don't send w/PGP, but
127 I'd really rather that the content not be left lying around
128 unencrypted. Hook into article acquisition the way jka-compr
129 supposedly does, to auto-decrypt every message read.
131 [See Support for encrypted folders.]
133 * Baby's First Mail In Gnus. Some set of functions that the
134 new-to-mail-in-Gnus user can invoke which will query the user
135 appropriately for the basic information required to establish mail
136 handling, leaving the appropriate traces in .gnus. Perhaps a
137 customize buffer would be appropriate.
138 - Where does your mail come from?
139 - If some server, what is your POP/IMAP protocol identity?
140 - What is your identity when sending mail, as opposed to posting to
142 - Here are some basic concepts of mail groups (list a few:
143 personal mail, company-wide mail, mailing lists, garbage dumps,
144 receptacles for outbound copies of what one sends; which ones do
145 you want to instantiate, and what mail should land in each?
146 [/viz./ problem of nnmail-split-methods interface.]
148 * Full integration of nnir into Gnus. Generic hooks for adding new
149 external nnir sources. I use a couple experimental, in-house tools
150 (JPRC is a research lab, occupied with document analysis and machine
151 learning) and adding new search engines to nnir by hacking the main
152 nnir.el module is rather clunky.
154 * Manual ordering of articles in an nnml folder.
156 That is, keystrokes to move articles (or whole threads) up or down
157 in the *Summary* buffer relative to the other articles. The order
158 would be persistent (e.g., across gnus sessions).
160 With this ability, an nnml folder would make for a good to-do list.
162 * Since many uses Gnus to store to do lists I think it is time for an
163 nntodo. (I know Kai already written one, maybe use that for a start?)
165 * nnsql backend, which would allow messages or folders to be imported
166 in a local (My|Postgre|?)SQL RDBMS.
168 * "posting profiles" ideally accessible from a popup menu; allowing
169 choice between predefined profiles of
170 from,name,organization,etc. Example: I'm at home, but need to reply
171 to a work mail; i can hit 'R', then use this command to switch to my
172 'work' profile for purposes of this one reply. (This might already
173 be possible with current Gnus, but I don't think so.)
175 * Better handling of the mail retrieving / splitting feature:
176 - the variables <backend>-get-new-mail should not exist anymore. Mail
177 retrieving should be a separate matter.
178 - we should be able to split mails to groups AND backends at the same time.
179 - meanwhile, we should still be able to associate certain mail sources with
182 * A better interface to the agent download scoring rules, like the one
183 for the other scoring rules.
185 * Editing of messages in the agents cache.
187 * More article marks (like '!' or '?').
188 Maybe user defined marks that can be displayed as any choosen charakter,
189 so one could do things like limiting on, to do whatever one likes with
192 * A possibility to add notes to messages. If thouse could include links
193 to other (stored) messages this would be very practical.
195 * A nnfolder like backend with .overview files.
196 This would not only speed up things, but also allow nnir to work on it.
200 * Allow article editing in groups which do not support it, but
201 emulating it via deleting the old article and entering the new one
202 into the group. This would be very useful to support `T ^' (say) in
205 * Allow user to specify which kinds of groups should be displayed.
206 For example, I want to display all the groups that are displayed
207 now, plus those which have cached messages in them. (Gnus does
208 display those with ticked messages but not those with
209 cached-but-unticked ones.) This would become even more important
210 when we allow labels.
212 * Go through the todo list and remove items already done.
214 * Create new data type `article identifier' and use that instead of
215 article numbers. A first implementation could offer something like
216 (num . 4711) but this could be extended. This would be useful for
217 using servers with *really* large numbers -- there we could have a
218 bignum type. It might also be useful for the nnweb and nnultimate
219 thingies where article identifiers are not really numbers.
221 * Allow use of digests to keep related articles. Normally, you use
222 groups to group together articles which are thematically related.
223 But sometimes, you have so many themes that this becomes
224 impractical. WIBNI I could have digests in a group, and there was a
225 way to add a new article to one of the digests in that group?
227 Or maybe what I really want is a way to tell Gnus that a specific
228 thread should always be hidden (as in `T h') by default, while most
229 other threads are not hidden by default. Hm.
231 * New backend between nnfolder and nnml: have more than one article
232 per file, but more than one file per group. With .overview files.
234 [done. nnfolder has .overview. Backward- and forward-compatible
235 between 1.0 and 2.0. (setq nnfolder-nov-is-evil t) disables the
238 * .overview files for nnfolder?
242 * New backend nnbabylfolder. There is also nnbabyl which is like
243 nnmbox but uses babyl format, but there is no babyl format
244 equivalent of nnfolder.
246 * Make movement commands in summary buffer independent of `move after
247 mark' behavior when marking articles. Currently, if you don't want
248 `E' to move to the next unread article, you have to set
249 gnus-summary-goto-unread to nil, and then there is no way to move to
250 the next or previous unread article.
252 This one has two sub-tasks. Providing the commands is one thing,
253 finding out useful key bindings for them is another. I think we
254 could provide the commands first while not changing the behavior of
255 the key bindings; then different people can experiment with
256 different key binding schemes until we find something which suits
259 * `Move to next/previous/first article' is a misnomer, since ticked
260 articles are also unread but not moved to by these commands. Should
261 the terminology be fixed or the documentation, or what?
263 * Allow sorting of threads by newest article rather than by root of
264 thread. Consider the following thread structure:
271 These two threads are sorted this way because root1 is older than
272 root2. I want an option to sort them the other way round because
273 leaf1 is newer than leaf2.
275 * Improve editing of MIME messages. I would like to use html-mode to
276 edit the body of a text/html message, and enriched-mode for
277 text/enriched messages, and so on. This should go for multipart
278 messages as well. This is probably a hard one since Emacs currently
279 does not allow several major modes per buffer. But maybe it would
280 be nice to hack Emacs to provide this infrastructure so that Gnus
281 can make use of it? This would also make it possible to provide
282 nifty commands for editing the headers, for example, rather than
283 relying on commands which do the same thing everywhere.
284 message-x.el is really just a half-assed attempt at doing it, and
285 while it is useful, that's not the way it should be done.
287 I think Francisco Potort
\e,Al
\e(B already did something like this?
289 * Provide commands for editing MML tags. For example, there could be
290 a command mml-add-tag-attribute which prompts me for an attribute
291 name (with completion, from the set filename, type, ...), and then
292 for a value. (This is like `C-c +' in psgml.) Or there could be a
293 command which showed me all the attributes in an MML tag and allows
294 me to use TAB to move between them, and then to edit each attribute
295 value. (This is like `C-c C-a' in psgml.)
297 * Have Gnus automagically set group parameters for mailing list
298 groups. For example, if I have a splitting rule that automatically
299 sorts ding@gnus.org into mail.ding, then Gnus should clue in, set
300 the to-list parameter to 'ding@gnus.org', and set total-expire.
301 (This is probably Hard (TM). And of course the user should be able
302 to configure what parameters exactly get set.)
304 * Along the same lines, automagically detect broken reply-to's. (But
305 don't auto-detect users legitimately setting a reply-to header that
306 points back to the list.)
308 * Make it easier to change parameters on a set of groups,
309 e.g. set/clear gcc-self on process-marked groups.
311 * Make it easier/possible to migrate between primary select-methods,
312 if that concept is going to be kept. Right now I have only one
313 group on my primary server, and I'd kind of like to change from nntp
314 to nnml, but apparently this doesn't work well.
316 * Make it possible to refer to uniquely-named groups without
317 select-method prefix (e.g. mail.misc instead of nnml:mail.misc).
319 * Allow a user-defined picons directory for personal groups.
321 * Annotations as discussed last autumn. Be able to make comments to
322 articles for all bakends. The comments amybe should go into a
323 seperate "backend", like nndraft.
325 * Catchup on a topic and all its subtopics. I.e. do "c y" when on a
326 topic line in *Group*.
328 * Better/more advanced subject washing in *Summary*, see my
329 js-gnus-simplify-subject-function I posted earlier this winter.
331 ;; From Newest Features node. Some are not done.
333 * I would like the zombie-page to contain an URL to the source of the
334 latest version of gnus or some explanation on where to find it.
336 * A way to continue editing the latest Message composition.
338 * http://www.sonicnet.com/feature/ari3/
342 * facep is not declared.
344 * Include a section in the manual on why the number of articles isn't
345 the same in the group buffer and on the SPC prompt.
347 * Interacting with rmail fcc isn't easy.
350 [N/A]<URL:http://www.falch.no/people/pepper/DSSSL-Lite/archives/>
351 [N/A]<URL:http://www.eit.com/software/hypermail/hypermail.html>
352 [N/A]<URL:http://homer.ncm.com/>
353 [N/A]<URL:http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/HTML_Converters/>
354 http://www.uwsg.indiana.edu/hypermail/linux/kernel/9610/index.html
355 [N/A]<URL:http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html>
356 [N/A]http://www.miranova.com/gnus-list/
360 * `^-- ' is made into - in LaTeX.
362 * gnus-kill is much slower than it was in GNUS 4.1.3.
364 * when expunging articles on low score, the sparse nodes keep
367 * starting the first time seems to hang Gnus on some systems. Does
368 NEWGROUPS answer too fast?
370 * nndir doesn't read gzipped files.
372 * FAQ doesn't have an up node?
374 * when moving mail from a procmail spool to the crash-box, the
375 crash-box is only appropriate to one specific group.
377 * `t' `t' makes X-Faces disappear.
379 * nnmh-be-safe means that crossposted articles will be marked as
382 * Orphan score entries don't show on "V t" score trace
384 * when clearing out data, the cache data should also be reset.
386 * rewrite gnus-summary-limit-children to be non-recursive to avoid
387 exceeding lisp nesting on huge groups.
389 * expunged articles are counted when computing scores.
391 * implement gnus-batch-brew-soup
393 * ticked articles aren't easy to read in pick mode - `n' and stuff
394 just skips past them. Read articles are the same.
396 * topics that contain just groups with ticked articles aren't
399 * nndoc should always allocate unique Message-IDs.
401 * If there are mail groups the first time you use Gnus, Gnus'll
402 make the mail groups killed.
404 * no "no news is good news" when using topics.
406 * when doing crosspost marking, the cache has to be consulted and
407 articles have to be removed.
409 * nnweb should fetch complete articles when they are split into
412 * scoring on head immediate doesn't work.
414 * finding short score file names takes forever.
416 * canceling articles in foreign groups.
418 * nntp-open-rlogin no longer works.
420 * C-u C-x C-s (Summary) switches to the group buffer.
422 * move nnmail-split-history out to the backends.
424 * nnweb doesn't work properly.
426 * using a virtual server name as `gnus-select-method' doesn't work?
428 * when killing/yanking a group from one topic to another in a
429 slave, the master will yank it first to one topic and then add it
432 * warn user about `=' redirection of a group in the active file?
434 * take over the XEmacs menubar and offer a toggle between the XEmacs
435 bar and the Gnus bar.
437 * push active file and NOV file parsing down into C code.
438 `(canonize-message-id id)'
439 `(mail-parent-message-id references n)'
440 `(parse-news-nov-line &optional dependency-hashtb)'
441 `(parse-news-nov-region beg end &optional dependency-hashtb fullp)'
442 `(parse-news-active-region beg end hashtb)'
444 * nnml .overview directory with splits.
448 * postponed commands.
450 * the selected article show have its Subject displayed in its
453 * when entering groups, get the real number of unread articles from
456 * sort after gathering threads - make false roots have the headers
457 of the oldest orphan with a 0 article number?
459 * nndoc groups should inherit the score files of their parents?
460 Also inherit copy prompts and save files.
462 * command to start up Gnus (if not running) and enter a mail mode
465 * allow editing the group description from the group buffer for
466 backends that support that.
468 * gnus-hide,show-all-topics
470 * groups and sub-topics should be allowed to mingle inside each
471 topic, and not just list all subtopics at the end.
473 * a command to remove all read articles that are not needed to
474 connect threads - `gnus-summary-limit-to-sparse-unread'?
476 * a variable to turn off limiting/cutting of threads in the tree
479 * a variable to limit how many files are uudecoded.
481 * add zombie groups to a special "New Groups" topic.
483 * server mode command: close/open all connections
485 * put a file date in gnus-score-alist and check whether the file
486 has been changed before using it.
488 * on exit from a digest group, go to the next article in the parent
491 * hide (sub)threads with low score.
493 * when expiring, remove all marks from expired articles.
495 * gnus-summary-limit-to-body
497 * a regexp alist that says what level groups are to be subscribed
498 on. Eg. - `(("nnml:" . 1))'.
500 * easier interface to nnkiboze to create ephemeral groups that
501 contain groups that match a regexp.
503 * allow newlines in <URL:> urls, but remove them before using the
506 * If there is no From line, the mail backends should fudge one from
509 * fuzzy simplifying should strip all non-alpha-numerical info from
512 * gnus-soup-brew-soup-with-high-scores.
514 * nntp-ping-before-connect
516 * command to check whether NOV is evil. "list overview.fmt".
518 * when entering a group, Gnus should look through the score files
519 very early for `local' atoms and set those local variables.
521 * message annotations.
523 * topics are always yanked before groups, and that's not good.
525 * (set-extent-property extent 'help-echo "String to display in
526 minibuf") to display help in the minibuffer on buttons under
529 * allow group line format spec to say how many articles there are
534 * `run-with-idle-timer' in gnus-demon.
536 * stop using invisible text properties and start using overlays
539 * C-c C-f C-e to add an Expires header.
541 * go from one group to the next; everything is expunged; go to the
542 next group instead of going to the group buffer.
544 * gnus-renumber-cache - to renumber the cache using "low" numbers.
546 * record topic changes in the dribble buffer.
548 * `nnfolder-generate-active-file' should look at the folders it
549 finds and generate proper active ranges.
551 * nneething-look-in-files-for-article-heads variable to control
552 whether nneething should sniff all files in the directories.
554 * gnus-fetch-article - start Gnus, enter group, display article
556 * gnus-dont-move-articles-to-same-group variable when respooling.
558 * when messages are crossposted between several auto-expirable
559 groups, articles aren't properly marked as expirable.
561 * nneething should allow deletion/moving.
563 * TAB on the last button should go to the first button.
565 * if the car of an element in `mail-split-methods' is a function,
566 and the function returns non-nil, use that as the name of the
567 group(s) to save mail in.
569 * command for listing all score files that have been applied.
571 * a command in the article buffer to return to `summary' config.
573 * `gnus-always-post-using-current-server' - variable to override
574 `C-c C-c' when posting.
576 * nnmail-group-spool-alist - says where each group should use as a
579 * when an article is crossposted to an auto-expirable group, the
580 article should be marker as expirable.
582 * article mode command/menu for "send region as URL to browser".
584 * on errors, jump to info nodes that explain the error. For
585 instance, on invalid From headers, or on error messages from the
588 * when gathering threads, make the article that has no "Re: " the
589 parent. Also consult Date headers.
591 * a token in splits to call shrink-window-if-larger-than-buffer
593 * `1 0 A M' to do matches on the active hashtb.
595 * duplicates - command to remove Gnus-Warning header, use the read
596 Message-ID, delete the "original".
598 * when replying to several messages at once, put the "other"
599 message-ids into a See-Also header.
601 * support setext: URL:http://www.bsdi.com/setext/
604 <URL:http://proletext.clari.net/prole/proletext.html>
606 * when browsing a foreign server, the groups that are already
607 subscribed should be listed as such and not as "K".
611 * generate font names dynamically.
613 * score file mode auto-alist.
615 * allow nndoc to change/add/delete things from documents. Implement
616 methods for each format for adding an article to the document.
618 * `gnus-fetch-old-headers' `all' value to incorporate absolutely
619 all headers there is.
621 * function like `|', but concatenate all marked articles and pipe
624 * cache the list of killed (or active) groups in a separate file.
625 Update the file whenever we read the active file or the list of
626 killed groups in the .eld file reaches a certain length.
628 * function for starting to edit a file to put into the current mail
631 * score-find-trace should display the total score of the article.
633 * "ghettozie" - score on Xref header and nix it out after using it
634 to avoid marking as read in other groups it has been crossposted
637 * look at procmail splitting. The backends should create the
638 groups automatically if a spool file exists for that group.
640 * function for backends to register themselves with Gnus.
642 * when replying to several process-marked articles, have all the
643 From end up in Cc headers? Variable to toggle.
645 * command to delete a crossposted mail article from all groups it
648 * `B c' and `B m' should be crosspost aware.
650 * hide-pgp should also hide PGP public key blocks.
652 * Command in the group buffer to respool process-marked groups.
654 * `gnus-summary-find-matching' should accept pseudo-"headers" like
655 "body", "head" and "all"
657 * When buttifying <URL: > things, all white space (including
658 newlines) should be ignored.
660 * Process-marking all groups in a topic should process-mark groups
661 in subtopics as well.
663 * Add non-native groups to the list of killed groups when killing
666 * nntp-suggest-kewl-config to probe the nntp server and suggest
669 * add edit and forward secondary marks.
671 * nnml shouldn't visit its .overview files.
673 * allow customizing sorting within gathered threads.
675 * `B q' shouldn't select the current article.
677 * nnmbox should support a newsgroups file for descriptions.
679 * allow fetching mail from several pop servers.
683 * Be able to specify whether the saving commands save the original
684 or the formatted article.
686 * a command to reparent with the child process-marked (cf. `T ^'.).
688 * I think the possibility to send a password with nntp-open-rlogin
689 should be a feature in Red Gnus.
691 * The `Z n' command should be possible to execute from a mouse
694 * more limiting functions - date, etc.
696 * be able to limit on a random header; on body; using reverse
699 * a group parameter (`absofucking-total-expiry') that will make
700 Gnus expire even unread articles.
702 * a command to print the article buffer as postscript.
704 * variable to disable password fetching when opening by
707 * manual: more example servers - nntp with rlogin, telnet
709 * checking for bogus groups should clean topic alists as well.
711 * canceling articles in foreign groups.
713 * article number in folded topics isn't properly updated by Xref
716 * Movement in the group buffer to the next unread group should go
717 to the next closed topic with unread messages if no group can be
720 * Extensive info pages generated on the fly with help everywhere -
721 in the "*Gnus edit*" buffers, for instance.
723 * Topic movement commands - like thread movement. Up, down,
726 * a way to tick/mark as read Gcc'd articles.
728 [done, (setq gnus-inews-mark-gcc-as-read t)]
730 * a way to say that all groups within a specific topic comes from a
731 particular server? Hm.
733 * `gnus-article-fill-if-long-lines' - a function to fill the
734 article buffer if there are any looong lines there.
736 * `T h' should jump to the parent topic and fold it.
738 * a command to create an ephemeral nndoc group out of a file, and
739 then splitting it/moving it to some other group/backend.
741 * a group parameter for nnkiboze groups that says that all kibozed
742 articles should be entered into the cache.
744 * It should also probably be possible to delimit what
745 `gnus-jog-cache' does - for instance, work on just some groups, or
746 on some levels, and entering just articles that have a score
747 higher than a certain number.
749 * nnfolder should append to the folder instead of re-writing the
750 entire folder to disk when accepting new messages.
752 * allow all backends to do the proper thing with .gz files.
754 * a backend for reading collections of babyl files nnbabylfolder?
756 * a command for making the native groups into foreign groups.
758 * server mode command for clearing read marks from all groups from
761 * when following up multiple articles, include all To, Cc, etc
762 headers from all articles.
764 * a command for deciding what the total score of the current thread
765 is. Also a way to highlight based on this.
767 * command to show and edit group scores
769 * a gnus-tree-minimize-horizontal to minimize tree buffers
772 * command to generate nnml overview file for one group.
774 * `C-u C-u a' - prompt for many crossposted groups.
776 * keep track of which mail groups have received new articles (in
777 this session). Be able to generate a report and perhaps do some
778 marking in the group buffer.
780 * gnus-build-sparse-threads to a number - build only sparse threads
781 that are of that length.
783 * have nnmh respect mh's unseen sequence in .mh_profile.
785 * cache the newsgroups descriptions locally.
787 * asynchronous posting under nntp.
789 * be able to control word adaptive scoring from the score files.
791 * a variable to make `C-c C-c' post using the "current" select
794 * `limit-exclude-low-scored-articles'.
796 * if `gnus-summary-show-thread' is a number, hide threads that have
797 a score lower than this number.
799 * split newsgroup subscription variable up into "order" and
802 * buttonize ange-ftp file names.
804 * a command to make a duplicate copy of the current article so that
805 each copy can be edited separately.
807 * nnweb should allow fetching from the local nntp server.
809 * record the sorting done in the summary buffer so that it can be
810 repeated when limiting/regenerating the buffer.
812 * nnml-generate-nov-databses should generate for all nnml servers.
814 * when the user does commands in the group buffer, check the
815 modification time of the .newsrc.eld file and use
816 ask-user-about-supersession-threat. Also warn when trying to save
817 .newsrc.eld and it has changed.
819 * M-g on a topic will display all groups with 0 articles in the
822 * command to remove all topic stuff.
824 * allow exploding incoming digests when reading incoming mail and
825 splitting the resulting digests.
827 * nnsoup shouldn't set the `message-' variables.
829 * command to nix out all nnoo state information.
831 * nnmail-process-alist that calls functions if group names matches
832 an alist - before saving.
834 * use buffer-invisibility-spec everywhere for hiding text.
836 * variable to activate each group before entering them to get the
837 (new) number of articles. `gnus-activate-before-entering'.
839 * command to fetch a Message-ID from any buffer, even starting Gnus
842 * when posting and checking whether a group exists or not, just ask
843 the nntp server instead of relying on the active hashtb.
845 * buttonize the output of `C-c C-a' in an apropos-like way.
847 * `G p' should understand process/prefix, and allow editing of
848 several groups at once.
850 * command to create an ephemeral nnvirtual group that matches some
853 * nndoc should understand "Content-Type: message/rfc822" forwarded
858 * it should be possible to score "thread" on the From header.
860 * hitting RET on a "gnus-uu-archive" pseudo article should unpack
863 * `B i' should display the article at once in the summary buffer.
865 * remove the "*" mark at once when unticking an article.
867 * `M-s' should highlight the matching text.
869 * when checking for duplicated mails, use Resent-Message-ID if
872 * killing and yanking groups in topics should be better. If
873 killing one copy of a group that exists in multiple topics, only
874 that copy should be removed. Yanking should insert the copy, and
875 yanking topics should be possible to be interspersed with the
878 * command for enter a group just to read the cached articles. A
879 way to say "ignore the nntp connection; just read from the cache."
881 * `X u' should decode base64 articles.
885 * a way to hide all "inner" cited text, leaving just the most
888 * nnvirtual should be asynchronous.
890 * after editing an article, gnus-original-article-buffer should be
893 * there should probably be a way to make Gnus not connect to the
894 server and just read the articles in the server
896 * allow a `set-default' (or something) to change the default value
899 * a command to import group infos from a .newsrc.eld file.
901 * groups from secondary servers have the entire select method
902 listed in each group info.
904 * a command for just switching from the summary buffer to the group
907 * a way to specify that some incoming mail washing functions should
908 only be applied to some groups.
910 * Message `C-f C-t' should ask the user whether to heed
911 mail-copies-to: never.
913 * new group parameter - `post-to-server' that says to post using
914 the current server. Also a variable to do the same.
916 * the slave dribble files should auto-save to the slave file names.
918 * a group parameter that says what articles to display on group
919 entry, based on article marks.
921 * a way to visually distinguish slave Gnusae from masters. (Whip
922 instead of normal logo?)
924 * Use DJ Bernstein "From " quoting/dequoting, where applicable.
926 * Why is hide-citation-maybe and hide-citation different? Also
929 * group user-defined meta-parameters.
931 From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
933 * I like the option for trying to retrieve the FAQ for a group and
934 I was thinking it would be great if for those newsgroups that had
935 archives you could also try to read the archive for that group.
936 Part of the problem is that archives are spread all over the net,
937 unlike FAQs. What would be best I suppose is to find the one
938 closest to your site.
940 In any case, there is a list of general news group archives at
941 ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html
943 * From: Jason L Tibbitts III <tibbs@hpc.uh.edu>
944 (add-hook 'gnus-select-group-hook
946 (gnus-group-add-parameter group
947 (cons 'gnus-group-date-last-entered (list (current-time-string))))))
949 (defun gnus-user-format-function-d (headers)
950 "Return the date the group was last read."
951 (cond ((car (gnus-group-get-parameter gnus-tmp-group 'gnus-group-date-last-entered)))
954 * tanken var at n
\e,Ae
\e(Br du bruker `gnus-startup-file' som prefix (FOO)
955 til
\e,Ae
\e(B lete opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld,
956 kan du la den v
\e,Af
\e(Bre en liste hvor du bruker hvert element i listen
957 som FOO, istedet. da kunne man hatt forskjellige serveres
958 startup-filer forskjellige steder.
960 * LMI> Well, nnbabyl could alter the group info to heed labels like
961 LMI> answered and read, I guess.
963 It could also keep them updated (the same for the Status: header of
966 They could be used like this:
968 `M l <name> RET' add label <name> to current message.
969 `M u <name> RET' remove label <name> from current message.
970 `/ l <expr> RET' limit summary buffer according to <expr>.
972 <expr> would be a boolean expression on the labels, e.g.
974 `/ l bug & !fixed RET'
976 would show all the messages which are labeled `bug' but not labeled
979 One could also imagine the labels being used for highlighting, or
980 affect the summary line format.
982 * Sender: abraham@dina.kvl.dk
984 I'd like a gnus-find-file which work like find file, except that it
985 would recognize things that looks like messages or folders:
987 - If it is a directory containing numbered files, create an nndir
990 - For other directories, create a nneething summary buffer.
992 - For files matching "\\`From ", create a nndoc/mbox summary.
994 - For files matching "\\`BABYL OPTIONS:", create a nndoc/baby
997 - For files matching "\\`[^ \t\n]+:", create an *Article* buffer.
999 - For other files, just find them normally.
1001 I'd like `nneething' to use this function, so it would work on a
1002 directory potentially containing mboxes or babyl files.
1004 * Please send a mail to bwarsaw@cnri.reston.va.us (Barry A. Warsaw)
1005 and tell him what you are doing.
1007 * Currently, I get prompted:
1009 decend into sci? - type y decend into sci.something ? - type n
1012 The problem above is that since there is really only one
1013 subsection of science, shouldn't it prompt you for only descending
1014 sci.something? If there was a sci.somethingelse group or section,
1015 then it should prompt for sci? first the sci.something? then
1016 sci.somethingelse?...
1018 * Ja, det burde v
\e,Af
\e(Bre en m
\e,Ae
\e(Bte
\e,Ae
\e(B si slikt. Kanskje en ny variabel?
1019 `gnus-use-few-score-files'? S
\e,Ae
\e(B kunne score-regler legges til den
1020 "mest" lokale score-fila. F. eks. ville no-gruppene betjenes av
1021 "no.all.SCORE", osv.
1023 * What i want is for Gnus to treat any sequence or combination of
1024 the following as a single spoiler warning and hide it all,
1025 replacing it with a "Next Page" button:
1029 more than n blank lines
1031 more than m identical lines (which should be replaced with button
1034 any whitespace surrounding any of the above
1036 * Well, we could allow a new value to `gnus-thread-ignore-subject' -
1037 `spaces', or something. (We could even default to that.) And then
1038 subjects that differ in white space only could be considered the
1039 "same" subject for threading purposes.
1041 * Modes to preprocess the contents (e.g. jka-compr) use the second
1042 form "(REGEXP FUNCTION NON-NIL)" while ordinary modes (e.g. tex)
1043 use the first form "(REGEXP . FUNCTION)", so you could use it to
1044 distinguish between those two types of modes. (auto-modes-alist,
1045 insert-file-contents-literally.)
1047 * Under XEmacs - do funny article marks: tick - thumb tack killed -
1048 skull soup - bowl of soup score below - dim light bulb score over
1051 * Yes. I think the algorithm is as follows:
1055 show-list-of-articles-in-group
1056 if (key-pressed == SPACE)
1057 if (no-more-articles-in-group-to-select)
1058 if (articles-selected)
1059 start-reading-selected-articles;
1060 junk-unread-articles;
1065 else if (key-pressed = '.')
1066 if (consolidated-menus) # same as hide-thread in Gnus
1067 select-thread-under-cursor;
1069 select-article-under-cursor;
1073 if (key-pressed == SPACE)
1074 if (more-pages-in-article)
1076 else if (more-selected-articles-to-read)
1081 * My precise need here would have been to limit files to Incoming*.
1082 One could think of some `nneething-only-files' variable, but I
1083 guess it would have been unacceptable if one was using many
1084 unrelated such nneething groups.
1086 A more useful approach would be to, in response to the `G D'
1087 prompt, be allowed to say something like: `~/.mail/Incoming*',
1088 somewhat limiting the top-level directory only (in case
1089 directories would be matched by the wildcard expression).
1091 * It would be nice if it also handled
1093 <URL:news://sunsite.auc.dk/>
1095 which should correspond to `B nntp RET sunsite.auc.dk' in *Group*.
1099 * Take a look at w3-menu.el in the Emacs-W3 distribution - this
1100 works out really well. Each menu is 'named' by a symbol that
1101 would be on a gnus-*-menus (where * would be whatever, but at
1102 least group, summary, and article versions) variable.
1104 So for gnus-summary-menus, I would set to '(sort mark dispose ...)
1106 A value of '1' would just put _all_ the menus in a single 'GNUS'
1107 menu in the main menubar. This approach works really well for
1110 * nndoc should take care to create unique Message-IDs for all its
1113 * gnus-score-followup-article only works when you have a summary
1114 buffer active. Make it work when posting from the group buffer as
1115 well. (message-sent-hook).
1117 * rewrite gnus-demon to use run-with-idle-timers.
1119 * * Enhancements to Gnus:
1123 * gnus-servers (gnus-start-server-buffer?)-enters Gnus and goes
1124 straight to the server buffer, without opening any connections to
1127 * gnus-server-read-server-newsrc-produces a buffer very similar to
1128 the group buffer, but with only groups from that server listed;
1129 quitting this buffer returns to the server buffer.
1131 * add a command to check the integrity of an nnfolder folder - go
1132 through the article numbers and see that there are no duplicates,
1135 * `unsmileyfy-buffer' to undo smileification.
1137 * a command to give all relevant info on an article, including all
1140 * when doing `-request-accept-article', the backends should do the
1141 nnmail duplicate checking.
1143 * allow `message-signature-file' to be a function to return the
1144 value of the signature file.
1146 * In addition, I would love it if I could configure message-tab so
1147 that it could call `bbdb-complete-name' in other headers. So,
1148 some sort of interface like
1150 (setq message-tab-alist '((message-header-regexp
1151 message-expand-group) ("^\\(To\\|[cC]c\\|[bB]cc\\)"
1152 bbdb-complete-name)))
1154 then you could run the relevant function to complete the
1155 information in the header
1157 * cache the newsgroups file locally to avoid reloading it all the
1160 * a command to import a buffer into a group.
1162 * nnweb should allow fetching by Message-ID from servers.
1164 * point in the article buffer doesn't always go to the beginning of
1165 the buffer when selecting new articles.
1167 * a command to process mark all unread articles.
1169 * `gnus-gather-threads-by-references-and-subject' - first do
1170 gathering by references, and then go through the dummy roots and
1171 do more gathering by subject.
1173 * gnus-uu-mark-in-numerical-order - process mark articles in
1174 article numerical order.
1176 * (gnus-thread-total-score (gnus-id-to-thread (mail-header-id
1177 (gnus-summary-article-header)))) bind to a key.
1179 * sorting by score is wrong when using sparse threads.
1181 * a command to fetch an arbitrary article - without having to be in
1184 * a new nncvs backend. Each group would show an article, using
1185 version branches as threading, checkin date as the date, etc.
1187 * http://www.dejanews.com/forms/dnsetfilter_exp.html ? This filter
1188 allows one to construct advance queries on the Dejanews database
1189 such as specifying start and end dates, subject, author, and/or
1192 * new Date header scoring type - older, newer
1194 * use the summary toolbar in the article buffer.
1196 * a command to fetch all articles that are less than X days old.
1198 * in pick mode, `q' should save the list of selected articles in the
1199 group info. The next time the group is selected, these articles
1200 will automatically get the process mark.
1202 * Isn't it possible to (also?) allow M-^ to automatically try the
1203 default server if it fails on the current server? (controlled by a
1204 user variable, (nil, t, 'ask)).
1206 * make it possible to cancel articles using the select method for
1209 * `gnus-summary-select-article-on-entry' or something. It'll
1210 default to t and will select whatever article decided by
1211 `gnus-auto-select-first'.
1213 * a new variable to control which selection commands should be
1214 unselecting. `first', `best', `next', `prev', `next-unread',
1215 `prev-unread' are candidates.
1217 * be able to select groups that have no articles in them to be able
1218 to post in them (using the current select method).
1220 * be able to post via DejaNews.
1222 * `x' should retain any sortings that have been performed.
1224 * allow the user to specify the precedence of the secondary marks.
1225 Also allow them to be displayed separately.
1227 * gnus-summary-save-in-pipe should concatenate the results from the
1228 processes when doing a process marked pipe.
1230 * a new match type, like Followup, but which adds Thread matches on
1231 all articles that match a certain From header.
1233 * a function that can be read from kill-emacs-query-functions to
1234 offer saving living summary buffers.
1236 * a function for selecting a particular group which will contain
1237 the articles listed in a list of article numbers/id's.
1239 * a battery of character translation functions to translate common
1240 Mac, MS (etc) characters into ISO 8859-1.
1242 (defun article-fix-m$word ()
1243 "Fix M$Word smartquotes in an article."
1246 (let ((buffer-read-only nil))
1247 (goto-char (point-min))
1248 (while (search-forward "\221" nil t)
1249 (replace-match "`" t t))
1250 (goto-char (point-min))
1251 (while (search-forward "\222" nil t)
1252 (replace-match "'" t t))
1253 (goto-char (point-min))
1254 (while (search-forward "\223" nil t)
1255 (replace-match "\"" t t))
1256 (goto-char (point-min))
1257 (while (search-forward "\224" nil t)
1258 (replace-match "\"" t t)))))
1262 * (add-hook 'gnus-exit-query-functions
1264 (if (and (file-exists-p nnmail-spool-file)
1265 (> (nnheader-file-size nnmail-spool-file) 0))
1266 (yes-or-no-p "New mail has arrived. Quit Gnus anyways? ")
1267 (y-or-n-p "Are you sure you want to quit Gnus? "))))
1269 * allow message-default-headers to be a function.
1271 * new Date score match types - < > = (etc) that take floating point
1272 numbers and match on the age of the article.
1274 * > > > If so, I've got one gripe: It seems that when I fire up gnus 5.2.25
1275 > > > under xemacs-19.14, it's creating a new frame, but is erasing the
1276 > > > buffer in the frame that it was called from =:-O
1278 > > Hm. How do you start up Gnus? From the toolbar or with
1279 > > `M-x gnus-other-frame'?
1281 > I normally start it up from the toolbar; at
1282 > least that's the way I've caught it doing the
1285 * all commands that react to the process mark should push the
1286 current process mark set onto the stack.
1288 * gnus-article-hide-pgp Selv ville jeg nok ha valgt
\e,Ae
\e(B slette den
1289 dersom teksten matcher
1290 "\\(This\s+\\)?[^ ]+ has been automatically signed by"
1291 og det er maks hundre tegn mellom match-end og ---linja. Men -det-
1292 er min type heuristikk og langt fra alles.
1294 * `gnus-subscribe-sorted' - insert new groups where they would have
1295 been sorted to if `gnus-group-sort-function' were run.
1297 * gnus-(group,summary)-highlight should respect any `face' text
1298 props set on the lines.
1300 * use run-with-idle-timer for gnus-demon instead of the home-brewed
1301 stuff for better reliability.
1303 * add a way to select which NoCeM type to apply - spam, troll, etc.
1305 * nndraft-request-group should tally auto-save files.
1307 * implement nntp-retry-on-break and nntp-command-timeout.
1309 * gnus-article-highlight-limit that says when not to highlight
1312 * (nnoo-set SERVER VARIABLE VALUE)
1318 * interrupitng agent fetching of articles should save articles.
1320 * command to open a digest group, and copy all the articles there
1321 to the current group.
1323 * a variable to disable article body highlights if there's more than
1324 X characters in the body.
1326 * handle 480/381 authinfo requests separately.
1328 * include the texi/dir file in the distribution.
1330 * format spec to "tab" to a position.
1332 * Move all prompting to the new `M-n' default style.
1334 * command to display all dormant articles.
1336 * gnus-auto-select-next makeover - list of things it should do.
1338 * a score match type that adds scores matching on From if From has
1339 replied to something someone else has said.
1341 * Read Netscape discussion groups:
1342 snews://secnews.netscape.com/netscape.communicator.unix
1344 * One command to edit the original version if an article, and one to
1345 edit the displayed version.
1347 * `T v' - make all process-marked articles the children of the
1350 * Switch from initial text to the new default text mechanism.
1352 * How about making it possible to expire local articles? Will it be
1353 possible to make various constraints on when an article can be
1354 expired, e.g. (read), (age > 14 days), or the more interesting
1355 (read & age > 14 days)?
1357 * New limit command--limit to articles that have a certain string in
1360 * Allow breaking lengthy NNTP commands.
1362 * gnus-article-highlight-limit, to disable highlighting in big
1365 * Editing an article should put the article to be edited in a
1366 special, unique buffer.
1368 * A command to send a mail to the admin-address group param.
1370 * A Date scoring type that will match if the article is less than a
1371 certain number of days old.
1373 * New spec: %~(tab 56) to put point on column 56
1375 * Allow Gnus Agent scoring to use normal score files.
1377 * Rething the Agent active file thing. `M-g' doesn't update the
1378 active file, for instance.
1380 * With dummy roots, `^' and then selecing the first article in any
1381 other dummy thread will make Gnus highlight the dummy root instead
1382 of the first article.
1384 * Propagate all group properties (marks, article numbers, etc) up to
1385 the topics for displaying.
1387 * `n' in the group buffer with topics should go to the next group
1388 with unread articles, even if that group is hidden in a topic.
1390 * gnus-posting-styles doesn't work in drafts.
1392 * gnus-summary-limit-include-cached is slow when there are many
1393 articles in the cache, since it regenerates big parts of the
1394 summary buffer for each article.
1396 * Implement gnus-batch-brew-soup.
1398 * Group parameters and summary commands for un/subscribing to mailing
1401 * Introduce nnmail-home-directory.
1403 * gnus-fetch-group and friends should exit Gnus when the user exits
1406 * The jingle is only played on the second invocation of Gnus.
1408 * Bouncing articles should do MIME.
1412 * Crossposted articles should "inherit" the % or mark from the other
1413 groups it has been crossposted to, or something. (Agent.)
1415 * If point is on a group that appears multiple times in topics, and
1416 you press `l', point will move to the first instance of the group.
1418 * A spec for the group line format to display the number of
1419 agent-downloaded articles in the group.
1421 * Some nntp servers never respond when posting, so there should be a
1422 timeout for all commands.
1424 * When stading on a topic line and `t'-ing, point goes to the last
1425 line. It should go somewhere else.
1427 * I'm having trouble accessing a newsgroup with a "+" in its name
1428 with Gnus. There is a new newsgroup on msnews.microsoft.com named
1429 "microsoft.public.multimedia.directx.html+time" that I'm trying to
1431 "nntp+msnews.microsoft.com:microsoft.public.multimedia.directx.html+time"
1432 but it gives an error that it cant access the group.
1434 Is the "+" character illegal in newsgroup names? Is there any way
1435 in Gnus to work around this? (gnus 5.6.45 - XEmacs 20.4)
1437 [It works in 5.8.8.]
1441 Subject: Answer to your mails 01.01.1999-01.05.1999
1442 --text follows this line--
1443 Sorry I killfiled you...
1445 Under the subject "foo", you wrote on 01.01.1999:
1447 Under the subject "foo1", you wrote on 01.01.1999:
1450 * Allow "orphan" scores in the Agent scoring.
1454 * - Edit article's summary line.
1456 - Sort lines in buffer by subject
1458 --> the old subject line appears in Summary buffer, not the one that was
1461 * Remove list identifiers from the subject in the summary when doing
1464 * Have the Agent write out articles, one by one, as it retrieves
1465 them, to avoid having to re-fetch them all if Emacs should crash
1468 * Be able to forward groups of messages as MIME digests.
1472 * nnweb should include the "get whole article" article when getting
1475 * When I type W W c (gnus-article-hide-citation) in the summary
1476 buffer, the citations are revealed, but the [+] buttons don't turn
1477 into [-] buttons. (If I click on one of the [+] buttons, it does
1478 turn into a [-] button.)
1482 * Perhaps there should be a command to "attach" a buffer of comments
1483 to a message? That is, `B WHATEVER', you're popped into a buffer,
1484 write something, end with `C-c C-c', and then the thing you've
1485 written gets to be the child of the message you're commenting.
1487 * Handle external-body parts.
1489 [done for some access types]
1491 * When renaming a group name, nnmail-split-history does not get the
1494 * Allow mail splitting on bodies when using advanced mail splitting.
1496 (body "whatever.text")
1498 * Be able to run `J u' from summary buffers.
1502 * Solve the halting problem.
1507 ;; coding: iso-2022-7bit
1508 ;; paragraph-separate: "[
\f]*$"