home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / SNWS191S.ZIP / TODO < prev    next >
Text File  |  1993-08-25  |  8KB  |  186 lines

  1. Things to change in snews 1.91 (93-08-23 DTF)
  2. ---------------------------------------------
  3. modify expire so it:
  4. - just displays groups & sizes with -l (list) or -d (display) switch
  5. - defaults to taking expire times for each group from a config file 
  6. - uses Expires: lines to expire old articles (easy)
  7. - uses Supersedes: lines to expire old articles (more difficult)
  8. - uses Control: messages to cancel articles (more difficult)
  9. - allows -i interactive switch switch to interactively delete articles (no need
  10. for iexpire program then)
  11. Careful when implementing these, though!  The article numbers will no longer
  12. match those in the users' .nrc files.  Maybe replace deleted articles in the
  13. middle of a newsgroup with an pseudo-article like this:
  14.     Newsgroups: group.name
  15.         Distribution: local
  16.  
  17.     This article is not available.
  18. (What happens to reply and other commands when operated on this article?)
  19.  
  20. fix limitation in expire so only that group currently being expired is removed
  21. from the history file (err on the side of expiring so a cross-posted article
  22. won't ever stay in history forever)
  23.  - in expire, expire history as normal
  24.  - in expirei, expire history to the second days on the command line
  25.  
  26. expire should require a parameter in the group name field when using the -e n
  27. option
  28.  
  29. change .nrc file to newsrc format, or at least compress it
  30.  
  31. allow personal.rc loading if only UUPCNEWS and USER or LOGNAME environment
  32. variables are set -- look up passwd file in UUPCSYSRC directory to find home
  33. dir of USER/LOGNAME and therefore personal.rc
  34.  
  35. when saving files to disk from snews, don't expand tabs (not easy)
  36.  
  37. Allow editing of all article headers with the message & signature (make this
  38. an option in the .rc file)
  39. - alternatively, look for lines at the top of the message which look like
  40. part of the header (i.e. no spaces before a colon, blank line before body
  41. text) and ask the user to "Merge header lines in body with header (y/n)?"
  42.  
  43. Fix reading RFC-1036 headers which wrap over to another line
  44.  
  45. Followup articles should go to all groups in Newsgroups: line, not just current
  46. group
  47.  - assume groups not in ACTIVE file are ok to post to
  48.  - make sure article is stored immediately to all cross-posted groups
  49.  
  50. Articles to a moderated group should be mailed to the Approved: header address
  51. (make sure cross-posts work correctly to moderated groups, too)
  52.  
  53. Header parsing when posting should happen at post time -- this will allow 
  54. unlimited References:, Newsgroups:, etc.
  55.  
  56. add MIME headers to outgoing messages
  57.  - start with Content-Transfer-Encoding: 7bit or 8bit, depending on body
  58. contents (this might not be accurate -- 7bit might actually be quoted-printable
  59. and 8bit might actually be binary)
  60. - if 7bit, assume character set is US-ASCII
  61. - if 8bit, use the CharSet= variable in .rc file to choose character set
  62. (default is no charset= on Content-Type line)
  63.  
  64. found a post with X-Charset: ISO-8859-1 -- could support this, but how long
  65. will this type of header be around?
  66.  
  67. If MIME-Version: is found, then "default Content-Type: is text/plain; charset=
  68. US-ASCII"; Content-Transfer-Encoding: defaults to 7bit
  69. - make sure to check headers for 8 bit characters, too.
  70.  
  71. Could add Content-Length:, but is there a need?
  72.  
  73. add base64 and quoted-printable text display on a line-by-line basis by
  74. adding a function mime_decode_line(char *, enum mime_decode_types) and
  75. piping its output to display_line()
  76.  
  77. add text/simplemail decoding function display_simplemail(char *) which calls
  78. translate_line()
  79.  
  80. if MIME-Version: is found, assume US-ASCII character set unless otherwise
  81. specified (this doesn't really buy anything, though, except maybe in multipart
  82. messages, and even then it might not be right)
  83.  
  84. Allow quotation marks around charset="xxx" in Content-Type: header
  85.  
  86. allow editing of the entire article, including headers
  87.  
  88. change post_sequence() to use sopen() with O_RDWR and SH_DENYRD and SH_DENYWR
  89.  
  90. add keys to go to top & bottom of screen (thread & group selection)
  91.  
  92. add mouse support
  93.  
  94. more time efficient storage of article headers (like snews /2)
  95.  
  96. modify character set support to load the correct mapping tables for the current
  97. code page from disk at run time
  98.  
  99. have SNews actively select the most appropriate code page for each article
  100.  
  101. add F4 to pipe entire thread at thread selection level
  102.  
  103. add support for mapping arbitrary ~/ file names in pipe command
  104.  
  105. Display the word MIME in the bottom right hand corner of the screen when the
  106. MIME-Version: header is found (or when an unsupported content-type is found)
  107.  
  108. display the character set in use when the F3 key is hit to change char set
  109.  
  110. change smartcmp() to kill trailing spaces so thread subjects with trailing
  111. spaces are added
  112.  
  113. add 'k' command to mark the current thread as read (from thread selection and
  114. article reading modes).
  115.  
  116. add command to mark all threads to this point as read (catch up to current
  117. thread)
  118.  
  119. add command to toggle display groups/threads from all to just those with
  120. unread articles
  121.  
  122. allow user to specify if file is to be saved in mailbox format or not
  123.  
  124. allow user to specify alternate mailer to use for replying to articles
  125. (Mailer= variable in config file)
  126.  
  127. add command-line option to snews for "safe" mode; disallows !, |, 's'
  128.  
  129. add command-line option to snews to select code page (-p n) -- good for users
  130. with a new code page, or terminal users
  131.  
  132. fix unbatch so it uses the length after #! rnews nnn instead of just looking
  133. for the #! rnews line (or at least check that nnn is a number).
  134.  
  135. fix unbatch so it doesn't add an extra line at the end of every article
  136.  
  137. make sure articles ending with CR/LF lines are processed correctly (i.e. strip
  138. off CR on every line) -- unbatch
  139.  
  140. maybe change enum exit_codes and other enums to typedefs
  141.  
  142. add variable to select posting log file (post.log)
  143.  
  144. move all posting operations into another program, pnews (may not be worthwhile)
  145.  
  146. unbatch should uncompress with spawn() instead of system() and look at the
  147. return code
  148.  
  149. allow esc key to abort thread loading
  150.  
  151. only save the .nrc file if new articles have been read (or 'c'aught up)
  152.  
  153. add article 'C'ancel command (generate Control: message)
  154.  
  155. support 43 lines (actually n lines) and perhaps 132 columns (or n columns)
  156.  
  157. have a toggle key to go between the group name and group description, stored
  158. in a newsgroups file
  159.  
  160. do something with ctrl-break instead of ignoring it
  161.  
  162. add Tass-like keys (from tass source)
  163.  
  164. allow three config files to all be read -- uupc.rc, snews.rc and personal.rc
  165.  
  166. Add option to use domain name in Path: line (maybe PathName=name.to.use.in.path
  167. where the special word domain means to use the domain name, not uucp name)
  168. - better yet, just allow user to override Nodename= in the snews.rc file with
  169. whatever he wants to go into the Path line (that will work, right?)
  170.  
  171.  
  172. Bugs (very conservatively defined as such)
  173. ------------------------------------------
  174. fix bug when sending mail with a " in the Subject:
  175.  
  176. see if expire bug still exists that deletes the original newsbase name even
  177. before the new newsbase is written
  178.  
  179. fix bug that *appears* to eat memory after Aborting during posting (maybe
  180. not aborting, too) (was this fixed with the open file bug? probably)
  181.  
  182. fix file name input routine to work when RAW is on
  183.  
  184. fix bug in unbatch that appears to truncate to 1 blank line mega collosal large
  185. (12000 line) articles (I see no reason this didn't work, though)
  186.