"Fossies" - the Fresh Open Source Software Archive

Member "tin-2.4.4/doc/TODO" (4 Jul 2019, 46013 Bytes) of package /linux/misc/tin-2.4.4.tar.xz:

As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "TODO": 2.4.3_vs_2.4.4.

    1 Items which are showstoppers for the next major release are marked with '!'
    2 in front of them (feel free to up/downgrade and/or add or fix bugs, this
    3 file is not read only ,-).
    5 Bugs
    6 ----
    7 o  replying via email to an article with
    8    From: =?us-ascii?q?<a@example.com>,?= <b@example.org>
    9    will result in
   10    To: <a@example.com>, <b@example.org>
   11    [20141230 Urs Janssen <urs@tin.org>]
   13 o  get_respcode() doesn't handle the 401 response code. as we have to
   14    evaluate the response text as well we have to fix every
   15    nntp_command(..., NULL, 0) call.
   16    [20100429 Urs Janssen <urs@tin.org>]
   18 o  col_response is a misnomer as the counter doesn't count responses
   19    anymore (except on the very first article). The man-page is outdated too.
   20    [20080826 Urs Janssen <urs@tin.org>]
   22 o  'T'ag all parts of multipart message doesn't work (it never did)
   23    with thread_arts 4 (multipart) or 5 (percentage)
   24    [20080606 Urs Janssen <urs@tin.org>]
   27    isn't checked on startup
   28    [20071210 Urs Janssen <urs@tin.org>]
   30 o  unexpected multiline responses confuse tin, e.g.:
   31    | 240 Article posted =?ISO-8859-1?Q?=3C=3D=3Fiso=2D8859=2D1=3Fq=3F=3F=3D87r7k8na?=
   32    |   =?ISO-8859-1?Q?vt=2Efsf=40urs=2Did=2Etest=2Eka=2Enu=3E?=
   33    (the servers response should be a single line (INN 2.2))
   34    [20050207 Urs Janssen <urs@tin.org>]
   36 o  better integrate saving of MIME/non-MIME articles when not using libuu.
   37    MIME sections are saved by the 's'ave operations, uuencoded sections
   38    are saved as part of the postprocess backend
   39    [mostly done]
   40    [Jason Faultless <jason@altarstone.com>]
   42 o  batch mode has several bugs
   43    - -Z and giving a cmd-line group the cmd-line group is not displayed in
   44      the statistics nor taken into account for the 'any unread news' status.
   45    - -vc could be more verbose (like -vcZ is)
   46    - -o currently is not a 'batch_mode' option
   47    [Urs Janssen <urs@tin.org>]
   49 o  add version number to other config-files (e.g. tin.defaults)
   50    and do the same checks as for TINRC_VERSION/tinrc. for the
   51    tinrc, filter and attributes file store the charset the file is written
   52    in (e.g. ISO-8859-x vs. unicode) and for the filter file the filter method
   53    used (wildmat or regexp (or TRE))
   54    [Urs Janssen <urs@tin.org>]
   56 o  overview file caching code is over-complex
   57    - cache the original overview info instead of rebuilding it from
   58      the processed (decoded etc.) data, no matter if it's broken (e.g.
   59      contains raw 8 bit data) as we have to deal with that anyway. if there
   60      are no original overviews, cache the original data from the postings
   61      headers (after unfolding and tab removal).
   62    - Add docs to explain how to create system-wide overviews
   64 o  iso2asc conversion is missing for 'internal' strings (e.g. 'M'enu)
   65    [20020319 Urs Janssen <urs@tin.org>]
   67 o  comments in attributes get lost (we need to do something like we do for
   68    the filter file)
   69    [20080425 Urs Janssen <urs@tin.org>]
   71 o  if tin is falling back to HEAD/NEXT ([X]OVER not working) it doesn't honor
   72    tinrc.getart_limit
   73    [20090112 Urs Janssen <urs@tin.org>]
   75 o  the keys GroupToggleSubjDisplay and ThreadToggleSubjDisplay are misnamed,
   76    as they toggle the display of the sender address, not the subject.
   77    [20130839 Urs Janssen <urs@tin.org>]
   79 Pager Problems
   80 --------------
   82 Posting Problems
   83 ----------------
   84 o  8bit chars in some headers are RFC-2047-encoded where this is not allowed
   85    according to usefor (Newsgrous, Distribution, ...) - do_rfc15211522_encode()
   86    simply encodes all headers no matter if any of them must not be encoded
   87    (see parse_rfc822_headers()).
   88    [20090112 Urs Janssen <urs@tin.org>]
   90 o  the mime encoder may create two adjacent encoded words in the same line
   91    e.g.       Subject: =?UTF-8?B?4oKs4oKs4oKs?= =?UTF-8?B?IOKCrOKCrOKCrA==?=
   92    instead of Subject: =?UTF-8?B?4oKs4oKs4oKsIOKCrOKCrOKCrA==?=
   93    [20140513 Urs Janssen <urs@tin.org>]
   95 o  remove Message-IDs with 8bit chars in them when they occur in
   96    Message-ID or References header
   97    [done for References in replies/followups, Urs]
   99 o  keep RFC 6532 in mind as parts of it will sooner or later make it into
  100    NNTP (sic!).
  101    [20120220 Urs Janssen <urs@tin.org>]
  103 o  repost ('x') ignores some ~/.tin/attributes
  104    [fixed for mailing_list, Urs]
  106 o  forged cancelling via Supersedes:/Also-Control:/Control:-header is possible
  107    if it is supplied by hand (inews_prog=--internal)
  109 o  when last articles in a newsgroup were cancelled, it shows that there are
  110    new articles in that group (except when using -n cmd-line flag)
  112 o  mailers other than sendmail (f.e. elm) and use_mailreader_i=OFF may lead
  113    to 'duplicated'-headers and multiple signatures
  115 New features
  116 ------------
  117 o  add configure check for cl_clear_secret() in libcanlock and CL_API_MAJOR,
  118    CL_API_MINOR in canlock.h and if suitable prefer over bundled
  119    libcanlock (--with-canlock).
  120    [20190212 Urs Janssen <urs@tin.org>]
  122 o  allow per server cache_overview_files setting via serverrc.
  123    [20180215 Urs Janssen <urs@tin.org>]
  125 o  add something like default_cmd_line_opts (acting like $TINRC) to serverrc?
  126    precedence [low to high] = serverrc.def_cmd_line_opts, $TINRC, cmd-line?
  127    [20190205 Urs Janssen <urs@tin.org>]
  129 o  if we extend serverrc it should also get some 'M'enu.
  130    [20190205 Urs Janssen <urs@tin.org>]
  132 o  implement SAVE_APPEND_FILE_ALL ('A') and SAVE_OVERWRITE_ALL ('O') keys
  133    which just ask once if file(s) already exist (open_save_filename()).
  134    [20170811 Urs Janssen <urs@tin.org>]
  136 o  add second pipe command when piping multiple articles to use one
  137    pipe per article (currently it is one pipe for all). ':' could be
  138    used as key (only in use at the pager where this feature doesn't make
  139    sense).
  140    [20160412 Urs Janssen <urs@tin.org>]
  142 o  allow abort piping multiple articles, ESC/'z' just aborts the current one
  143    [20160409 Urs Janssen <urs@tin.org>]
  145 o  add per scope getart_limit via attributes
  146    [20131114 Urs Janssen <urs@tin.org>]
  148 o  add support for %A (Address), %C (Firstname), %N (Fullname) to
  149    group_format and thread_format
  150    (what about "conflicting" settings for show_author and %[ACIN]?)
  151    [20130925 Urs Janssen <urs@tin.org>]
  153 o  add a key to "drop" pending data from the server (either by
  154    disconnect/reconnect (fast but reconnect may fail due to rate limit or ...)
  155    or via calling drain_buffer() (might be slow if there is much pending
  156    data)) so one doesn't have to quit and restart tin if the client/server
  157    communication gets desynced (i.e by reading an article which has a non
  158    dot-stuffed lone '.' in it or the like)
  159    [20130615 Urs Janssen <urs@tin.org>]
  161 o  x_body currently doesn't allow cmd. execution via ! like x_headers
  162    [20110912 Urs Janssen <urs@tin.org>]
  164 o  add nntp_default_server to tin.defaults to override compile time setting.
  165    if given strings starts with / or ~ the value is taken from the referenced
  166    file, if it starts with $ it is read from the referenced variable.
  167    [20101118 Urs Janssen <urs@tin.org>]
  169 o  the old space_goto_next_article=ON && space_goto_next_unread=OFF is not
  170    possible with the new goto_next_unread rc-var, we need something like
  171    an additional goto_next_read rc-var
  172    [20101101 Urs Janssen <urs@tin.org>]
  174 o  add DEFAULT_SIGDASHES_REGEX and related 'M'enu-entry for signature
  175    detection in cook.c
  176    [20080925 Urs Janssen <urs@tin.org>]
  178 o  give an error message if append_mail() fails (grep TODO post.c)
  179    [20080423 Urs Janssen <urs@tin.org>]
  181 o  allow remapping of the 'z' abort-key (lynx style) in wait_for_input().
  183 o  add user defined screen layout at different levels (e.g. posting
  184    history screen)
  185    (done for selection, group and thread level)
  186    [20041025 Urs Janssen <urs@tin.org>]
  188 o  add jump to article (if still available and Message-ID is known) to
  189    posting history screen
  190    [20170331 Urs Janssen <urs@tin.org>]
  192 o  allow a Message-ID on the cmd. line to jump to the given article
  193    [20170718 Urs Janssen <urs@tin.org>]
  195 o  add TLS (RFC 4642), NNTPS support
  196    (<http://www.gnu.org/software/gnutls/>, <http://www.openssl.org/>
  197     might be useful (but unfortunately we use fputs()/fgets() instead of
  198     read()/write() - BIO_*() may be useful);
  199     "stunnel -c -d 1119 -r news.example.org:563; tin -g localhost -p 1119"
  200     can be used for NNTPS)
  201    [20031210 Urs Janssen <urs@tin.org>]
  203 o  add more AUTHINFO SASL (RFC 4643, RFC 5802) support (DIGEST-MD5,
  204    EXTERNAL, ...) and a fallback if no libgsasl is found (e.g cyrus-sasl
  205    or a handrolled version for at least PLAIN)
  206    [20080316 Urs Janssen <urs@tin.org>]
  208 o  add XZVER (and XZHDR) support (zlib compressed yyencoded overview data)
  209    <http://helpdesk.astraweb.com/index.php?_m=news&_a=viewnews&newsid=9>
  211 o  make 'GNKSA'-parser RFC5322/USEFOR compliant and fix bugs
  212    (e.g. "<~$!~( )@( )example.com>" causes "illegal character in RHS", but
  213    the address is valid)
  215 o  the TLD checking in the 'GNKSA'-parser needs some rework, keeping the
  216    list of valid TLDs up to date is more or less impossible with the ~1400
  217    pending new TLDs
  218    [20131024 Urs Janssen <urs@tin.org>]
  220 o  add In-Reply-To threading for mailgroups
  221    [20030518 Urs Janssen <urs@tin.org>]
  223 o  make auto'S'ave also work for inrange groups
  224    (unfortunately 'S' at select level is used for something else)
  225    [20030508 Urs Janssen <urs@tin.org>]
  227 o  turn ask_for_metamail into $MM_NOASK support (see metamail(1))
  228    [20030314 Urs Janssen <urs@tin.org>]
  230 o  fetch overview data in chunks (e.g. 100 arts/chunk) to allow
  231    faster read interruption.
  232    [20020326 Dirk Nimmich <nimmich@muenster.de>]
  234 o  add bold-italic, bold-underline, italic-underline, bold-italic-underline
  235    word highlightings.
  236    [20020721 Urs Janssen <urs@tin.org>]
  238 o  allow bold, underline, italic, ... as color substitution for
  239    monochrome terminals (map green=underline, italic=yellow)
  240    (see also
  241    <nntp://news.tin.org/20020416202232.A4575@bloatware.reston01.va.comcast.net>)
  242    [20030218 Serge Matveev <sm@cl.spb.ru>]
  244 o  hierarchical 'M'enu, e.g. put all art_marked_*into a 'submenu',
  245    restructure/sort 'M'enu items, some display-options (render BiDi) are
  246    currently under expert options, some options in display options are
  247    navigation options (catchup thread, use mouse, ...)
  248    [20020322 Urs Janssen <urs@tin.org>]
  250 o  add a postponed 'browser' (store postponed arts in MH or maildir
  251    format to make things easier?)
  252    [20020305 Dirk Nimmich <nimmich@muenster.de>]
  254 o  add postpone option for mail-actions;
  255    reusing p'o'stponed articles in mailing_list groups doesn't work
  256    (possible fix: store Newsgroups (and other info) via msg_add_header()
  257     (to overwrite any old values) in X-Tin-Postponed:-header and remove it
  258     before posting.)
  259    [20010623 Urs Janssen <urs@tin.org>]
  261 o  should the postponed 'file' (and posted messages 'file') be in
  262    mailbox_format (even if that's a one file/message format, thus
  263    the 'file' actually needs to be a directory?).
  265 o  add maildir/maildir++ support (besides MBOX{O,RD} and MMDF},
  266    MH (not only reading but also writing), mailstore, BABYL, Kendra (MMDF
  267    like with 20*CTRL-A as sep.), MBX and MIX (indexed MBOX from UW-IMAP)
  268    and add man-pages for the various formats.
  269    (see <https://quimby.gnus.org/notes/BABYL> for BABYL,
  270     <http://www.qmail.org/man/man5/maildir.html> for maildir,
  271     <http://www.qmail.org/man/man5/mbox.html> for MBOXCL and MBOXCL2,
  272     <http://www.washington.edu/imap/listarch/2000/msg00363.html> for MBX,
  273     <http://www.washington.edu/imap/documentation/mixfmt.txt.html for MIX)
  274    [20020215 Urs Janssen <urs@tin.org>]
  276 o  add $LOCKEXT support
  277    [20030611 Urs Janssen <urs@tin.org>]
  279 o  add xxencode (<http://www.debath.co.uk/code/xxencode.c>),
  280    base224 (<http://b-news.sf.net/>), xBin <http://www.xbin.org/>,
  281    base91 (<http://base91.sourceforge.net/>) and yenc (hide/decode-)support
  282    (see <http://yydecode.sourceforge.net/> for readable code, ignore
  283    the crap on <http://www.yenc.org/>). also check
  284    <http://www.exit109.com/~jeremy/news/binaries/> which might replace yenc
  285    etc.pp. some day.
  286    [20020216 Urs Janssen <urs@tin.org>]
  288 o  add "Face:" (incompatible "X-Face:"-replacement) support?
  289    [20040107 Urs Janssen <urs@tin.org>]
  293    CA_WARNING_s (see RFC 5536 3.1.4. and 3.2.6.) and mark them
  294    for removal in the future.
  295    [define ALLOW_FWS_IN_NEWSGROUPLIST to turn the mentioned errors into
  296     warnings. 20011226 Urs Janssen <urs@tin.org>]
  298 o  support "Suggested Minimal Digest Format"
  299    <ftp://rtfm.mit.edu/pub/usenet/news.answers/faqs/minimal-digest-format>
  301 o  add new threading method: thread by reference, but split threads on
  302    subject change
  303    [Urs Janssen <urs@tin.org>]
  305 o  rewrite thread-method selection that users can easily combine different
  306    threading methods (THREAD_SUBJ + THREAD_MULTI || THREAD_REFS +
  307    THREAD_MULTI || ...) - see also note in art.c
  308    [20011117 Urs Janssen <urs@tin.org>]
  310 o  add counter to post-processing commands (processing file x of y)
  311    (Is post-processing really that slow? [Jason Faultless
  312    <jason@altarstone.com>] no but if you post-process more than a
  313    handful of files it would be useful [Urs Janssen <urs@tin.org>])
  315 o  add key to toggle article and thread sorting preferences on the fly
  316    (like 'u' for threading)
  318 o  check if servers high mark is lower than the one in users newsrc, if so
  319    issue a warning and allow the luser to reset the highmark in the newsrc
  320    to the servers 'l'ow or the servers 'h'igh mark or 'i'gnore it.
  322 o  check if the articles Subject/From in the pager matches (minus
  323    whitespaces) the one on the overview file (if available) - if not
  324    issue a warning that the servers overviews seem to be broken. trust
  325    the headers, not overviews. (see note in rfc2046.c)
  326    do the same with the article numbers in the (cached) overview
  327    data (we already do this, but currently this will lead to article "loss").
  328    if they are higher than the server's high-mark don't trust them (and
  329    discard the locally cached data).
  331 o  attributes (still) needs some work; See doc/config-anomalies.
  332    [20030303 Dirk Nimmich <nimmich@muenster.de>]
  334 o  add IPv6 support
  335    (add protocol independent wrappers which use IPv6 (functions)
  336     whenever possible).
  337    there are two small problems with the minimalistic IPv6 support which is
  338    currently in tin: when getaddrinfo() is used to get the name/ip of the
  339    newsserver it always uses DNS (gethostbyname()/gethostbyaddr() checked
  340    /etc/hosts first) and getaddrinfo() seems to have a (huge) delay in some
  341    cases. use getipnodebyname()/getipnodebyaddr() (if available) instead.
  342    check for gethostbyaddr_r()/gethostbyname_r() and use them instead
  343    of gethostbyaddr()/gethostbyname() if available.
  345 o  add cmd-line/tinrc-switch to fetch only headers of unread articles;
  346    in that case, make 'r' reading the rest of the articles
  347    [-G is a start]
  348    allow setting a per group limit via attributes
  350 o  check if server supports 'LIST MODERATORS' and/or 'LIST DISTRIB.PATS' and
  351    if it does parse the output so it can be shown to the user. (e.g. when
  352    posting to a moderated group, show the moderators mail-address, but still
  353    leave the mailing to the server; if the group has limited distribution
  354    inform the user, ...)
  356 o  if using "-n" command-line switch you can't subscribe to newsgroups not
  357    present in your newsrc - a simple check against the server
  358    (e.g. GROUP $newsgroup or if !NNTP try to stat the dir) would help.
  359    if the server understands "LIST ACTIVE grp" we could also get the group's
  360    attribute (moderated, etc.) and with "LIST NEWSGROUPS grp" it's
  361    description.
  363 o  item_by_item_etiquette_warnings [compile-time?]
  364    (e.g. enable x-posts without f'up warning, disable long-sig warning)
  366 o  don't prefix posted_articles_file with maildir if posted_articles_file
  367    has an absolute path (after expanding ~).
  368    [20130627 Urs Janssen <urs@tin.org>]
  370 o  posted_articles_file is not available in attributes
  371    [20130628 Urs Janssen <urs@tin.org>]
  373 o  unify Fcc and posted_articles_file
  374    [20031012 Dirk Nimmich <nimmich@muenster.de>]
  376 o  MIME-pgp support according to RFC 2015, RFC 3156 - (should be easy now)
  377    and/or in the format that used by signcontrol/pgpverify (see also
  378    tinews.pl)
  379    As MIME-pgp verification needs the undecoded mime-part with its headers
  380    storing the raw-offset of each part in the article would be very helpful.
  382 o  pgpverify invocation with a single key instead of '|''a''pgpverify' or a
  383    built-in pgpverify solution.
  385 o  pgp-{6,7} support
  387 o  add check for GPGME (<http://www.gnupg.org/related_software/gpgme/>) and if
  388    found use it for pgp actions.
  390 o  add feature Cc:
  392 o  add feature show_new_newsgroups_since
  394 o  add new key which tags articles based on a prompted regex, could be used
  396    and/or something like GROUP_SELECT_THREAD/THREAD_SELECT_ARTICLE which
  397    works on tagged arts (the later might be useful in conjunction with
  399    [20051110 Urs Janssen <urs@tin.org>]
  401 o  Additions to the thread menu:
  402      ']'  (GLOBAL_QUICK_FILTER_KILL)
  404      'r'  (reply to) /* not 'R' cause it conflicts with mail_bugreport */
  405      ''   r should be toggle show all/show only unread
  406      'f'  (post a followup) (maybe also 'F', '^W', ...)
  407      'N'  (next unread article)
  408      'P'  (previous unread article)
  409      'T'  (tag all parts of current multipart-message in order)
  410      'V'  (View/pipe/save multimedia attachments)
  411      'X'  (mark all unread articles that have not been selected as read)
  412      ';'  (mark unread arts as hot if >= 1 art in thread is hot)
  413      '+'  (mark thread as hot)
  414      '='  (mark pattern as hot)
  415      '@'  (toggle selections)
  416      'Y'  (check for new articles in thread)
  417      '%'  (toggle rot13 encoding of screen content)
  418      'x'  (repost)
  419      'e'  (edit mailgroup article)
  420      keys to go to previous/next thread
  422 o  Additions to the group menu:
  423      'V'  (View/pipe/save multimedia attachments)
  424      'Y'  (check for new articles in group)
  425      '%'  (toggle rot13 encoding of screen content)
  427 o  Additions to the select menu:
  428      '%'  (toggle rot13 encoding of screen content)
  429      key to toggle groupname abbreviation
  431 o  Add to the 'M'enu:
  432      '&'  (GLOBAL_TOGGLE_COLOR)
  433      and maybe a way to change built in path like DEFAULT_MAILER, PATH_PGP, ...
  435 o  Add to the attachment menu ('V'):
  436      'F'  post followup to current article, not including current attachment
  437      'f'  post followup to current article, including current (or tagged)
  438           attachment(s)
  439      'm'  mail attachment
  440      'o'  print attachment
  441      'r'  reply through mail to author, including current attachment
  442      ''   reply through mail to author, not including current attachment
  443           ('R' is already taken by GLOBAL_BUGREPORT)
  444      't'  tag attachments for '|', 'p', 's', 'm' (done for 's')
  445      '#'  tag range of attachments (n-m)
  446      'x'  repost current attachment to another group
  447      '%'  (toggle rot13 encoding of screen content)
  448      '&'  (GLOBAL_TOGGLE_COLOR)
  450 o  Add a command-line switch (-V) that prints out all values of cpp-symbols
  451    etc. [partly done, but should be cleaned up]
  453 o  Reorganize tinrc into related sections for easier editing
  454    e.g., Display, Posting etc.
  456 o  A system-wide tinrc configuration file (to hold some defaults).
  457    [done: /etc/tin/tinrc] A key code to reset to the system defaults.
  458    Maybe a second file which could be used to force settings (eg.
  459    inews & mailer) (tin.defaults [--with-defaults-dir] is a start)
  461 o  when From: only contains "First-name Last-name" tin strips the
  462    Last-name in group/thread/page-level
  463    [20020319 Urs Janssen <urs@tin.org>]
  465 o  Bounce duplicate Message-ID's when the headers are read. This will
  466    make the threading code happier too.
  467    Make read_overview() more forgiving of errors. If the article # is okay,
  468    then there is no reason to completely hide the article
  469    [Jason Faultless <jason@altarstone.com>]
  471 o  Merge the selection code with the range code. Having two similar methods
  472    of picking articles with similar goals is wasteful.
  473    [Jason Faultless <jason@altarstone.com>]
  475 o  add check for liblzma/libbzip2/zlib (>=1.1.4)/[mini]lzo, lzlib, liblz4,
  476    liblrzip, libzstd, ...
  477    (<http://tukaani.org/xz/>, <http://sources.redhat.com/bzip2/>,
  478     <https://zlib.net/>, <http://www.oberhumer.com/opensource/lzo/>,
  479     <http://lzip.nongnu.org/lzlib.html>, <http://code.google.com/p/lz4/>,
  480     <http://freecode.com/projects/long-range-zip>,
  481     <https://github.com/facebook/zstd>) and add an option to
  482    write/read *zipped local overviews.
  483    the libs might also be used for post-processing articles.
  485 o  rewrite/cleanup all the debugging code, the output in /tmp is messy; the
  486    on screen output either slows down things dramatically or is unreadable;
  487    split DEBUG_MISC?
  488    [Urs Janssen <urs@tin.org>]
  490 o  replace gettimeofday() with clock_gettime() if available in parsdate.y
  491    as POSIX.1-2008 marks gettimeofday() as obsolete.
  492    [20110910 Urs Janssen <urs@tin.org>]
  494 o  Add 'M'enu option to define chars for utf8_graphics.
  496 Posting enhancements
  497 --------------------
  498 o  sort Followup-To:/Newsgroups: after stripping doubled newsgroups and
  499    before checking if they are identical, if so, strip Followup-To: and
  500    use unsorted but stripped Newsgroups:-line only
  501    ulBuildArgv() would be good for this
  503 o  if Newsgroups:-line has groups in it which are not present in the users
  504    active file ask the user if he wants to strip these groups from the
  505    newsgroups-line (N/y)
  506    do the same for Followup-To:
  508 o  check if any valid groups are in the Followup-To:-line and if not inform
  509    the user and use Newsgroups: instead (at the start of post_response())
  511 o  bring up a warning on a long Newsgroups: (>=5) line and
  512    force the user to confirm every single group he wants to post (or
  513    redirect followups to) in. (N/y)
  515 o  bring up a warning when trying to f'up into a binary group
  516    (use a regexp to detect binary groups e.g.:
  517     (?:\.binae?r|de\.alt\.dateien\.))
  518    (Warning, sending a followup to a binary group is undesired, post it
  519     anyway? N/y)
  520    [Urs Janssen <urs@tin.org>]
  522 o  posting to a binary group should warn if no followup is set to another
  523    group/poster (you have not set a target for a possible discussion on your
  524    post, would you like to go on anyway? N/y)
  525    [Urs Janssen <urs@tin.org>]
  527 o  when posting to a group containing uppercase-letters: bring up a
  528    warning: "Newsgroup-names should be all lowercase, correct it? (Y/n)"
  530 o  Enhance -n to take newsgroup name as argument and use group_get_art_info()
  531    to allow posting to groups other than those in newsrc.
  533 o  add config option for (external) viewer to show postings stored in
  534    keep_posted_articles_file
  535    [20021003 Michael Gerhards <HM-Gerhards@uni.de>]
  537 Filtering enhancements
  538 ----------------------
  539 o  add Xref + Path filter to the filter-menu
  541 o  add used filter-type to filter file or filter rule or use different
  542    filter files for wildmat/regexp
  544 o  add command: mark all articles older/newer than <date> (or <days>) as
  545    read (useful when subscribing to a new group with high-traffic...)
  547 o  fix kill/hot mechanism so that it is possible to match articles on
  548    arbitrary headers
  549    [done for Path, Dennis]
  551 o  don't strip "Re: " out of the subject before applying the filter on it
  553 o  allow any given amount of days in default_filter_days not only
  554    {1, 2, 4} * 28 days
  556 o  allow expiring filter entries n-days after the last time they matched
  558 o  add command to generate filter rules for all currently tagged articles
  560 o  allow editing of the strings presented in the kill-Menu for
  561    "Kill Subject", "Kill From", "Kill Msg-Id" without having to edit
  562    the full filter-file
  563    [20120201 Urs Janssen <urs@tin.org>]
  565 o  allow to abort the filter loop with iKeyAbort when entering a (large)
  566    group
  567    [20160211 Urs Janssen <urs@tin.org>]
  569 Pager enhancements
  570 ------------------
  571 o  add 'autoview' (spawn external viewer) 'autohide' (don't even show info
  572    about that part) for different content-types
  574 o  integrate multi-part tagging with regular tagging, eg.
  575    "This article appears to have multi-parts, try and find them (y/n)?"
  577 o  add Content-Language (RFC 3282) analysis
  579 o  suppress hide_uue=2 checking unless first line in an article or following
  580    a blank line
  582 o  add missing mailcap (RFC 1524) features: %n, %F, copiousoutput, print,
  583    if no %s appears in the view-command (or edit fields) the body part needs
  584    to be passed to the command as standard input, ...
  585    [20111205 Urs Janssen <urs@tin.org>]
  587 Internal Changes
  588 ----------------
  589 o  merge refs.c:valid_msgid() and post.c:damaged_id()
  590    [Urs Janssen <urs@tin.org>]
  592 o  in ENABLE_NLS case replace PLURAL() macro with proper use of
  593    ngettext(3) (if found by configure) to support languages with
  594    more than one plural form.
  595    [20150113 Urs Janssen <urs@tin.org>]
  597 o  rename disable_gnksa_domain_check to enable_gnksa_domain_check and
  598    invert logic now the default changed
  599    [20131119 Urs Janssen <urs@tin.org>]
  601 o  curses.c:input_pending() and curses.c:get_arrow_key() have
  602    #ifdef HAVE_SELECT and a code path for the case when we don't have
  603    select(2), but read.c:wait_for_input() has no code path for the
  604    !HAVE_SELECT case. we should add a !HAVE_SELECT case there (or at
  605    least have adjusted messages in txt_reading_article and txt_group)
  606    [20110506 Urs Janssen <urs@tin.org>]
  608 o  ditch MAX_MSG_HEADERS (post.c)
  609    [20110212 Urs Janssen <urs@tin.org>]
  611 o  always display (also) the servers error response string to the user,
  612    currently tin sometimes gives generic messages (e.g. when authentication
  613    fails), but the servers response may include additional info (like
  614    bandwidth exceeded)
  615    [20101230 Urs Janssen <urs@tin.org>]
  617 o  rewrite mini-help, remove the long strings and generate them dynamically
  618    one help text for each key makes translations more easy and unique and can
  619    use the available space on the screen much better if not running on 80
  620    columns.
  621    [20100326 Urs Janssen <urs@tin.org>]
  623 o  rewrite auth.c
  624    - turn t_bool authinfo_user, authinfo_sasl, authinfo_state into
  625      enum authinfo { NONE = 0, USER = 1, SASL = 2 }
  627 o  fix aclocal.m4:CF_FUNC_SYSTEM and/or misc.c:invoke_cmd() that
  628    --enable-broken-system-fix/IGNORE_SYSTEM_STATUS isn't needed anymore.
  629    [20090520 Urs Janssen <urs@tin.org>]
  631 o  use read()/write() instead of fputs()/fgets() on socket
  633 o  move several (server related) files into the per-server dir e.g.:
  635    should be
  637    [20050807 Urs Janssen <urs@tin.org>]
  639 o  remove untranslatable constructs like txt_prefix_*
  640    [20050413 Urs Janssen <urs@tin.org>]
  642 o  keys which could be renamed/merged:
  643    - 'l' GroupListThd, PageListThd
  644    - 'm' GroupMail, PageMail, PostMail, ThreadMail
  645    - 'D' GroupCancel, PageCancel, ThreadCancel
  646    - 'N' GroupNextUnreadArt, PageNextUnreadArt, (SelectNextUnreadGrp)
  647    - 'S' GroupAutoSave, PageAutoSave, ThreadAutoSave
  648    - 'P' GroupPrevUnreadArt, PagePrevUnreadArt
  649    - '@' GroupReverseSel, ThreadReverseSel
  650    - '~' GroupUndoSel, ThreadUndoSel
  651    [20050408 Urs Janssen <urs@tin.org>]
  653 o  read_overview() calls eat_re() which strips the "Re: " out of the
  654    subject. the modified subject is used for batch_mode opperatios (-N/-M)
  655    which might not be what ppl. expect and eat_re() is the only function
  656    which needs the 'regex' overhead in batch_mode... (see also the note
  657    about "Re: "-stripping at "Filtering enhancements").
  658    [20050225 Urs Janssen <urs@tin.org>]
  660 o  use new_nntp_command() instead of nntp_command() in the rest of the
  661    code (where useful; if we do a global change, rename it to
  662    nntp_command()). see check_extensions() for a sample usage.
  663    [20050211 Urs Janssen <urs@tin.org>]
  665 o  replace various occurrence of "US-ASCII" by DEFAULT(_MIME)_CHARSET
  666    and define that to "US-ASCII" (to make 'updates' easier).
  667    [20040929 Urs Janssen <urs@tin.org>]
  669 o  get rid of CURR_GROUP, use t_group instead
  670    create a global t_group *CURR_GROUP instead of the current macro
  671    reduce dependencies on my_group[] & selmenu outside of select.c
  672    [20030501 Urs Janssen <urs@tin.org>]
  674 o  clean up $AUTOSUBSCRIBE code (the NNTP code path is a mess)
  675    [20030412 Urs Janssen <urs@tin.org>]
  677 o  make configure look for strrstr() in libpub & publib.h
  678    [Urs Janssen <urs@tin.org>]
  680 o  reorder several structs to avoid padding (see gcc -Wpadded)
  681    [Urs Janssen <urs@tin.org>]
  683 o  what type is base[]? (long, see memory.c:init_alloc()~102)
  684    There is a lot of confusion internally over how it is used
  685    compare setup_hard_base() with find_base() etc..
  686    [Jason Faultless <jason@altarstone.com>]
  688 o  check where PRODUCT should be used instead of tin_progname and/or "tin"
  689    [Urs Janssen <urs@tin.org>]
  691 o  check where NEWSRC_FILE should be used in lang.c instead of "newsrc"
  693 o  check where iKeyAbort should be used instead of ESC (etc.pp.)
  694    (AFAICS all fixed except prompt.c and read.c/'z')
  695    [Urs Janssen <urs@tin.org>]
  697 o  close potential security holes:
  698    - remove fixed length buffers (find_nov_file(), print_from(),
  699      quote_space_to_dash(), escape_shell_meta(), backup_article(),
  700      build_messageid(), get_secret(), get_host_name(), get_domain_name(),
  701      get_fqdn(), get_user_name(), get_full_name(), build_sender(), ...)
  702    - change all system()/popen() calls to fork() and exec() calls
  703    - check where we should use snprintf() instead of sprintf()
  704    - check where we should use strncat() instead of strcat()
  705    - check where we should use strncpy() instead of strcpy()
  706    - check possible races with access()/link()/rename()/stat()/
  707                                unlink()/chdir()/fopen()/fstat()/open()/
  708                                opendir()/t_open()/tmpfile()
  709    - check getenv() results before using it
  710    - check where my_strncpy() or STRCPY() should be used
  711    [Urs Janssen <urs@tin.org>]
  713 o  split tin.h/proto.h for better dependencies in Makefile
  715 o  check where int/long/... should be replaced by size_t, uid_t, mode_t,
  716    off_t, ...
  717    [Urs Janssen <urs@tin.org>]
  719 o  check code with Splint (LCLint) <http://www.splint.org/>,
  720    valgrind (<http://valgrind.org/>), cppcheck
  721    (<https://trac.cppcheck.net/>), AdLint
  722    (<http://adlint.sourceforge.net/>), clang-analyzer
  723    (<http://clang-analyzer.llvm.org/>), Coverity
  724    (<https://scan.coverity.com/projects/993>), infer
  725    (<http://fbinfer.com/>) and zzuf
  726    (<http://caca.zoy.org/wiki/zzuf>)
  728 o  rewrite the tag code so that arts[].tagged becomes index in arts[]
  729    of next tagged article. num_of_tagged_arts becomes index of first
  730    tagged art. Traversing tagged arts becomes much easier & faster.
  731    [Jason Faultless <jason@altarstone.com>]
  733 o  strip Xref:-header if saving news in batch mode (-S)?
  734    [Urs Janssen <urs@tin.org>]
  736 o  rewrite code to use INEWS_PATH instead of INEWSDIR
  737    [20021007 Urs Janssen <urs@tin.org>
  739 o  remove built in path of external commands (metamail, ispell, ...)
  740    [for ispell $ISPELL can be used to override systempath and progname]
  742 o  add configure-switch for DISABLE_PIPELINING
  743    [20090612 Urs Janssen <urs@tin.org>]
  745 o  mask inline PGP SIGNATURE/KEY BLOCK like we do for uu-sections
  746    [20090722 Urs Janssen <urs@tin.org>]
  748 o  some non fixed width strings could be formatted nicer (warp on last space
  749    before cCOLS), e.g. txt_warn_downgrade
  750    [20110325 Urs Janssen <urs@tin.org>]
  752 Unicode
  753 -------
  754 o  make mm_network_charset an "option_list" to avoid junk input or
  755    undesired (UTF-1, UTF-7, UTF-16*, UTF-32*, UCS-2, UCS-4, ...) encodings.
  756    add configure check for the hard coded charsets (try iconv_open(x,
  757    us-ascii) on each...) and disable those not available.
  758    (think about more network charsets (GB2312, GB18030, Shift_JIS,
  759     ISO-8859-6[-{I,E}], ISO-8859-8[-{I,E}], ISO-8859-11, VISCII, VIQR;
  760     check whether KOI8-RU is still used/valid))
  761    [done except configure check 20010907 urs@tin.org]
  763 o  make mm_network_charset a user configurable item list
  764    ("US-ASCII:ISO-8859-1:ISO-8859-9:ISO-8859-15:UTF-8",
  765     "US-ASCII:ISO 8859-5:KOI8-R:UTF-8",
  766     "EUC-CN:ISO-2022-CN:ISO-2022-CN-EXT:Big5:UTF-8", whatever)
  767    and try all given charsets in order till the one is found which matches
  768    best (i.e. can display most (all) of the chars in the article).
  769    (see also RFC 2046 4.1.2)
  770    [20050805 <urs@tin.org>]
  772 o  add IDNA 2003 (RFC 3490ff.) and IDNA 2008 (RFC 5890ff.) support,
  773    (<http://www.gnu.org/software/libidn/> IDNA 2003,
  774     <http://jprs.co.jp/idn/index-e.html> IDNA 2008,
  775     <http://site.icu-project.org/> IDNA (uidna_IDNToUnicode()
  776      and/or with ICU >=4.6 uidna_nameToUnicode(uidna_openUTS46)),
  777     <http://www.gnu.org/s/libidn/#libidn2> IDNA 2008)
  778    (added minimalistic IDNA decoding support if a recent libidn is found, urs)
  779    [20030917 Urs Janssen <urs@tin.org>]
  781 o  add normalization
  782    (via <http://site.icu-project.org/> or
  783    <http://www.gnu.org/software/libidn/> or
  784    <http://www.gnu.org/software/libunistring/>)
  785    (done for search strings and threading, missing for filtering etc. pp.)
  786    [20031209 Michael Bienia <michael@vorlon.ping.de>]
  788 o  rewrite ICU configure checks
  789    [20180710 Urs Janssen <urs@tin.org>]
  791 o  check for wcsftime() and if found use it instead of strftime() (at
  792    least in page.c).
  793    [20130129 Urs Janssen <urs@tin.org>]
  795 Docs/online help
  796 ----------------
  797 o  document the difference between
  798    - "-D 1" (nntp dialog with likely long multilines responses skipped)
  799    - "-vD 1" (full nntp dialog)
  800    - "-vvD 1" (full nntp dialog plus diagnostic messages)
  802 o  the documentation of PageFollowupQuoteHeaders (^W) and
  803    PageReplyQuoteHeaders (^E) is wrong as not all headers but just those
  804    visible via news_headers_to_display (or all if raw mode is on
  805    (PageToggleHeaders (^H)) are included.
  806    [20100911 Urs Janssen <urs@tin.org>]
  808 o  the online help of GroupMarkUnselArtRead 'X' is unclear as it doesn't
  809    say that the article are marked read
  810    [20090814 Urs Janssen <urs@tin.org>]
  812 o  document the different signals/actions
  813    [20080209 Urs Janssen <urs@tin.org>]
  815 o  exit status documentation in the man page isn't correct, we have more
  816    exit codes than just 0, 1, (2 in the -Z case) and 3.
  817    [20080320 Urs Janssen <urs@tin.org>]
  819 o  review the spanish, swedish and russian translations
  820    (es.po, sv.po, ru.po); add/finish missing man-page translation(s).
  822 o  add installation guide (in html?)
  824 o  add cross-compilation hints
  825    	CC="crosscc" LD="crossld" AR="crossar" RANLIB=":" MAKE="crossmake" \
  826    	./configure --with-build-cc=gcc --with-build-cpp=cpp \
  827    	--target=cross-traget-triple --without-x # usual configure flags
  829 o  better document keymap feature
  831 o  man page always needs work and proof reading
  832    e.g. 'U', 'V' in pager need better documentation, random organization
  833    feature isn't documented at all.
  835 o  tin.defaults could use more documentation in man page (tin.5)
  837 o  replace "\\" by "\e" in man pages (portable?)
  839 o  integrate doc/auth.txt into tin.1 man page
  841 Not yet classified
  842 ------------------
  843 o  allow per group cancel_lock_algo setting via attributes?
  844    [20170810 Urs Janssen <urs@tin.org>]
  846 o  allow per group cache_overview_files setting via attributes?
  847    [20180215 Urs Janssen <urs@tin.org>]
  849 o  abort HEAD/NEXT loop on 5xx responses to HEAD? (see
  850    art.c:open_art_header())
  851    [20161011 Urs Janssen <urs@tin.org>]
  853 o  follow $LC_COLLATE (e.g. add strxfrm() to subj_comp_*/from_comp_*)?
  854    [20160421 Urs Janssen <urs@tin.org>]
  856 o  IDNA decode news_headers_to_display?
  857    [20160227 Urs Janssen <urs@tin.org>]
  859 o  sometimes we convert the supplied server name to lowercaes (for cached
  860    overviews) and sometimes we don't (nrctbl.c code and -g arg). Thus
  861    -g Foo.bAr.eXample may result in file not found
  862    for entries like '*       ~/.tin/.newsrcs/${NNTPSERVER-localhost}'
  863    even there is a ~/.tin/.newsrcs/foo.bar.example file.
  864    Should we always lowercase $NNTPSERVER / -g? (but still allow
  865    upper/camelcase for -f or a fixed filename in newsrctable).
  866    [20160225 Urs Janssen <urs@tin.org>]
  868 o  add "host:port" notation support for -g as shortcut for -p port -g host
  869    [20160222 Urs Janssen <urs@tin.org>]
  871 o  allow "begin-base64"/"====\n" as start/end marker for UUE-blocks besides
  872    the traditional "begin"/"end\n"?
  873    [20151204 Urs Janssen <urs@tin.org>]
  875 o  cache_overview_files also affects $TIN_INDEX_MAILDIR and $TIN_INDEX_SAVEDIR
  876    overviews, is this desired?
  877    [20151112 Urs Janssen <urs@tin.org>]
  879 o  articles without a Message-ID are skipped as the code currently depends
  880    on Message-IDs, but they might show up in mailgroups - assign a pseudo
  881    Message-ID to them?
  882    [20151111 Urs Janssen <urs@tin.org>]
  884 o  create missing dir(s) in path to newsrc, right now get_newsrcname()
  885    usually comes up with
  886    "No permissions to go into /home/$USER/.tin/${NNTPSERVER}"
  887    if one uses something like
  888    *  ~/.tin/${NNTPSERVER-localhost}/.newsrc
  889    in newsrctable
  890    [20150121 Urs Janssen <urs@tin.org>]
  892 o  make --with-defaults-dir= default to $sysconfdir/tin
  893    (=/usr/local/etc/tin)?
  894    [20110809 Urs Janssen <urs@tin.org>]
  896 o  Supersedes (and repost) don't reuse the Reply-To: header of the original
  897    article
  898    [20110808 Urs Janssen <urs@tin.org>]
  900 o  what about !us-ascii chars in username/password when using
  901    AUTHINFO USER/PASS? Currently they are sent as is, RFC 3977 says
  902    "The character set for all NNTP commands is UTF-8", RFC 4643 doesn't
  903    mention any special handling.
  904    [20101104 Urs Janssen <urs@tin.org>]
  906 o  what is or was HIST_HELP_SEARCH good for? And what about cHelp?
  907    [20101008 Urs Janssen <urs@tin.org>]
  909 o  charset conversion fails when converting articles from multibyte charsets
  910    with 0 bytes (UCS2, UCS4, UTF-16[[LB]E], UTF-32[[LB]E], ...), currently
  911    we just skip over such parts instead of handling them properly
  912    [20100905 Urs Janssen <urs@tin.org>]
  914 o  add "COMPRESS DEFLATE" support? this would require a
  915    rewrite of the code which reads data from the network (which should be
  916    done anyway for TLS) as we must handle null-bytes in the stream.
  917    <https://www.rfc-editor.org/rfc/rfc8054.txt>
  918    [20100122 Urs Janssen <urs@tin.org>]
  920 o  the documentation suggests that novrootdir/$TIN_NOVROOTDIR defaults to
  921    spooldir/$TIN_SPOOLDIR if unset, which is not exactly what happens as
  922    this default is set at configure/compile time, not at runtime, so
  923    setting $TIN_SPOOLDIR to something different than the default will not
  924    automatically adjust $TIN_NOVROOTDIR at runtime. we should either
  925    fix the documentation or the behaviour.
  926    [20100103 Urs Janssen <urs@tin.org>]
  928 o  un/subscribe_pattern() is very slow on servers with a huge active file
  929    [20091223 Urs Janssen <urs@tin.org>]
  931 o  replace wildmat.c with uwildmat.c
  932    <http://inn.eyrie.org/trac/browser/trunk/lib/uwildmat.c>? It knows poison
  933    patterns and can handle UTF-8 strings
  934    [20091223 Urs Janssen <urs@tin.org>]
  937    $XDG_CACHE_HOME (eg. for cached NEWSGROUPS_FILE)
  938    <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html>
  939    [20081010 Urs Janssen <urs@tin.org>]
  941 o  add //IGNORE iconv-option like //TRANSLIT?
  942    [20080824 Urs Janssen <urs@tin.org>]
  944 o  what about REDIRECT_OUTPUT? shouldn't we better add this to DEFAULT_PRINTER
  945    so ppl. can override it via the 'M'enu? and shouldn't DEFAULT_PRINTER be
  946    detected via configure?
  947    [20080625 Urs Janssen <urs@tin.org>]
  949 o  create debug output in
  951    instead of in $TMPDIR (as it may contain username and password,
  952    access restrictions in $TMPDIR are a bad idea as other users
  953    need to be able to overwrite the file (multi user system)).
  954    [20080211 Urs Janssen <urs@tin.org>]
  956 o  -M/-N report is mailed to userid, should we use tinrc.mail_address
  957    instead?
  959 o  tin uses the first sig-isolator as recent one, USEFOR says it should
  960    use the last. There is no consensus that tin should follow this USEFOR
  961    requirement.
  963 o  'K' is still a bit inconsistent:
  964    - in the group and thread menu it marks current item read & jumps to the
  965      next unread item.
  966    - in the article pager (page.c) it marks the rest of the current thread
  967      read and jumps to the next unread article. should we let 'K' behave
  968      like <TAB> in the pager?
  970 o  rename prompt_followupto (to prompt_extra_headres) and make it an option
  971    list like {"Followup-To"; "Summary"; "Keywords";
  972    "Followup-To & Summary"; "Followup-To & Keywords";
  973    "Summary & Keywords"; "Followup-To, Summary & Keywords"} or make it a
  974    user-definable text field like news_headers_to_display? or leave this
  975    entirely to the user - he could tweak attributes accordingly.
  976    [20060503 Urs Janssen <urs@tin.org>]
  978 o  in several places only the latest keybinding is shown in prompts
  979     (e.g. "q=quit, e=edit, i=ispell, g=pgp, M=menu, w=post, o=postpone: w"
  980      with "PostPost	p	y	w" in keymaps)
  981    should we try to show them all?
  982    [20050718 Urs Janssen <urs@tin.org>]
  984 o  add PGP_INCLUDE_KEY to pgp_mail_keys?
  985    [20050426 Urs Janssen <urs@tin.org>]
  987 o  there is no command to undo a range ('#') selection
  989 o  'article loss' reported in
  990    <nntp://news.tin.org/20020915165856.GA1541@martinkl.dialup.fu-berlin.de>
  992 o  should 'tin -z foo.bar' only start up if there is any unread news in
  993    foo.bar?
  994    [20040325 Urs Janssen <urs@tin.org>]
  996 o  trn and perls Net::NNTP::Auth use ~/.nntpauth (format is
  997    "^server\s+user\s+password"), shall we also try ~/.nntpauth if we can't
  998    find a matching entry in ~/.newsauth? and should we look for
  999    ${TIN_HOMEDIR:-"$HOME"}/.tin/.newsauth if ~/.newsauth is not found?
 1000    [20040128 Urs Janssen <urs@tin.org>]
 1002 o  allow a different port in newsauth- and/or newsrctable-file
 1003    (server:port [...])? if we do, what's the precedence?
 1004    [high] -p, newsauth, newsrctable, $NNTPORT, 119 [low]?
 1005    [20140504 Urs Janssen <urs@tin.org>]
 1007 o  what todo if in a CTE: x-uue the CD: filename differs from the one given
 1008    in the begin line? IMHO we should use the one from the begin line for
 1009    saving and in the overview in the pager.
 1010    [urs@tin.org]
 1012 o  inverse_okay's Menu description isn't accurate (inverse is also used for
 1013    URL highlighting). mono_mark* do allow "Reverse video" even if
 1014    inverse_okay=FALSE.
 1016 o  --disable-inverse-video seems to be ignored - do we still need it?
 1018 o  move tinrc.defaults for certain comannds to a pre-filled .inputhistory?
 1019    (if so, also move last_search there)
 1020    [Jason Faultless]
 1022 o  what about -a cmd-line flag? is this really needed? IMHO this can be
 1023    dropped, '&' can be used for runtime color toggling.
 1024    [20021106 Urs Janssen <urs@tin.org>]
 1026 o  commas in real-name might cause problems in mail-replies
 1027    'From: Last, First <user@example.com>' (which was illegal in RFC 1036 but
 1028    is no longer with RFC 5536) leads to 'To: Last, First<user@example.com>'
 1029    which is 'last@localhost,user@example.com' should we try to fix things and
 1030    quote the realname part?
 1031    [20021007 Urs Janssen <urs@tin.org>]
 1033 o  setting TIN_HOMEDIR to a non-existent dir gives a "Filesystem full"
 1034    error-message (but doesn't abort) instead of creating the dir. bug?
 1035    feature? if the later we should give a more exact error-message.
 1036    [20011112 Urs Janssen <urs@tin.org>]
 1038 o  update gettext stuff to > gettext-0.12.1 (or drop it?)
 1040 o  and pcre2 support (new API)
 1041    <http://www.pcre.org/current/doc/html/>
 1043 o  clean up included pcre stuff and update to >= pcre-8.43
 1045 o  shows up cross-postings multiple times even if read once before getting
 1046    a resync/reread active/newsrc-file
 1048 o  think about group numbering in "only unread" display mode
 1049    (using different numbers in show all/show only unread leads to some
 1050     problems, f.e. group moving)
 1052 o  doesn't handle symlinks for .oldnewsrc
 1053    (see <20021003021508.GA28021@akk10.akk.uni-karlsruhe.de> for details, urs.
 1054     if we're going to 'fix' this we must be careful to avoid symlink
 1055     attacks (<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-1999-1091>)
 1056    [20020627 Jeff Sheinberg <jeffsh@erols.com>]
 1058 o  missing newsrc file and connecting to a server without groups leads to the
 1059    question "Try and save newsrc file again? (Y/n)" but a newsrc file doesn't
 1060    get written. Same may occur on quitting if newsrc file had been removed
 1061    while tin was running. Useful? Should write_newsrc() try to create a newsrc
 1062    file if it is missing instead of just leaving?
 1063    [20061102 Dirk Nimmich <nimmich@muenster.de>]
 1065 o  configure checks for fdopen(3) and defines HAVE_FDOPEN if found, but we
 1066    don't have any code guarded with that macro nor any fallback code if not
 1067    found.
 1069 o  re add innlib support? (the old one was dropped as the lib has retired
 1070    all (which were not that many) features we used and our code didn't
 1071    use the innlibs code where ever it was possible (and useful).
 1072    [20080211 Urs Janssen <urs@tin.org>]
 1074 o  add check for libarchive <http://www.libarchive.org/>
 1075    and use for post-processing?
 1076    [20111225 Urs Janssen <urs@tin.org>]
 1078 o  add check for liblockfile and/or liblock and use if found?
 1080 o  add check for heapsort(3) in libbsd? <http://libbsd.freedesktop.org/wiki/>
 1081    [20130305 Urs Janssen <urs@tin.org>]
 1083 o  add jump to selected article from DisplayPostHist ('W')
 1084    [20120220 Urs Janssen <urs@tin.org>]
 1086 o  add check for libtre and offer TRE as matching method for "wildcard"?
 1087    <http://laurikari.net/tre/about/>, <https://github.com/laurikari/tre/>
 1088    [20130706 Urs Janssen <urs@tin.org>]
 1090 o  eval $NEWSHOST if $NNTPSERVER is unset (like Net::NNTP(3perl))
 1091    [20141225 Urs Janssen <urs@tin.org>]