comparison man/gnus.texi @ 36038:1f4ba03b8ce9

* gnus.texi (Pterodactyl Gnus): Added. (Newest Features): Removed. Suggested by RMS.
author ShengHuo ZHU <zsh@cs.rochester.edu>
date Sun, 11 Feb 2001 17:56:04 +0000
parents b6487bb8750c
children 96074b87e9f6
comparison
equal deleted inserted replaced
36037:2710df16c53a 36038:1f4ba03b8ce9
814 * Conformity:: Gnus tries to conform to all standards. 814 * Conformity:: Gnus tries to conform to all standards.
815 * Emacsen:: Gnus can be run on a few modern Emacsen. 815 * Emacsen:: Gnus can be run on a few modern Emacsen.
816 * Gnus Development:: How Gnus is developed. 816 * Gnus Development:: How Gnus is developed.
817 * Contributors:: Oodles of people. 817 * Contributors:: Oodles of people.
818 * New Features:: Pointers to some of the new stuff in Gnus. 818 * New Features:: Pointers to some of the new stuff in Gnus.
819 * Newest Features:: Features so new that they haven't been written yet.
820 819
821 New Features 820 New Features
822 821
823 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. 822 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus.
824 * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. 823 * September Gnus:: The Thing Formally Known As Gnus 5.2/5.3.
825 * Red Gnus:: Third time best---Gnus 5.4/5.5. 824 * Red Gnus:: Third time best---Gnus 5.4/5.5.
826 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. 825 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7.
826 * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9.
827 827
828 Customization 828 Customization
829 829
830 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere. 830 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere.
831 * Slow Terminal Connection:: You run a remote Emacs. 831 * Slow Terminal Connection:: You run a remote Emacs.
18854 * Conformity:: Gnus tries to conform to all standards. 18854 * Conformity:: Gnus tries to conform to all standards.
18855 * Emacsen:: Gnus can be run on a few modern Emacsen. 18855 * Emacsen:: Gnus can be run on a few modern Emacsen.
18856 * Gnus Development:: How Gnus is developed. 18856 * Gnus Development:: How Gnus is developed.
18857 * Contributors:: Oodles of people. 18857 * Contributors:: Oodles of people.
18858 * New Features:: Pointers to some of the new stuff in Gnus. 18858 * New Features:: Pointers to some of the new stuff in Gnus.
18859 * Newest Features:: Features so new that they haven't been written yet.
18860 @end menu 18859 @end menu
18861 18860
18862 18861
18863 @node Gnus Versions 18862 @node Gnus Versions
18864 @subsection Gnus Versions 18863 @subsection Gnus Versions
19447 @subsection New Features 19446 @subsection New Features
19448 @cindex new features 19447 @cindex new features
19449 19448
19450 @menu 19449 @menu
19451 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. 19450 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus.
19452 * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. 19451 * September Gnus:: The Thing Formally Known As Gnus 5.2/5.3.
19453 * Red Gnus:: Third time best---Gnus 5.4/5.5. 19452 * Red Gnus:: Third time best---Gnus 5.4/5.5.
19454 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. 19453 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7.
19454 * Pterodactyl Gnus:: Pentad also starts with P, AKA Gnus 5.8/5.9.
19455 @end menu 19455 @end menu
19456 19456
19457 These lists are, of course, just @emph{short} overviews of the 19457 These lists are, of course, just @emph{short} overviews of the
19458 @emph{most} important new features. No, really. There are tons more. 19458 @emph{most} important new features. No, really. There are tons more.
19459 Yes, we have feeping creaturism in full effect. 19459 Yes, we have feeping creaturism in full effect.
19460
19461 19460
19462 @node ding Gnus 19461 @node ding Gnus
19463 @subsubsection (ding) Gnus 19462 @subsubsection (ding) Gnus
19464 19463
19465 New features in Gnus 5.0/5.1: 19464 New features in Gnus 5.0/5.1:
20096 @item 20095 @item
20097 Old dejanews archives can now be read by @code{nnweb}. 20096 Old dejanews archives can now be read by @code{nnweb}.
20098 20097
20099 @end itemize 20098 @end itemize
20100 20099
20101 20100 @node Pterodactyl Gnus
20102 @node Newest Features 20101 @subsubsection Pterodactyl Gnus
20103 @subsection Newest Features 20102
20104 @cindex todo 20103 New features in Gnus 5.8:
20105
20106 Also known as the @dfn{todo list}. Sure to be implemented before the
20107 next millennium.
20108
20109 Be afraid. Be very afraid.
20110
20111 (That a feature appears in this list doesn't necessarily mean that I've
20112 decided to actually implement it. It just means that I think it sounds
20113 interesting.)
20114
20115 (Yes, this is the actual, up-to-the-second todo list.)
20116 20104
20117 @itemize @bullet 20105 @itemize @bullet
20118 20106
20119 @item 20107 @item The mail-fetching functions have changed. See the manual for the
20120 I would like the zombie-page to contain an URL to the source of the 20108 many details. In particular, all procmail fetching variables are gone.
20121 latest version of gnus or some explanation on where to find it. 20109
20122 20110 If you used procmail like in
20123 @item 20111
20124 A way to continue editing the latest Message composition. 20112 @lisp
20125 20113 (setq nnmail-use-procmail t)
20126 @item 20114 (setq nnmail-spool-file 'procmail)
20127 @uref{http://www.sonicnet.com/feature/ari3/} 20115 (setq nnmail-procmail-directory "~/mail/incoming/")
20128 20116 (setq nnmail-procmail-suffix "\\.in")
20129 @item 20117 @end lisp
20130 facep is not declared. 20118
20131 20119 this now has changed to
20132 @item 20120
20133 Include a section in the manual on why the number of articles 20121 @lisp
20134 isn't the same in the group buffer and on the SPC prompt. 20122 (setq mail-sources
20135 20123 '((directory :path "~/mail/incoming/"
20136 @item 20124 :suffix ".in")))
20137 Interacting with rmail fcc isn't easy. 20125 @end lisp
20138 20126
20139 @item 20127 More information is available in the info doc at Select Methods ->
20140 @example 20128 Getting Mail -> Mail Sources
20141 Hypermail: 20129
20142 <URL:http://www.falch.no/people/pepper/DSSSL-Lite/archives/> 20130 @item Gnus is now a MIME-capable reader. This affects many parts of
20143 <URL:http://www.eit.com/software/hypermail/hypermail.html> 20131 Gnus, and adds a slew of new commands. See the manual for details.
20144 <URL:http://homer.ncm.com/> 20132
20145 <URL:http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/HTML_Converters/> 20133 @item Gnus has also been multilingualized. This also affects too
20146 http://www.uwsg.indiana.edu/hypermail/linux/kernel/9610/index.html 20134 many parts of Gnus to summarize here, and adds many new variables.
20147 <URL:http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html> 20135
20148 http://www.miranova.com/gnus-list/ 20136 @item @code{gnus-auto-select-first} can now be a function to be
20149 20137 called to position point.
20150 @end example 20138
20151 20139 @item The user can now decide which extra headers should be included in
20152 @item 20140 summary buffers and NOV files.
20153 @samp{^-- } is made into - in LaTeX. 20141
20154 20142 @item @code{gnus-article-display-hook} has been removed. Instead, a number
20155 @item 20143 of variables starting with @code{gnus-treat-} have been added.
20156 gnus-kill is much slower than it was in GNUS 4.1.3. 20144
20157 20145 @item The Gnus posting styles have been redone again and now works in a
20158 @item 20146 subtly different manner.
20159 when expunging articles on low score, the sparse nodes keep hanging on? 20147
20160 @item 20148 @item New web-based backends have been added: @code{nnslashdot},
20161 starting the first time seems to hang Gnus on some systems. Does 20149 @code{nnwarchive} and @code{nnultimate}. nnweb has been revamped,
20162 NEWGROUPS answer too fast? 20150 again, to keep up with ever-changing layouts.
20163 @item 20151
20164 nndir doesn't read gzipped files. 20152 @item Gnus can now read IMAP mail via @code{nnimap}.
20165 @item 20153
20166 FAQ doesn't have an up node?
20167 @item
20168 when moving mail from a procmail spool to the crash-box,
20169 the crash-box is only appropriate to one specific group.
20170 @item
20171 `t' `t' makes X-Faces disappear.
20172 @item
20173 nnmh-be-safe means that crossposted articles will
20174 be marked as unread.
20175 @item
20176 Orphan score entries don't show on "V t" score trace
20177 @item
20178 when clearing out data, the cache data should also be reset.
20179 @item
20180 rewrite gnus-summary-limit-children to be non-recursive
20181 to avoid exceeding lisp nesting on huge groups.
20182 @item
20183 expunged articles are counted when computing scores.
20184 @item
20185 implement gnus-batch-brew-soup
20186 @item
20187 ticked articles aren't easy to read in pick mode -- `n' and
20188 stuff just skips past them. Read articles are the same.
20189 @item
20190 topics that contain just groups with ticked
20191 articles aren't displayed.
20192 @item
20193 nndoc should always allocate unique Message-IDs.
20194 @item
20195 If there are mail groups the first time you use Gnus, Gnus'll
20196 make the mail groups killed.
20197 @item
20198 no "no news is good news" when using topics.
20199 @item
20200 when doing crosspost marking, the cache has to be consulted
20201 and articles have to be removed.
20202 @item
20203 nnweb should fetch complete articles when they are split into several
20204 parts.
20205 @item
20206 scoring on head immediate doesn't work.
20207 @item
20208 finding short score file names takes forever.
20209 @item
20210 canceling articles in foreign groups.
20211 @item
20212 nntp-open-rlogin no longer works.
20213 @item
20214 C-u C-x C-s (Summary) switches to the group buffer.
20215 @item
20216 move nnmail-split-history out to the backends.
20217 @item
20218 nnweb doesn't work properly.
20219 @item
20220 using a virtual server name as `gnus-select-method' doesn't work?
20221 @item
20222 when killing/yanking a group from one topic to another in a slave, the
20223 master will yank it first to one topic and then add it to another.
20224 Perhaps.
20225
20226 @item
20227 warn user about `=' redirection of a group in the active file?
20228 @item
20229 take over the XEmacs menubar and offer a toggle between the XEmacs
20230 bar and the Gnus bar.
20231 @item
20232 @example
20233 push active file and NOV file parsing down into C code.
20234 `(canonize-message-id id)'
20235 `(mail-parent-message-id references n)'
20236 `(parse-news-nov-line &optional dependency-hashtb)'
20237 `(parse-news-nov-region beg end &optional dependency-hashtb fullp)'
20238 `(parse-news-active-region beg end hashtb)'
20239
20240 @end example
20241
20242 @item
20243 nnml .overview directory with splits.
20244 @item
20245 asynchronous cache
20246 @item
20247 postponed commands.
20248 @item
20249 the selected article show have its Subject displayed in its summary line.
20250 @item
20251 when entering groups, get the real number of unread articles from
20252 the server?
20253 @item
20254 sort after gathering threads -- make false roots have the
20255 headers of the oldest orphan with a 0 article number?
20256 @item
20257 nndoc groups should inherit the score files of their parents? Also
20258 inherit copy prompts and save files.
20259 @item
20260 command to start up Gnus (if not running) and enter a mail mode buffer.
20261 @item
20262 allow editing the group description from the group buffer
20263 for backends that support that.
20264 @item
20265 gnus-hide,show-all-topics
20266 @item
20267 groups and sub-topics should be allowed to mingle inside each topic,
20268 and not just list all subtopics at the end.
20269 @item
20270 a command to remove all read articles that are not needed to connect
20271 threads -- `gnus-summary-limit-to-sparse-unread'?
20272 @item
20273 a variable to turn off limiting/cutting of threads in the tree buffer.
20274 @item
20275 a variable to limit how many files are uudecoded.
20276 @item
20277 add zombie groups to a special "New Groups" topic.
20278 @item
20279 server mode command: close/open all connections
20280 @item
20281 put a file date in gnus-score-alist and check whether the file
20282 has been changed before using it.
20283 @item
20284 on exit from a digest group, go to the next article in the parent group.
20285 @item
20286 hide (sub)threads with low score.
20287 @item
20288 when expiring, remove all marks from expired articles.
20289 @item
20290 gnus-summary-limit-to-body
20291 @item
20292 a regexp alist that says what level groups are to be subscribed
20293 on. Eg. -- `(("nnml:" . 1))'.
20294 @item
20295 easier interface to nnkiboze to create ephemeral groups that
20296 contain groups that match a regexp.
20297 @item
20298 allow newlines in <URL:> urls, but remove them before using
20299 the URL.
20300 @item
20301 If there is no From line, the mail backends should fudge one from the
20302 "From " line.
20303 @item
20304 fuzzy simplifying should strip all non-alpha-numerical info
20305 from subject lines.
20306 @item
20307 gnus-soup-brew-soup-with-high-scores.
20308 @item
20309 nntp-ping-before-connect
20310 @item
20311 command to check whether NOV is evil. "list overview.fmt".
20312 @item
20313 when entering a group, Gnus should look through the score
20314 files very early for `local' atoms and set those local variables.
20315 @item
20316 message annotations.
20317 @item
20318 topics are always yanked before groups, and that's not good.
20319 @item
20320 (set-extent-property extent 'help-echo "String to display in minibuf")
20321 to display help in the minibuffer on buttons under XEmacs.
20322 @item
20323 allow group line format spec to say how many articles there
20324 are in the cache.
20325 @item
20326 AUTHINFO GENERIC
20327 @item
20328 `run-with-idle-timer' in gnus-demon.
20329 @item
20330 stop using invisible text properties and start using overlays instead
20331 @item
20332 C-c C-f C-e to add an Expires header.
20333 @item
20334 go from one group to the next; everything is expunged; go to the
20335 next group instead of going to the group buffer.
20336 @item
20337 gnus-renumber-cache -- to renumber the cache using "low" numbers.
20338 @item
20339 record topic changes in the dribble buffer.
20340 @item
20341 `nnfolder-generate-active-file' should look at the folders it
20342 finds and generate proper active ranges.
20343 @item
20344 nneething-look-in-files-for-article-heads variable to control
20345 whether nneething should sniff all files in the directories.
20346 @item
20347 gnus-fetch-article -- start Gnus, enter group, display article
20348 @item
20349 gnus-dont-move-articles-to-same-group variable when respooling.
20350 @item
20351 when messages are crossposted between several auto-expirable groups,
20352 articles aren't properly marked as expirable.
20353 @item
20354 nneething should allow deletion/moving.
20355 @item
20356 TAB on the last button should go to the first button.
20357 @item
20358 if the car of an element in `mail-split-methods' is a function,
20359 and the function returns non-nil, use that as the name of the group(s) to
20360 save mail in.
20361 @item
20362 command for listing all score files that have been applied.
20363 @item
20364 a command in the article buffer to return to `summary' config.
20365 @item
20366 `gnus-always-post-using-current-server' -- variable to override
20367 `C-c C-c' when posting.
20368 @item
20369 nnmail-group-spool-alist -- says where each group should use
20370 as a spool file.
20371 @item
20372 when an article is crossposted to an auto-expirable group, the article
20373 should be marker as expirable.
20374 @item
20375 article mode command/menu for "send region as URL to browser".
20376 @item
20377 on errors, jump to info nodes that explain the error. For instance,
20378 on invalid From headers, or on error messages from the nntp server.
20379 @item
20380 when gathering threads, make the article that has no "Re: " the parent.
20381 Also consult Date headers.
20382 @item
20383 a token in splits to call shrink-window-if-larger-than-buffer
20384 @item
20385 `1 0 A M' to do matches on the active hashtb.
20386 @item
20387 duplicates -- command to remove Gnus-Warning header, use the read
20388 Message-ID, delete the "original".
20389 @item
20390 when replying to several messages at once, put the "other" message-ids
20391 into a See-Also header.
20392 @item
20393 support setext: @uref{http://www.bsdi.com/setext/}
20394 @item
20395 support ProleText: @uref{http://proletext.clari.net/prole/proletext.html}
20396 @item
20397 when browsing a foreign server, the groups that are already subscribed
20398 should be listed as such and not as "K".
20399 @item
20400 generate font names dynamically.
20401 @item
20402 score file mode auto-alist.
20403 @item
20404 allow nndoc to change/add/delete things from documents. Implement
20405 methods for each format for adding an article to the document.
20406 @item
20407 `gnus-fetch-old-headers' `all' value to incorporate
20408 absolutely all headers there is.
20409 @item
20410 function like `|', but concatenate all marked articles
20411 and pipe them to the process.
20412 @item
20413 cache the list of killed (or active) groups in a separate file. Update
20414 the file whenever we read the active file or the list
20415 of killed groups in the .eld file reaches a certain length.
20416 @item
20417 function for starting to edit a file to put into
20418 the current mail group.
20419 @item
20420 score-find-trace should display the total score of the article.
20421 @item
20422 "ghettozie" -- score on Xref header and nix it out after using it
20423 to avoid marking as read in other groups it has been crossposted to.
20424 @item
20425 look at procmail splitting. The backends should create
20426 the groups automatically if a spool file exists for that group.
20427 @item
20428 function for backends to register themselves with Gnus.
20429 @item
20430 when replying to several process-marked articles,
20431 have all the From end up in Cc headers? Variable to toggle.
20432 @item
20433 command to delete a crossposted mail article from all
20434 groups it has been mailed to.
20435 @item
20436 `B c' and `B m' should be crosspost aware.
20437 @item
20438 hide-pgp should also hide PGP public key blocks.
20439 @item
20440 Command in the group buffer to respool process-marked groups.
20441 @item
20442 `gnus-summary-find-matching' should accept
20443 pseudo-"headers" like "body", "head" and "all"
20444 @item
20445 When buttifying <URL: > things, all white space (including
20446 newlines) should be ignored.
20447 @item
20448 Process-marking all groups in a topic should process-mark
20449 groups in subtopics as well.
20450 @item
20451 Add non-native groups to the list of killed groups when killing them.
20452 @item
20453 nntp-suggest-kewl-config to probe the nntp server and suggest
20454 variable settings.
20455 @item
20456 add edit and forward secondary marks.
20457 @item
20458 nnml shouldn't visit its .overview files.
20459 @item
20460 allow customizing sorting within gathered threads.
20461 @item
20462 `B q' shouldn't select the current article.
20463 @item
20464 nnmbox should support a newsgroups file for descriptions.
20465 @item
20466 allow fetching mail from several pop servers.
20467 @item
20468 Be able to specify whether the saving commands save the original
20469 or the formatted article.
20470 @item
20471 a command to reparent with the child process-marked (cf. `T ^'.).
20472 @item
20473 I think the possibility to send a password with nntp-open-rlogin
20474 should be a feature in Red Gnus.
20475 @item
20476 The `Z n' command should be possible to execute from a mouse click.
20477 @item
20478 more limiting functions -- date, etc.
20479 @item
20480 be able to limit on a random header; on body; using reverse matches.
20481 @item
20482 a group parameter (`absofucking-total-expiry') that will make Gnus expire
20483 even unread articles.
20484 @item
20485 a command to print the article buffer as postscript.
20486 @item
20487 variable to disable password fetching when opening by nntp-open-telnet.
20488 @item
20489 manual: more example servers -- nntp with rlogin, telnet
20490 @item
20491 checking for bogus groups should clean topic alists as well.
20492 @item
20493 canceling articles in foreign groups.
20494 @item
20495 article number in folded topics isn't properly updated by
20496 Xref handling.
20497 @item
20498 Movement in the group buffer to the next unread group should go to the
20499 next closed topic with unread messages if no group can be found.
20500 @item
20501 Extensive info pages generated on the fly with help everywhere --
20502 in the "*Gnus edit*" buffers, for instance.
20503 @item
20504 Topic movement commands -- like thread movement. Up, down, forward, next.
20505 @item
20506 a way to tick/mark as read Gcc'd articles.
20507 @item
20508 a way to say that all groups within a specific topic comes
20509 from a particular server? Hm.
20510 @item
20511 `gnus-article-fill-if-long-lines' -- a function to fill
20512 the article buffer if there are any looong lines there.
20513 @item
20514 `T h' should jump to the parent topic and fold it.
20515 @item
20516 a command to create an ephemeral nndoc group out of a file,
20517 and then splitting it/moving it to some other group/backend.
20518 @item
20519 a group parameter for nnkiboze groups that says that
20520 all kibozed articles should be entered into the cache.
20521 @item
20522 It should also probably be possible to delimit what
20523 `gnus-jog-cache' does -- for instance, work on just some groups, or on
20524 some levels, and entering just articles that have a score higher than
20525 a certain number.
20526 @item
20527 nnfolder should append to the folder instead of re-writing
20528 the entire folder to disk when accepting new messages.
20529 @item
20530 allow all backends to do the proper thing with .gz files.
20531 @item
20532 a backend for reading collections of babyl files nnbabylfolder?
20533 @item
20534 a command for making the native groups into foreign groups.
20535 @item
20536 server mode command for clearing read marks from all groups
20537 from a server.
20538 @item
20539 when following up multiple articles, include all To, Cc, etc headers
20540 from all articles.
20541 @item
20542 a command for deciding what the total score of the current
20543 thread is. Also a way to highlight based on this.
20544 @item
20545 command to show and edit group scores
20546 @item
20547 a gnus-tree-minimize-horizontal to minimize tree buffers
20548 horizontally.
20549 @item
20550 command to generate nnml overview file for one group.
20551 @item
20552 `C-u C-u a' -- prompt for many crossposted groups.
20553 @item
20554 keep track of which mail groups have received new articles (in this session).
20555 Be able to generate a report and perhaps do some marking in the group
20556 buffer.
20557 @item
20558 gnus-build-sparse-threads to a number -- build only sparse threads
20559 that are of that length.
20560 @item
20561 have nnmh respect mh's unseen sequence in .mh_profile.
20562 @item
20563 cache the newsgroups descriptions locally.
20564 @item
20565 asynchronous posting under nntp.
20566 @item
20567 be able to control word adaptive scoring from the score files.
20568 @item
20569 a variable to make `C-c C-c' post using the "current" select method.
20570 @item
20571 `limit-exclude-low-scored-articles'.
20572 @item
20573 if `gnus-summary-show-thread' is a number, hide threads that have
20574 a score lower than this number.
20575 @item
20576 split newsgroup subscription variable up into "order" and "method".
20577 @item
20578 buttonize ange-ftp file names.
20579 @item
20580 a command to make a duplicate copy of the current article
20581 so that each copy can be edited separately.
20582 @item
20583 nnweb should allow fetching from the local nntp server.
20584 @item
20585 record the sorting done in the summary buffer so that
20586 it can be repeated when limiting/regenerating the buffer.
20587 @item
20588 nnml-generate-nov-databses should generate for
20589 all nnml servers.
20590 @item
20591 when the user does commands in the group buffer, check
20592 the modification time of the .newsrc.eld file and use
20593 ask-user-about-supersession-threat. Also warn when trying
20594 to save .newsrc.eld and it has changed.
20595 @item
20596 M-g on a topic will display all groups with 0 articles in
20597 the topic.
20598 @item
20599 command to remove all topic stuff.
20600 @item
20601 allow exploding incoming digests when reading incoming mail
20602 and splitting the resulting digests.
20603 @item
20604 nnsoup shouldn't set the `message-' variables.
20605 @item
20606 command to nix out all nnoo state information.
20607 @item
20608 nnmail-process-alist that calls functions if group names
20609 matches an alist -- before saving.
20610 @item
20611 use buffer-invisibility-spec everywhere for hiding text.
20612 @item
20613 variable to activate each group before entering them
20614 to get the (new) number of articles. `gnus-activate-before-entering'.
20615 @item
20616 command to fetch a Message-ID from any buffer, even
20617 starting Gnus first if necessary.
20618 @item
20619 when posting and checking whether a group exists or not, just
20620 ask the nntp server instead of relying on the active hashtb.
20621 @item
20622 buttonize the output of `C-c C-a' in an apropos-like way.
20623 @item
20624 `G p' should understand process/prefix, and allow editing
20625 of several groups at once.
20626 @item
20627 command to create an ephemeral nnvirtual group that
20628 matches some regexp(s).
20629 @item
20630 nndoc should understand "Content-Type: message/rfc822" forwarded messages.
20631 @item
20632 it should be possible to score "thread" on the From header.
20633 @item
20634 hitting RET on a "gnus-uu-archive" pseudo article should unpack it.
20635 @item
20636 `B i' should display the article at once in the summary buffer.
20637 @item
20638 remove the "*" mark at once when unticking an article.
20639 @item
20640 `M-s' should highlight the matching text.
20641 @item
20642 when checking for duplicated mails, use Resent-Message-ID if present.
20643 @item
20644 killing and yanking groups in topics should be better. If killing one copy
20645 of a group that exists in multiple topics, only that copy should
20646 be removed. Yanking should insert the copy, and yanking topics
20647 should be possible to be interspersed with the other yankings.
20648 @item
20649 command for enter a group just to read the cached articles. A way to say
20650 "ignore the nntp connection; just read from the cache."
20651 @item
20652 `X u' should decode base64 articles.
20653 @item
20654 a way to hide all "inner" cited text, leaving just the most
20655 recently cited text.
20656 @item
20657 nnvirtual should be asynchronous.
20658 @item
20659 after editing an article, gnus-original-article-buffer should
20660 be invalidated.
20661 @item
20662 there should probably be a way to make Gnus not connect to the
20663 server and just read the articles in the server
20664 @item
20665 allow a `set-default' (or something) to change the default
20666 value of nnoo variables.
20667 @item
20668 a command to import group infos from a .newsrc.eld file.
20669 @item
20670 groups from secondary servers have the entire select method
20671 listed in each group info.
20672 @item
20673 a command for just switching from the summary buffer to the group
20674 buffer.
20675 @item
20676 a way to specify that some incoming mail washing functions
20677 should only be applied to some groups.
20678 @item
20679 Message `C-f C-t' should ask the user whether to heed
20680 mail-copies-to: never.
20681 @item
20682 new group parameter -- `post-to-server' that says to post
20683 using the current server. Also a variable to do the same.
20684 @item
20685 the slave dribble files should auto-save to the slave file names.
20686 @item
20687 a group parameter that says what articles to display on group entry, based
20688 on article marks.
20689 @item
20690 a way to visually distinguish slave Gnusae from masters. (Whip instead
20691 of normal logo?)
20692 @item
20693 Use DJ Bernstein "From " quoting/dequoting, where applicable.
20694 @item
20695 Why is hide-citation-maybe and hide-citation different? Also
20696 clear up info.
20697 @item
20698 group user-defined meta-parameters.
20699
20700
20701
20702 From: John Griffith <griffith@@sfs.nphil.uni-tuebingen.de>
20703 @item
20704 I like the option for trying to retrieve the FAQ for a group and I was
20705 thinking it would be great if for those newsgroups that had archives
20706 you could also try to read the archive for that group. Part of the
20707 problem is that archives are spread all over the net, unlike FAQs.
20708 What would be best I suppose is to find the one closest to your site.
20709
20710 In any case, there is a list of general news group archives at @*
20711 @uref{ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html}
20712
20713
20714
20715
20716 @item
20717 @example
20718 From: Jason L Tibbitts III <tibbs@@hpc.uh.edu>
20719 (add-hook 'gnus-select-group-hook
20720 (lambda ()
20721 (gnus-group-add-parameter group
20722 (cons 'gnus-group-date-last-entered (list (current-time-string))))))
20723
20724 (defun gnus-user-format-function-d (headers)
20725 "Return the date the group was last read."
20726 (cond ((car (gnus-group-get-parameter gnus-tmp-group 'gnus-group-date-last-entered)))
20727 (t "")))
20728 @end example
20729
20730 @item
20731 tanken var at når du bruker `gnus-startup-file' som prefix (FOO) til å lete
20732 opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den være en
20733 liste hvor du bruker hvert element i listen som FOO, istedet. da kunne man
20734 hatt forskjellige serveres startup-filer forskjellige steder.
20735
20736
20737 @item
20738 LMI> Well, nnbabyl could alter the group info to heed labels like
20739 LMI> answered and read, I guess.
20740
20741 It could also keep them updated (the same for the Status: header of
20742 unix mbox files).
20743
20744 They could be used like this:
20745
20746
20747 @example
20748 `M l <name> RET' add label <name> to current message.
20749 `M u <name> RET' remove label <name> from current message.
20750 `/ l <expr> RET' limit summary buffer according to <expr>.
20751
20752 <expr> would be a boolean expression on the labels, e.g.
20753
20754 `/ l bug & !fixed RET'
20755 @end example
20756
20757 would show all the messages which are labeled `bug' but not labeled
20758 `fixed'.
20759
20760 One could also imagine the labels being used for highlighting, or
20761 affect the summary line format.
20762
20763
20764 @item
20765 Sender: abraham@@dina.kvl.dk
20766
20767 I'd like a gnus-find-file which work like find file, except that it
20768 would recognize things that looks like messages or folders:
20769
20770 - If it is a directory containing numbered files, create an nndir
20771 summary buffer.
20772
20773 - For other directories, create a nneething summary buffer.
20774
20775 - For files matching "\\`From ", create a nndoc/mbox summary.
20776
20777 - For files matching "\\`BABYL OPTIONS:", create a nndoc/baby summary.
20778
20779 - For files matching "\\`[^ \t\n]+:", create an *Article* buffer.
20780
20781 - For other files, just find them normally.
20782
20783 I'd like `nneething' to use this function, so it would work on a
20784 directory potentially containing mboxes or babyl files.
20785
20786 @item
20787 Please send a mail to bwarsaw@@cnri.reston.va.us (Barry A. Warsaw) and
20788 tell him what you are doing.
20789
20790 @item
20791 Currently, I get prompted:
20792
20793 decend into sci?
20794 - type y
20795 decend into sci.something ?
20796 - type n
20797 decend into ucd?
20798
20799 The problem above is that since there is really only one subsection of
20800 science, shouldn't it prompt you for only descending sci.something? If
20801 there was a sci.somethingelse group or section, then it should prompt
20802 for sci? first the sci.something? then sci.somethingelse?...
20803
20804 @item
20805 Ja, det burde være en måte å si slikt. Kanskje en ny variabel?
20806 `gnus-use-few-score-files'? Så kunne score-regler legges til den
20807 "mest" lokale score-fila. F. eks. ville no-gruppene betjenes av
20808 "no.all.SCORE", osv.
20809
20810 @item
20811 What i want is for Gnus to treat any sequence or combination of the following
20812 as a single spoiler warning and hide it all, replacing it with a "Next Page"
20813 button:
20814
20815
20816 ^L's
20817
20818 more than n blank lines
20819
20820 more than m identical lines
20821 (which should be replaced with button to show them)
20822
20823 any whitespace surrounding any of the above
20824
20825
20826 @item
20827 Well, we could allow a new value to `gnus-thread-ignore-subject' --
20828 `spaces', or something. (We could even default to that.) And then
20829 subjects that differ in white space only could be considered the
20830 "same" subject for threading purposes.
20831
20832 @item
20833 Modes to preprocess the contents (e.g. jka-compr) use the second form
20834 "(REGEXP FUNCTION NON-NIL)" while ordinary modes (e.g. tex) use the first
20835 form "(REGEXP . FUNCTION)", so you could use it to distinguish between
20836 those two types of modes. (auto-modes-alist, insert-file-contents-literally.)
20837
20838 @item
20839 Under XEmacs -- do funny article marks:
20840 tick - thumb tack
20841 killed - skull
20842 soup - bowl of soup
20843 score below - dim light bulb
20844 score over - bright light bulb
20845
20846 @item
20847 Yes. I think the algorithm is as follows:
20848
20849 @example
20850 Group-mode
20851
20852 show-list-of-articles-in-group
20853 if (key-pressed == SPACE)
20854 if (no-more-articles-in-group-to-select)
20855 if (articles-selected)
20856 start-reading-selected-articles;
20857 junk-unread-articles;
20858 next-group;
20859 else
20860 show-next-page;
20861
20862 else if (key-pressed = '.')
20863 if (consolidated-menus) # same as hide-thread in Gnus
20864 select-thread-under-cursor;
20865 else
20866 select-article-under-cursor;
20867
20868
20869 Article-mode
20870 if (key-pressed == SPACE)
20871 if (more-pages-in-article)
20872 next-page;
20873 else if (more-selected-articles-to-read)
20874 next-article;
20875 else
20876 next-group;
20877 @end example
20878
20879 @item
20880 My precise need here would have been to limit files to Incoming*.
20881 One could think of some `nneething-only-files' variable, but I guess
20882 it would have been unacceptable if one was using many unrelated such
20883 nneething groups.
20884
20885 A more useful approach would be to, in response to the `G D' prompt, be
20886 allowed to say something like: `~/.mail/Incoming*', somewhat limiting
20887 the top-level directory only (in case directories would be matched by
20888 the wildcard expression).
20889
20890 @item
20891 It would be nice if it also handled
20892
20893 <URL:news://sunsite.auc.dk/>
20894
20895 which should correspond to `B nntp RET sunsite.auc.dk' in *Group*.
20896
20897
20898 @item
20899
20900 Take a look at w3-menu.el in the Emacs-W3 distribution - this works out
20901 really well. Each menu is 'named' by a symbol that would be on a
20902 gnus-*-menus (where * would be whatever, but at least group, summary, and
20903 article versions) variable.
20904
20905 So for gnus-summary-menus, I would set to '(sort mark dispose ...)
20906
20907 A value of '1' would just put _all_ the menus in a single 'GNUS' menu in
20908 the main menubar. This approach works really well for Emacs-W3 and VM.
20909
20910
20911 @item
20912 nndoc should take care to create unique Message-IDs for all its
20913 articles.
20914 @item
20915 gnus-score-followup-article only works when you have a summary buffer
20916 active. Make it work when posting from the group buffer as well.
20917 (message-sent-hook).
20918 @item
20919 rewrite gnus-demon to use run-with-idle-timers.
20920
20921 @item
20922 * Enhancements to Gnus:
20923
20924 Add two commands:
20925
20926 * gnus-servers (gnus-start-server-buffer?)--enters Gnus and goes
20927 straight to the server buffer, without opening any connections to
20928 servers first.
20929
20930 * gnus-server-read-server-newsrc--produces a buffer very similar to
20931 the group buffer, but with only groups from that server listed;
20932 quitting this buffer returns to the server buffer.
20933
20934 @item
20935 add a command to check the integrity of an nnfolder folder --
20936 go through the article numbers and see that there are no duplicates,
20937 and stuff.
20938
20939 @item
20940 `unsmileyfy-buffer' to undo smileification.
20941
20942 @item
20943 a command to give all relevant info on an article, including all
20944 secondary marks.
20945
20946 @item
20947 when doing `-request-accept-article', the backends should do
20948 the nnmail duplicate checking.
20949
20950 @item
20951 allow `message-signature-file' to be a function to return the
20952 value of the signature file.
20953
20954 @item
20955 In addition, I would love it if I could configure message-tab so that it
20956 could call `bbdb-complete-name' in other headers. So, some sort of
20957 interface like
20958
20959 (setq message-tab-alist
20960 '((message-header-regexp message-expand-group)
20961 ("^\\(To\\|[cC]c\\|[bB]cc\\)" bbdb-complete-name)))
20962
20963 then you could run the relevant function to complete the information in
20964 the header
20965
20966 @item
20967 cache the newsgroups file locally to avoid reloading it all the time.
20968
20969 @item
20970 a command to import a buffer into a group.
20971
20972 @item
20973 nnweb should allow fetching by Message-ID from servers.
20974
20975 @item
20976 point in the article buffer doesn't always go to the
20977 beginning of the buffer when selecting new articles.
20978
20979 @item
20980 a command to process mark all unread articles.
20981
20982 @item
20983 `gnus-gather-threads-by-references-and-subject' -- first
20984 do gathering by references, and then go through the dummy roots and
20985 do more gathering by subject.
20986
20987 @item
20988 gnus-uu-mark-in-numerical-order -- process mark articles in
20989 article numerical order.
20990
20991 @item
20992 (gnus-thread-total-score
20993 (gnus-id-to-thread (mail-header-id (gnus-summary-article-header))))
20994 bind to a key.
20995
20996 @item
20997 sorting by score is wrong when using sparse threads.
20998
20999 @item
21000 a command to fetch an arbitrary article -- without having to be
21001 in the summary buffer.
21002
21003 @item
21004 a new nncvs backend. Each group would show an article, using
21005 version branches as threading, checkin date as the date, etc.
21006
21007 @item
21008 @uref{http://www.dejanews.com/forms/dnsetfilter_exp.html}?
21009 This filter allows one to construct advance queries on the Dejanews
21010 database such as specifying start and end dates, subject, author,
21011 and/or newsgroup name.
21012
21013 @item
21014 new Date header scoring type -- older, newer
21015
21016 @item
21017 use the summary toolbar in the article buffer.
21018
21019 @item
21020 a command to fetch all articles that are less than X days old.
21021
21022 @item
21023 in pick mode, `q' should save the list of selected articles in the
21024 group info. The next time the group is selected, these articles
21025 will automatically get the process mark.
21026
21027 @item
21028 Isn't it possible to (also?) allow M-^ to automatically try the
21029 default server if it fails on the current server? (controlled by a
21030 user variable, (nil, t, 'ask)).
21031
21032 @item
21033 make it possible to cancel articles using the select method for the
21034 current group.
21035
21036 @item
21037 `gnus-summary-select-article-on-entry' or something. It'll default
21038 to t and will select whatever article decided by `gnus-auto-select-first'.
21039
21040 @item
21041 a new variable to control which selection commands should be unselecting.
21042 `first', `best', `next', `prev', `next-unread', `prev-unread' are
21043 candidates.
21044
21045 @item
21046 be able to select groups that have no articles in them
21047 to be able to post in them (using the current select method).
21048
21049 @item
21050 be able to post via DejaNews.
21051
21052 @item
21053 `x' should retain any sortings that have been performed.
21054
21055 @item
21056 allow the user to specify the precedence of the secondary marks. Also
21057 allow them to be displayed separately.
21058
21059 @item
21060 gnus-summary-save-in-pipe should concatenate the results from
21061 the processes when doing a process marked pipe.
21062
21063 @item
21064 a new match type, like Followup, but which adds Thread matches on all
21065 articles that match a certain From header.
21066
21067 @item
21068 a function that can be read from kill-emacs-query-functions to offer
21069 saving living summary buffers.
21070
21071 @item
21072 a function for selecting a particular group which will contain
21073 the articles listed in a list of article numbers/id's.
21074
21075 @item
21076 a battery of character translation functions to translate common
21077 Mac, MS (etc) characters into ISO 8859-1.
21078
21079 @example
21080 (defun article-fix-m$word ()
21081 "Fix M$Word smartquotes in an article."
21082 (interactive)
21083 (save-excursion
21084 (let ((buffer-read-only nil))
21085 (goto-char (point-min))
21086 (while (search-forward "\221" nil t)
21087 (replace-match "`" t t))
21088 (goto-char (point-min))
21089 (while (search-forward "\222" nil t)
21090 (replace-match "'" t t))
21091 (goto-char (point-min))
21092 (while (search-forward "\223" nil t)
21093 (replace-match "\"" t t))
21094 (goto-char (point-min))
21095 (while (search-forward "\224" nil t)
21096 (replace-match "\"" t t)))))
21097 @end example
21098
21099 @item
21100 @example
21101 (add-hook 'gnus-exit-query-functions
21102 (lambda ()
21103 (if (and (file-exists-p nnmail-spool-file)
21104 (> (nnheader-file-size nnmail-spool-file) 0))
21105 (yes-or-no-p "New mail has arrived. Quit Gnus anyways? ")
21106 (y-or-n-p "Are you sure you want to quit Gnus? "))))
21107 @end example
21108
21109 @item
21110 allow message-default-headers to be a function.
21111
21112 @item
21113 new Date score match types -- < > = (etc) that take floating point
21114 numbers and match on the age of the article.
21115
21116 @item
21117 @example
21118 > > > If so, I've got one gripe: It seems that when I fire up gnus 5.2.25
21119 > > > under xemacs-19.14, it's creating a new frame, but is erasing the
21120 > > > buffer in the frame that it was called from =:-O
21121 >
21122 > > Hm. How do you start up Gnus? From the toolbar or with
21123 > > `M-x gnus-other-frame'?
21124 >
21125 > I normally start it up from the toolbar; at
21126 > least that's the way I've caught it doing the
21127 > deed before.
21128 @end example
21129
21130 @item
21131 all commands that react to the process mark should push
21132 the current process mark set onto the stack.
21133
21134 @item
21135 gnus-article-hide-pgp
21136 Selv ville jeg nok ha valgt å slette den dersom teksten matcher
21137 @example
21138 "\\(This\s+\\)?[^ ]+ has been automatically signed by"
21139 @end example
21140 og det er maks hundre tegn mellom match-end og ----linja. Men -det-
21141 er min type heuristikk og langt fra alles.
21142
21143 @item
21144 `gnus-subscribe-sorted' -- insert new groups where they would have been
21145 sorted to if `gnus-group-sort-function' were run.
21146
21147 @item
21148 gnus-(group,summary)-highlight should respect any `face' text props set
21149 on the lines.
21150
21151 @item
21152 use run-with-idle-timer for gnus-demon instead of the
21153 home-brewed stuff for better reliability.
21154
21155 @item
21156 add a way to select which NoCeM type to apply -- spam, troll, etc.
21157
21158 @item
21159 nndraft-request-group should tally auto-save files.
21160
21161 @item
21162 implement nntp-retry-on-break and nntp-command-timeout.
21163
21164 @item
21165 gnus-article-highlight-limit that says when not to highlight (long)
21166 articles.
21167
21168 @item
21169 (nnoo-set SERVER VARIABLE VALUE)
21170
21171 @item
21172 nn*-spool-methods
21173
21174 @item
21175 interrupitng agent fetching of articles should save articles.
21176
21177 @item
21178 command to open a digest group, and copy all the articles there to the
21179 current group.
21180
21181 @item
21182 a variable to disable article body highlights if there's more than
21183 X characters in the body.
21184
21185 @item
21186 handle 480/381 authinfo requests separately.
21187
21188 @item
21189 include the texi/dir file in the distribution.
21190
21191 @item
21192 format spec to "tab" to a position.
21193
21194 @item
21195 Move all prompting to the new `M-n' default style.
21196
21197 @item
21198 command to display all dormant articles.
21199
21200 @item
21201 gnus-auto-select-next makeover -- list of things it should do.
21202
21203 @item
21204 a score match type that adds scores matching on From if From has replied
21205 to something someone else has said.
21206
21207 @item
21208 Read Netscape discussion groups:
21209 snews://secnews.netscape.com/netscape.communicator.unix
21210
21211 @item
21212 One command to edit the original version if an article, and one to edit
21213 the displayed version.
21214
21215 @item
21216 @kbd{T v} -- make all process-marked articles the children of the
21217 current article.
21218
21219 @item
21220 Switch from initial text to the new default text mechanism.
21221
21222 @item
21223 How about making it possible to expire local articles? Will it be
21224 possible to make various constraints on when an article can be
21225 expired, e.g. (read), (age > 14 days), or the more interesting (read
21226 & age > 14 days)?
21227
21228 @item
21229 New limit command---limit to articles that have a certain string
21230 in the head or body.
21231
21232 @item
21233 Allow breaking lengthy @sc{nntp} commands.
21234
21235 @item
21236 gnus-article-highlight-limit, to disable highlighting in big articles.
21237
21238 @item
21239 Editing an article should put the article to be edited
21240 in a special, unique buffer.
21241
21242 @item
21243 A command to send a mail to the admin-address group param.
21244
21245 @item
21246 A Date scoring type that will match if the article
21247 is less than a certain number of days old.
21248
21249 @item
21250 New spec: %~(tab 56) to put point on column 56
21251
21252 @item
21253 Allow Gnus Agent scoring to use normal score files.
21254
21255 @item
21256 Rething the Agent active file thing. `M-g' doesn't update the active
21257 file, for instance.
21258
21259 @item
21260 With dummy roots, `^' and then selecing the first article
21261 in any other dummy thread will make Gnus highlight the
21262 dummy root instead of the first article.
21263
21264 @item
21265 Propagate all group properties (marks, article numbers, etc) up to the
21266 topics for displaying.
21267
21268 @item
21269 `n' in the group buffer with topics should go to the next group
21270 with unread articles, even if that group is hidden in a topic.
21271
21272 @item
21273 gnus-posting-styles doesn't work in drafts.
21274
21275 @item
21276 gnus-summary-limit-include-cached is slow when there are
21277 many articles in the cache, since it regenerates big parts of the
21278 summary buffer for each article.
21279
21280 @item
21281 Implement gnus-batch-brew-soup.
21282
21283 @item
21284 Group parameters and summary commands for un/subscribing to mailing
21285 lists.
21286
21287 @item
21288 Introduce nnmail-home-directory.
21289
21290 @item
21291 gnus-fetch-group and friends should exit Gnus when the user
21292 exits the group.
21293
21294 @item
21295 The jingle is only played on the second invocation of Gnus.
21296
21297 @item
21298 Bouncing articles should do MIME.
21299
21300 @item
21301 Crossposted articles should "inherit" the % or @ mark from the other
21302 groups it has been crossposted to, or something. (Agent.)
21303
21304 @item
21305 If point is on a group that appears multiple times in topics, and
21306 you press `l', point will move to the first instance of the group.
21307
21308 @item
21309 A spec for the group line format to display the number of
21310 agent-downloaded articles in the group.
21311
21312 @item
21313 Some nntp servers never respond when posting, so there should be a
21314 timeout for all commands.
21315
21316 @item
21317 When stading on a topic line and `t'-ing, point goes to the last line.
21318 It should go somewhere else.
21319
21320 @item
21321 I'm having trouble accessing a newsgroup with a "+" in its name with
21322 Gnus. There is a new newsgroup on msnews.microsoft.com named
21323 "microsoft.public.multimedia.directx.html+time" that I'm trying to
21324 access as
21325 "nntp+msnews.microsoft.com:microsoft.public.multimedia.directx.html+time"
21326 but it gives an error that it cant access the group.
21327
21328 Is the "+" character illegal in newsgroup names? Is there any way in
21329 Gnus to work around this? (gnus 5.6.45 - XEmacs 20.4)
21330
21331 @item
21332
21333 When `#F', do:
21334
21335 @example
21336 Subject: Answer to your mails 01.01.1999-01.05.1999
21337 --text follows this line--
21338 Sorry I killfiled you...
21339
21340 Under the subject "foo", you wrote on 01.01.1999:
21341 > bar
21342 Under the subject "foo1", you wrote on 01.01.1999:
21343 > bar 1
21344 @end example
21345
21346 @item
21347 Allow "orphan" scores in the Agent scoring.
21348
21349 @item
21350 @example
21351 - Edit article's summary line.
21352 - End edit
21353 - Sort lines in buffer by subject
21354
21355 --> the old subject line appears in Summary buffer, not the one that was
21356 just changed to.
21357 @end example
21358
21359
21360 @item
21361 Remove list identifiers from the subject in the summary when doing `^'
21362 and the like.
21363
21364 @item
21365 Have the Agent write out articles, one by one, as it retrieves them,
21366 to avoid having to re-fetch them all if Emacs should crash while
21367 fetching.
21368
21369 @item
21370 Be able to forward groups of messages as MIME digests.
21371
21372 @item
21373 nnweb should include the "get whole article" article when getting articles.
21374
21375 @item
21376 When I type W W c (gnus-article-hide-citation) in the summary
21377 buffer, the citations are revealed, but the [+] buttons don't turn
21378 into [-] buttons. (If I click on one of the [+] buttons, it does
21379 turn into a [-] button.)
21380
21381 @item
21382 Perhaps there should be a command to "attach" a buffer of comments to
21383 a message? That is, `B WHATEVER', you're popped into a buffer, write
21384 something, end with `C-c C-c', and then the thing you've written gets
21385 to be the child of the message you're commenting.
21386
21387 @item
21388 Handle external-body parts.
21389
21390 @item
21391 When renaming a group name, nnmail-split-history does not get the group
21392 name renamed.
21393
21394 @item
21395 Allow mail splitting on bodies when using advanced mail splitting.
21396
21397 @lisp
21398 (body "whatever.text")
21399 @end lisp
21400
21401 @item
21402 Be able to run `J u' from summary buffers.
21403
21404 @item
21405 Solve the halting problem.
21406
21407 @c TODO
21408 @end itemize 20154 @end itemize
21409 20155
21410 @iftex 20156 @iftex
21411 20157
21412 @page 20158 @page