FIX FEATURES V1.x
-----------------

o  Fix(?) after save the '+' is not updated as art read.

o  Refix broken pattern save (Hakan).

o  Let user enter offset from GMT then print time format at art viewer level
   with time_t -+ OFFset in time without having GMT,EST,-400 on the end.
   Also get a strftime() function for formatting time string.

o  Add Esc/^C to interrupt indexing a large group.

o  Add tinrc variable so that len of groupname can be set. (Dave Sch??).

o  Check RFC about group command for min, max & num of arts

o  Mod tinrc & attributes files so that ~/Mail ~/News $ENV/zbc /home/iain
   are understud when reading in and are converted back when written.
   Will allow more portablabilty between machines.

o  Fix so that 'x' crossposted arts that are tagged do not query the user
   if a yes is answered to the first crossposted art.

o  Add following default headers to ~/.tin/tinrc:
     Reply-To:
     Organisation:
     Distribution:
     Cc:
   Also add as group attributes so single groups can have different headers. 

o  If -f .newsrc -S/-M specified then don't use attribute.batch_save to
   determine if group should be saved just save the groups that are
   specified in -f .newsrc-file. 

o  Add code to decrement/increment counter of NEW killed & hot articles 
   so that 'h' is not offered as default when there are no NEW hot articles.
   Look at 
   'r'  group N   page N    
   'zZ' group Y   page ?(will return) N  thread N
   'k'  group Y   page ?N  thread N 
    & code that marks arts read.
   need a routine to redraw screen title to reflect changes.

o  Fix 'm' mail t)hread because it does not redraw the screen.

o  Fix 'NP' so they goto next/prev unread group.

o  Fix 'C' do that it wraps around group list (like TAB).

o  Fix threading arts so global can be set but local (group level) can
   override it. At moment once set global unthreaded cannot toggle
   threading within group.

o  Fix local group check to hash the groups read in from ~/.tin/active and
   mark active[].flag as TRUE. then find flag=FALSE and ask user if
   they want to subscribe to group. Also of CNEWS just do a compare of 
   active.times.

o  Fix '|' more of articles when done a 2nd time you have to add a <CR>
   to command to get it to work

o  Fix when in a thread and you auto-select a author ^K. After selection the
   header is from the basenote article while the article body is from the
   correct article in the thread.

o  Fix kill last article in thread when at page level from within thread level
   that causes an assertion failure in thread.c line 801. (David Bindermann)

o  Fix set show only unread in 'M' menu at article viewer level that causes
   'cannot find basenote articles' (Thomas Omerzu).
   Save respnum before so that it can be found after with which_thread() ?

o  Fix CDROM SPOOLDIRS to read newsgroups file from 'newsgrps' file.

o  Fix -S option to create an active file when new articles are
   saved to <savedir>. Also fix -R option to read ACTIVE file created
   by -S command. Use minimax code from tony travis to help in -R cmd
   line option.

o  Change write_attributes_file () to write active attributes that are 
   different than global settings. Also a menu 'M' interface to set all 
   the options PL7.

o  Add options to 'M' menu to allow setting all the variables that are now in 
   the tinrc file.

o  If 'a' in pipe to less and 423 error msg from NNTP it starts less with 
   no file.

o  Add Msg-Id: field contents to reply & followups.

o  In inews.c also allow reply_to var to be used in From: field.

o  Fix Save in feed.c routines. 
   Also fix so SAVING routines just use save_art_to_file() and print
   *** X Articles saved *** & none of the BS done at the moment

FIX FEATURES V2.0
-----------------

o Write HACKERS document.
     special defines in config.h for general use by tin.h
     Globals in init.c
     Externs in extern.h
     Document changes in tin.1

o  Change KILL file format to get ready for better kill support:
   time allows a period kill. Once expired then it will be automatically 
   be removed from kill file by not being readin/writtenout.
   Fix killing code to be more specific to each group so that killing works
   quicker on big groups and does not check hash on all kill entries.
   active[].kill (struct of kill entries ??)
   Should time=0 be used for infinite kill or should only time=123L be 
   there if its a finite kill?
     # global kill
     subj=
     from=
     text=  
     type=H/K
     time=71234559

     # local kill   
     newsgroup=alt.sources
     subj=
     from=
     text=  
     type=H/K
     time=0L
     ...
   
     Or some such format...

o  Find out how good hash routine is on active file.

o  Add tinrc variable to allow the length of groupnames to be defined 
   so that more of the newsgroups text can be shown. (Dvae Sch??)

o  Add Xref handling of articles so that read ones are marked read in 
   other groups. Use update_group() to do it?
   Needs to handle 'c' 'C' 'k' 'K' commands. Perhaps it should be an
   option so that performance is not impaired. (JIM).

o  If saving in mailbox format and mailbox does not exist query the user?

o  In kill.c should kill_both only kill when subj & from are matched?

o  Make binary as both standalone & NNTP as default

o  Add Ctrl-/ Ctrl-? to search the whole of an article (Subj,From & Body)
   at Group & Page level. Also add Ctrl-/ to group selection level so that all
   groups/wildcard pattern are searched from top level. Inform user via
   'Searching alt.sources 100...'   'Searching alt.sources 150...'

o  Add elm like mini-menu to tin for first time users.

o  Add hashing to speedup valid_art() in big groups. Make it compile
   option so tin is still usable on Minix/small memory machines.
   -DSMALL_MEMORY_MACHINE

o  Add auto-aliasing of peoples mail addresses to mail aliases file.

o  Add ^G command to skip to next Subject: in digests.

o  Try compiling with -D_POSIX_SOURCE

o  Add filename & groupname completion (editline).

o  Fix uuscram code in uudecode.

o  Fix code to sort arts. At page level funny things happen.

ADD FEATURES
------------

o  Add -P <pattern> or -P <file> to search for in new news and to
   notify user by mail. Should understand 'subject=text' 'from=text'
   'body=text' and .AND. && .OR. || for filtering purposes.

o  Add elm style print command with %s in it for printing in 'M'.

o  Sort .newsrc according to preference. (sort active file as it is read)


OTHER STUFF
-----------
o  Add rebindable keymaps and provide different terminal keymaps
   (ie. keymap.ansi, keymap.wy50 etc.)

o  Add threading on References like trn with mthreads database.

o  Add full curses support instead of using printf()'s or joetty.

o  Sub all not empty groups by looking at min max values in active array
   and Unsub all empty groups by looking at min max values in active 
   array. have a command to do this in a toggle effect.

o  Run tests of my_strncpy() and system strncpy()

o  Add Virtual newsgroups (combination of newsgroups ie. virtual.ibm
   consists of comp.sys.ibm.* groups). ~/.tin/virtual

Group        Read    Thread    Save  Savedir  Maildir  Sigfile    
             Unread  Unthread  Mail  ProcTyp  Mailbox
-----------------------------------------------------------------------------
junk         Unread  OFF       OFF   Default  Default  Default
alt.sources  Read    ON        ON    $SRC/alt Default  ~/.Sig-alt

Also following fields (to override globally defined ones in tinrc):
replyto:
organization:
cc:

Add a menu interface to define all this. Also add edit menu for entries in
kill file.

Each group could have a field to say which NNTP/local connection to use so
as to be able to plug into different NNTP servers for different newsgroups

Add global attributes file for site. LIST ATTRIBUTES ??

