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