Demon Internet Simple News v1.28 ================================ [ This is a copy of the standard PC documentation with the Atari specific ] [ details interspersed. ] [Atari differences indicated thus]. [ Atari port by Graham Judd - gjudd@siward.demon.co.uk ] [ gjudd@cix.compulink.co.uk ] [ Port released 18 June 1994. ] [ Please note that I am working in California until the end of September ] [ 1994 and I will not be available for any support questions so use this ] [ release at your own risk! ] GENERAL ======= 1.28 is a minor upgrade to fix bugs that have been reported in Snews 1.27 over the last 4 months. Colour processing from the snews.rc file now ignores incomplete lines, rather than setting to black. [ Colour is not supported in the Atari port]. Support has been added for a list of suspended newsgroups. This is functional in Snews, but will only be of real value when the DIS front end has been updated to support suspended newsgroups. The suspend list is an ascii file containing one newsgroup per line. The file is called 'suspend' and should be placed in the snews directory, the same location as the file 'active'. A newsgroup placed on the suspend list is highlighted in Snews newsgroup display with brackets '[----]' and is bypassed by the normal TAB key reading functions unless deliberately entered using the enter or arrow keys. Attempts to post to or follow up in a suspended group are met with a warning message, which must be accepted before posting is permitted. Rmgroup will refuse to delete any newsgroup on the suspend list. NOTE: Unbatch and Expire will still process suspended groups as normal. UNBATCH ======= 1) Error checking has been improved in a number of situations where previously error handling was left to DOS. 2) Unbatch now attempts to remove all its lock files when it finishes. This can not be 100% as there are valid reasons for not removing lock files. (e.g. Removing lock files when they were present before unbatch was invoked) 3) Unbatch did not account for the increasing size of the in memory history list when running. This is the cause of some of the 'out of memory' errors. Corrected. 4) The bugs preventing unbatch processing multiple batch files in a single pass have been corrected. [ The function of the -f and -l switches have been reversed. ] [ If -f is specified, it now means DO NOT filter non-printables. ] [ If -l is specified, it now means DO check article length. ] [ I have done this because the default action for -f could cause ] [ bus errors and I have not had time to find out why; ] [ and the default action for -l was causing #!rnews headers to be ] [ missed, with the result that messages were being appended to ] [ other messages and hence being placed into the wrong group. ] [ If you are specifying either the -f or -l switches when running ] [ unbatch, do not do so; if you were not, you will have to specify ] [ them to get the same functionality as SNews1.27. I would ] [ recommend that you do not specify these switches unless you have ] [ a particular need to do so. ] SNEWS ===== 1) The 'K' command now prompts for confirmation (in non expert mode) at both the thread and article levels. 2) The 'o' command is now supported at the thread level for printing a full thread. [ I inadvertantly forgot to define 'stdprn' to be 'stdprt'. It is ] [ defined to 'stderr' so printing will be to the screen unless you ] [ can redirect stderr. You will have to save a group/thread/article ] [ and then print the saved file. Sorry... ] 3) At the thread and article levels the 's' command now permits an abort, replace or append choice if the file named already exists. 4) XX.YY style added to smart thread matching routine. 5) The text from an entire newsgroup can be saved by entering 's' at the newsgroup selection screen, with the pointer marking the group to be saved. 6) In article display, lines were being wrapped 1 column early. e.g. at col 79 on an 80 col display. Corrected. 7) There is a limit in alias handling in that a name prompt can be answered with an alias, *or* a proper name. A mixture of alias and full names, or multiple aliases is not correctly processed. This, and the limitation of aliases not being accepted after entering the editor will be addressed in a future version. 8) When an article with follow-up to poster is followed up, but to the newsgroup, not the sender, it was posted to newsgroup 'poster'. Corrected. 9) New item in snews.rc - footers. When set to 'on' snews will add the signature separator "-- " before the signature and will also stop quoting included text (for example when quoting messages for followups) when this separator is found. The default is 'on' which corresponds with current behaviour for adding the separator. This setting can be altered for the current session from the F3 settings screen. [ So, if you have "-- " in your .sig file, take it out. ] 10) If a newsgroup is on the suspend list, it is displayed on the newsgroup selection screen enclosed in square brackets '[--]'. Selecting groups by the TAB key, will bypass this group, rather than enter it of there are any new articles to read. Enter and arrow keys will still enter the suspended group. EXPIRE ====== 1) A check has been added to prevent expire removing out of time sequence articles when expiring articles. This should reduce the incidence of 'Article xx found, when yy expected'. Thanks to ubik.demon.co.uk for assistance in adding this feature. 2) If articles are found out of time sequence when expiring, they are now retained and the time corrected to match the sequence. 3) The bug preventing 'expire 0' from working has been corrected. REINDEX ======= No changes. ADDGROUP ======== No changes. RMGROUP ======= 1) If a newsgroup is on the suspend list, rmgroup will refuse to remove the newsgroup form the active file. Malcolm@muir.demon.co.uk 2 Apr 1994 ========================================================================= [ gjudd@siward.demon.co.uk, gjudd@cix.compulink.co.uk ] [ 18 June 1994 ] [ Please note that I am working in California until the end of September ] [ 1994 and I will not be available for any support questions so use this ] [ release at your own risk! ] ========================================================================= Demon Internet Simple News v1.27 ================================ GENERAL ======= 1.27 is a minor upgrade to overcome a problem in setting the organization header blank. Knows bugs since 1.26 have been fixed and one new feature added. SOURCE CODE CONTROL =================== I have now changed to using Microsoft Delta as my source code control tool. (In parallel with GNU RCS at present) the only effect of this is the appearance of a new file in the source (version.h) and a change in the version number format shown by the 'v' command. UNBATCH ======= 1) Subject lines when extracted from articles are now limited to 128 characters. Long subjects are a cause of index corruption during expire and this change should reduce the occurrence of corruption of news during expire. It will however not be fully effective until all the old news is expired from a newsbase. SNEWS ===== 1) The article header display routine was being broken by any (rare) articles with Newsgroups: header lines > 256 characters. The buffer size is now 512 characters. 2) Entering 'q' or ESC when displaying an article marked that article as read. This is possibly not what is implied by quitting. These keys now leave the article unread. 3) The article display header was showing double 'at' separators. Fixed. 4) A blank 'organization' line is now acceptable in snews.rc and results in the organization header line being omitted from the article / mail. 5) References lines are restricted to 256 characters when quoting previous article references. 6) Followup articles now quote the subject from the article being followed-up not the first article in the thread. 7) An new item 'matchlength' has been added to snews.rc This item determines how the subject threading is handled. By default if a subject is less that 15 characters, the full subject lines must match for both articles to be considered to be the same thread. If the subjects are both longer that 15 characters, then the match is only performed for the shorter of the two subjects. matchlength allows this default of 15 to be changed. Special cases: 128 - both subjects must be an exact match. -1 - Subjects will never match. At the time or writing matchlength is not supported by DIS.EXE 8) A line at the bottom of the screen was cleared to the wrong colour when the confirmatory message is displayed after posting / mailing. This has been corrected. EXPIRE ====== 1) Subject line lengths are now restricted to 128 characters when reading and re-writing the index files. REINDEX ======= 1) Changes made to the active file are now recorded in the messages produced on completion. 2) Subject line lengths are restricted to 128 characters when re-writing the index files. Malcolm@muir.demon.co.uk 5 Dec 1993 ========================================================================= Simple News 2.0 DIS 1.26 ======================== General ======= 1) This is a minor bugfix release to Snews 1.25 Snews ===== 1) If a followup was made to an article with a references line longer than 255 characters, Snews crashed. Corrected. (References lines for followup articles are now restricted to 240 characters) 2) I have a number of reports of unpredictable behaviour after 's'aving a thread or article. Whilst not a bug, Snews waits for a character press to clear the 'article(s) saved' message. Most information messages now require a key press in this form, however this particular one failed to say 'press any key'. I have added this message. The usual problem with pressing function keys or arrow keys at this prompt still exists however. (It will be addressed soon) 3) The From: line in the article display header has been reformatted for better display in 132 column mode. 4) In non expert mode, 'z' at the article selection menu, followed by 'y' caused Snews to hang. Corrected. 5) The help screen layouts have been corrected and new items added. 6) The Page up and Page down commands at the newsgroup and thread selection screens now consistently move one half page up or down. This removes the previous problem of skipping newsgroups when the pointer was in the lower half of the screen. The 'b' and ' ' (space) keystrokes for paging up and down still operate the old way and will be changed on a future release if the new way is accepted. 7) When in non-expert mode, you are now prompted to confirm the name of the addressee when 'r'eplying to an article. If you answer 'no' an opportunity is given to enter the address you require. Unbatch ======= 1) A new line was not being output after unbatch asked the question about loading a partial history file. Reindex ======= 1) The handling of the 'cursor' in the newsgroup selection screen has been changed to improve compatibility with speech processors. Malcolm S. Muir 13 Nov 93 =========================================================================== Simple News 2.0 DIS 1.25 ======================== General ======= 1) Snews 1.25 source now compiles under Microsoft C 8 without source changes. (The compiler conditional __TURBOC__ is used for control) Only one warning is produced at level 3. Minimal testing has been carried out with the MSC executables, but no differences have so far been noted. The Borland version is still the version being distributed. Snews ===== 1) The functions of 's' and 'S' have been reversed to be consistent with earlier version of Snews. 2) The Newsgroup and Thread displays have been moved down one row to their correct position relative to the header. 3) An abort option is added to the question 'Quote Article' in both posting followup and reply to article. Entering 'a' at this prompt aborts the followup / mail completely. 4) A number of 'y'es 'n'o prompts were case sensitive. These have been changed to case insensitive. 5) A new configuration item 'TAB' is added to Snews.rc to control the action of the TAB key when reading news. The default action is the new style action of moving through unread articles by simply hitting the tab key. To return to the old style TAB action, set the TAB item to "off". For example: TAB=OFF If there is no TAB item, or TAB is set to 'on', the new style tab reading will be enabled. 6) A new configuration item 'HEADERS' is added to Snews.rc to control the quoting of headers into quoted articles. By default headers are not quoted in mail or followup. Setting this item on will enable the quoting of such headers. For example: HEADERS=ON If there is no HEADERS item, or HEADERS is set to 'off', headers will not be quoted. 7) At the end of every posting, followup or mail activity a consistent confirmatory message is given to show if the item has been send, or aborted. 8) Entering 'z' at the article level, will mark the currently displayed article as unread and move to the next article. 9) With local posting enabled, Snews would append article ID's to the ka9q history file without first checking for a lock. Corrected. 10) The F3 key now permits a number of configuration items to be changed 'on the fly'. Configuration values changed from this screen are only effective for the current session. 11) Snews articles had an extra space added to the subject line when following up postings. This confused other newsreader threading algorithms and has been corrected. 12) Screen sizes of > 25 lines or >80 columns are now better supported. (Tested at 132x43). 13) The minimum length string compare in Subject threading has been changed to 15 (was 10) characters. (i.e. a short subject line must have > 15 characters before the comparison over only the length of the shortest subject is considered sufficient) 14) An error in the 's' save article / thread routine has been corrected. (Under certain circumstances a thread was not saved when the file already existed and append was answered 'no'. 15) Wherever a mail name is requested, a check is made for a domain. If no domain is present, the local domain is added. 16) A bug in alias file handling causing rubbish to be placed in the To: line has been fixed. 17) Handling of Subject lines in changed such that lines starting Re: are no longer truncated from the right to the last Re: but from the left to the first non Re: item. Subsequent Re:'s will now be displayed. 18) Null items in Snews.rc are now rejected instead of causing problems. Unbatch ======= 1) Unbatch now truncates subject lines longer than 255 characters. Such line lengths are illegal in headers, so nothing important will be lost. 2) Unbatch now only reports failure to load the entire history file if verbose mode is set on (-v). 3) Exit codes are implemented. Successful unbatch sets errorlevel to 0, any other error sets errorlevel to 1. Expire ====== 1) An erroneous error message relating to out of disk space has been corrected. 2) Exit codes are implemented. Successful expire sets errorlevel to 0, any other error sets errorlevel to 1. Malcolm S. Muir 31 Oct 93 =========================================================================== Simple News 2.0 DIS 1.24 ======================== +-------------------------------------------------------------------------+ | CAUTION - COMMAND CHARACTERS HAVE CHANGED IN SNEWS. PLEASE READ THE | | DOCUMENT 'COMMANDS.DOC' BEFORE STARTING TO USE THIS RELEASE. | +-------------------------------------------------------------------------+ 1.24 is primarily a bug fix of the beta test version 1.23 No major changes are incorporated in this release. Support is being added for compilation under either Borland C++ 3.1 or Microsoft Visual C++ 1.1 using compiler conditionals. The MSVC support is at present incomplete. Snews ===== 1) Incorrect items on the help screens have been corrected. 2) Errors in the colour support have been corrected. 3) Some spelling mistakes have been corrected. 4) Accidental omission of the support for swapping out Snews before entering the editor, or DOS Shell has been reinstated. 5) A bug which could cause To:, CC:, etc. lines to be read from the body of a quoted article and result in mail / news being misposted has been corrected. (Thanks to Graham Toal for finding this) 6) The From header in the log files contained an erroneous 'Date:' string. This has been removed. 7) F3 will toggle Expert Mode from any menu. The default value of Expert Mode set in Snews.rc is not changed by use of F3. 8) The 'B' report a problem has been enhanced to ask questions relevant to the problem being reported, by first presenting a menu of problem topics. (e.g. PCElm, Snews ...) 9) The 'c' (mark thread read) option, when answered with 'n' lost the place in the selection menu. Corrected. Expire ====== 1) Colour support corrected. 2) A bug leading to one item (the last) in the expire.dat file not being used by Expire has been removed. (Thanks to Cliff Stanford for finding this) Malcolm S. Muir 26 Sep 93 =========================================================================== Simple News 2.0 DIS 1.23 ======================== Unbatch ======= 1) An error in file locking which prevented Unbatch working on batch files with short names has been fixed. 2) A new option is added '-d' to force Unbatch to process via disk, not memory. If unbatch terminates with an out of memory error, it should be run again specifying this flag. When run this way, immediately after the error, the remainder of the batch that was previously not processed will be unbatched with no missed articles or corruption. 3) Unbatch now issues a warning message if it is unable to load the whole of the history file into memory. You can then exit (and expire some news to make space) or continue and risk accepting duplicates as you choose. Snews ===== 1) Snews optionally no longer has the double edit mode, where it is necessary to enter edit a second time to edit header lines. By setting 'expert=1' in snews.rc the editor will be entered immediately with the full article / mail formed ready for editing. 2) A new item is introduced into the snews.rc configuration file: editline - the parameter following this line is the command that will be passed on the command line when the editor is invoked. It may contain a single '%d' which is replaced with the decimal number of the first line below the header when the editor is invoked. If your editor is unable to accept such a command line, do not define this item in snews.rc This is an example of such a line for use with Brief: editline=-m"goto_line %d" This item is only needed if you are using expert mode. 3) Distribution of a followup posting now follows the same distribution as the article that is being commented to. In the absence of a Distribution line, no distribution is added. 4) The default distribution is now not to have a distribution line. 5) The references line now copies the entire references item from the previous article, suffixing it with the article ID of the article that is being followed up. 6) A Follow up article is now posted to all the newsgroups in the Newsgroups line of an original posting, not just the group the article is read from. If the article contains a Followup-To: line, this is copied to the Newsgroups line of the followup article. 7) Backward search is now available at the thread level for both article and subject search. 8) Search for newsgroup name is now implemented (forwards and backwards) at the newsgoup level. On entry to Snews, the initial default newsgroup search string is set to "demon" to allow quick selection of the demon articles. 9) It is now possible to send mail from any display in Snews. The command is 'M' (Capital M, small m mails an article to someone) 10) To support mail from Snews a new item 'maillog' is added to snews.rc This is the name of the pseudo user that is to receive a copy of all outgoing mail. If not set in snews.rc, this item defaults to 'outmail'. 11) Cc: Bcc: and Bc: lines are supported in mail items sent from Snews using the 'm', 'M' 'r' and 'R' commands. To enter the copy destinations either enter the edit option again when asked if you want to (S)end (E)dit or (A)bort, or enable expert mode. 12) To: Cc: Bcc: and Bc: lines can have multiple recipients. Recipients can be separated by space, comma, tab or on sequential new lines, each with a leading space. Multiple TO: destinations can be entered to the Snews mail prompt, or edited into the message later. Empty Cc: Bcc: and Bc: items do not need to be removed from headers, as they are deleted by Snews if found to be blank. To enter the copy destinations either enter the edit option again when asked if you want to (S)end (E)dit or (A)bort, or enable expert mode. 13) Many new commands have been added. These are outlined on the Help screens and in the new Commands document. Command keys in most cases follow TIN conventions. Upper and lower case versions of key strokes are not necessarily identical. (see commands.doc) 14) A number of existing command keys have changed. Significantly 'p' for post is now 'w' for write. Such changes are to give closer conformity to the TIN newsreader. 15) A number of prompts have been removed. Snews expert mode (or the second edit of article / mail) places uncompleted or default header lines in the article / mail it presents for editing. If empty items (e.g Cc:) are not filled in during edit, they are removed before sending the item. 16) A startup screen has been added to Snews. This is primarily to identify the version of Snews. This allows me to remove the version ID from the headers, releasing the space for better use. There is a new 'v' command to view the version information from any command level. 17) The free memory display is moved to the bottom prompt line, again to release space in the headers. 18) To support those users asking for a prompt before being dropped into DOS when pressing 'q' or ESCAPE from the Newsgroup display, a new item 'exitconfirm' has been added to snews.rc The default is not to ask for confirmation, however by adding the following line: exitconfirm=1 to snews.rc, an 'Are you Sure ?' prompt will be asked before Snews exits to DOS. 19) The Quotemark item in snews.rc now supports the use of the underscore character (_) as a space. i.e. if you place underscore characters in the quotemark item, they are converted to spaces when quoting. 20) It is possible to stop the copy of mail and/or articles being placed into the mail files by setting the mailuser and/or mailog items in snews.rc to either a blank string or the key word "none". 21) An expert mode is defined in snews.rc using the key word "expert". It is set to either "0" or "1" and defaults to not using expert mode. expert=1 sets expert mode on. 22) Shell to DOS has been added to Snews. It is available from any screen by typing "!" (exclamation mark). Remember to type "exit" to get back to snews. Snews is swapped to XMS/EMS/DISK on shelling out so as much low memory as possible is free for your DOS session. 23) Limited support for PCElm style aliases has been added to the 'R' reply to someone, 'm' mail article to someone and 'M' send mail commands. Aliases are only expanded from the Snews prompts, not as a result of editing the header lines. Aliases are not expanded recursively. To support this a new item is added to the Snews.rc file, aliasfile. This should contain the fully qualified name of the alias file. (the full name of the file should be given, not just a directory) e.g. aliasfile=c:\nos\pcelm\alias where the alias file is called 'alias' with no extension. The default is not to look for aliases if this item is not included in the snews.rc file. 24) Expert mode now affects the prompts that appear for confirmation on killing and restoring threads. In expert mode the commands have immediate effect. In normal mode, the commands ask for confirmation as documented. 25) A 'B' - Mail a support (Bug) question to the Internet Support Team option has been added. This can be activated from any selection menu by entering 'B' (upper case). Snews asks for details of the problem followed by a set of questions relating to your set up. The DOS command line editor is used, thus this option will work even if you are unable to get the Snews editor option to function. Malcolm S. Muir 11 September 1993 ============================================================================ Simple News 2.0 DIS 1.22 ======================== 1) I have now succumbed to passing the source through a c beautifier and have started to tidy it up to make it easier for me to work on. My apologies to anyone keeping diffs, but the time had to come. 2) Snews DIS 1.22 is now based on version 2.0 of Snews. 3) I have incorporated a number of my own ideas / changes to make Snews less memory hungry and (in places) faster. 4) The 'permitted posting file' "ng" is now optional. If this file does not exist, posting will be permitted to all newsgroups, even fictitious ones. If the "ng" file is found in the Snews directory, it is used as previously documented. 5) The use of the heap debugger testmall has been removed as I now have access to Nu-Megga Bounds Checker (recommended). 6) The module VIDEO and the files VIDEO.* have been renamed to SCREEN and SCREEN.* to remove a key word conflict with Bounds Checker. 7) Many minor bugs have been fixed, the principle changes are noted below. No doubt new bugs have been introduced. Please continue to report them, along with feature requests. UNBATCH ======= 8) Unbatch now processes items in memory (provided they fit) as opposed to in a file ($$item) on disk. This will (I hope) eliminate the problems with unbatch crashing on large batches, leaving temporary files around etc. Unbatch checks for a minimum of 64K free memory (after loading the history) before proceeding. If unbatch is unable to fit an article in memory, it unbatches via disk in the file $$item which is now created following the path set for the temporary files in snews.rc THE ENVIRONMENT VARIABLES 'TMP' & 'TEMP' ARE NO LONGER USED, PLEASE CHECK THAT YOUR SNEWS.RC HAS A VALID TEMPORARY FILE *PATH* SET. (i.e a path, not a file name) Unbatch will refuse to run if it is unable to create a file on this temporary path. Unbatch uses the rfc1036 style batch header to determine the length of an article. The current version of ka9q (2.11) provides this information in its headers. If Unbatch can not determine article sizes from the headers, all processing will be on disk. 9) Unbatch when scanning for new newsgroups would pick up Newsgroup: lines from the body of an article in error. Corrected. 10) Unbatch will now invoke Snews at the end of a successful unbatch by using the command line parameter -x when starting unbatch. Snews is searched for in the current directory, then in the path and must be called 'snews.exe'. 11) When invoked with -a or -i all newsgroups found were not added (the last one found was dropped). Corrected. 12) Unbatch now correctly checks the drive on which the newsbase resides for free space, not the drive on which the nntp batch resides. ADDGROUP ======== 13) The line ending for groups added to ng by addgroup was Unix style, now corrected to DOS style. (I had previously corrected active, but not ng) 14) If the posting authorisation file 'ng' does not exist addgroup no longer reports an error, but simply passes comment. RMGROUP ======= 15) Rmgroup now removes groups from the ng file. If the posting authorisation file 'ng' does not exist, addgroup passes comment, but does not consider it an error. EXPIRE ====== 16) Expire failed to turn off archiving in some circumstances when changing newsgroups, corrected. 17) Expire placed an invalid separator between items in the archive file, corrected. 18) Expire now reports the newsgroup name if it finds an error. SNEWS ===== 19) It is now possible to override the default ID (mail2news) that news articles are sent to for posting by Demon. The item "newsid" in snews.rc sets this ID. 'newsid=mail2news' This item is optional and defaults to mail2news. It is provided as an insurance against any future changes that may be made to the handling of news at Demon. 20) Snews previously did not place a To: line into headers of news articles. This could possibly break some mail systems. An appropriate To: line has now been added. 21) The Organisation: header line was still being picked up as rubbish in certain circumstances. Hopefully fixed this time. 22) The post=local addition to snews.rc for enabling local posting has been extended. Placing 'post=local' into snews.rc will, as before, cause articles you write to be placed immediately into the local newsbase and not be requested from demon. (i.e. duplicates are prevented) However this article will not now be marked as read. Articles posted locally in this way are not presented immediately for reading, but only after returning to the main Newsgroup display. Of course if posting is done at the Newsgroups display, the article is presented immediately. This restriction will be addressed in a later release. The previous behaviour of marking locally posted articles as read without them being actually read can be re-enabled by changing the snews.rc line to read 'post=local/read'. If both lines are placed into snews.rc (they should *not* be) only the latest line in the file will have effect. NOTE - The memory display at the bottom of the screen shows a loss of memory as articles are posted with local posting enabled. This is not a memory leak (this has been confirmed using Nu-Megga Bounds Checker) but rather is due to fragmentation of the local heap when the read list is regenerated in memory. 23) The configured colours were not honoured on the opening screen of Snews. Corrected 24) Both upper and lower case letters are now accepted for all commands, except those that have different meanings for upper and lower case. 25) '?' no longer accesses the help screens due to a conflict with the search facility. I am told that the use of '?' as a search command is a standard (vi ?). Help is still available from 'F1' and 'h'/'H'. 26) From the thread display, now takes you to the last (read or unread) article in the selected thread. (i.e. the reverse action to the key) 27) Search (forwards) through subjects with '+' or through whole articles with '/' from the thread selection level. If searching through whole articles, Snews moves only the pointer to the thread in which there is an article containing the selected text. You then have to press or to open the thread. If you want to get the actual article containing the text, press '/' or '+' and then just hit . I think it would be a bit confusing if Snews were to move you directly to the article, because you would not have had the opportunity to see the thread in which the article was found. Regular expressions are not supported. If anyone can point me at some compact PD (or GNU) source for regular expression searching, I would be grateful. Searching is also on a line by line basis and does not extend across line boundaries. 28) Snews can now save (articles or extracts) in full even if they cause a 'memory low, partial article only' error when attempting to view the article. 29) The name entered for saving articles is now sticky, remaining as the default for the session. This also applies to the string given for searching. 30) Printing of an article is now directly supported by use of from the display of an article. Output is to the standard printer device. A form feed is automatically sent after an article is printed. 31) Snews now reports an error if it is unable to run the editor for any reason. The failed command line passed to the shell is shown. 32) Use of the key at the newsgroup and thread display is now consistent. enters the first newsgroup with unread items from the newsgroup screen. Previously is did not enter the thread screen unless was pressed. The up/down arrow and page keys still move up and down the newsgroup screen. 33) In the JUNK group, snews now shows the actual newsgroup in the status banner at the top of the screen whilst read an article, rather than junk. I have considered displaying this at the thread screen, but I can't at the moment see a way to do it without an unacceptable impact on memory use. 34) Also see the document 'commands.txt' which is a full description of the key commands supported by Snews 1.22 Numerous additional keys are available and slight changes have been made to existing key functions. 35) The help screens accessed by F1 have been extended to show the new and changed key strokes available. REINDEX ======= 36) A menu of available newsgroups is now presented if reindex is started without a newsgroup name on the command line. NEW UTILITY - LSI ================= LSI (Logical Snews Indexer) is a utility to re-build the file 'active'. LSI is written and maintained by rjb@sound.demon.co.uk and distributed with Snews as a useful extra. Source is available with the full Snews source archive on demon. My thanks to Rob for his work. malcolm@muir.demon.co.uk 5 July 93 ============================================================================ Changes to Snews introduced in version 1.21 1) When presented with an article that is larger than will fit in memory Snews abruptly aborts to DOS (leaving lock files in the process). This has been addressed by detecting low memory and and only reading that part of the article that will fit into memory. NOTE: This release does not permit the saving of articles longer than can fit in memory, only part articles will be saved. This is better than available in versions < 1.21 where Snews aborted with large article saving ! A later version will address this, but there is a pressing need for release due to item 2). 2) Due to the unusability of the standard Borland library implementation of tzset during Summertime of 1993, this function has been replaced with tzset12 by Giles Todd. Source for this module is available on ftp.demon.co.uk in the directory /pub/ibmpc/misc as tzset12.zip. This change extends the syntax of the TZ environment variable. Full details are contained in the archive referred to above. UK users in 1993 must set the TZ environment variable as follows for correct operation: set TZ=GMT0BST1,M3.4.0/02:00,M10.4.0/02:00 In the unlikely event that this interferes with the correct operation of other applications, this string may be assigned to the GTZ environment variable instead. malcolm@muir.demon.co.uk 6/3/93 ============================================================================ Changes to Snews introduced in version 1.20 1) Expire supports a new variable in the file expire.dat used on selective expiry: [LIFE] - if this appears in the file, it must be followed by a number to indicate the maximum period in days that an article's history details are retained in the file history.snw This parameter prevents the history file growing continually and slowing down Snews. The setting of [LIFE] has no effect on the retention of articles in the newsbase, only the history information relating to them. [LIFE] should be set to longer that the period news is retained on the host to be sure repeated articles are not added to the newsbase. 2) Expire now supports archiving of items expired from a news group. To archive a newsgroup, add the name of the archive file to the end of an appropriate line in expire.dat The format of the expire.dat file is now:- Newsgroup Time File e.g. demon.support 30 g:\demon\support.acv Each field should be separated from the next by whitespace. The first two fields are mandatory, the filename is optional. When a filename is present, any articles removed from the newsgroup will be appended to this file. The same file can be used for any number of newsgroups. Articles are written to this file in the same form as the batch.txt file written by ka9q. 3) The article display 'Article: x of y' overflowed if there were more than 99 articles in a thread. Now expanded to 999. 4) The X-header was X-Mailer instead of X-Newsreader. Corrected. 5) Snews would pick up rubbish for the Organisation and Author fields under various circumstances. Corrected. 6) Unbatch would change the directory on non default drives when testing for the existence of paths specified in environment variables. These drives are now returned to the path they have on entry to unbatch. 7) The current line number (of the first line displayed) is shown in the header of the article display in the form "xxxx / yyyy lines". 8) Unbatch now checks the article length, if available. 'Rnews' tokens in article bodies should now be skipped. This behaviour can be overridden with a new -l (for length_check) command line parameter. 9) Unbatch can optionally add any new newsgroups it finds to the newsbase. Two options are available controlled by command line parameters. -a - add automatically (i.e. without asking) any new newsgroups found in the newsbatch files. (Default is off) -i - add interactively (i.e. ask first) any new newsgroups found in the newsbatch files. (Default is off) If both -a and -i are set, the last option on the command line will prevail. The addition of new groups for cross posted articles is controlled by the setting of the junk flag. Any articles that would otherwise be posted to the Junk newsgroup will be considered for addition. For this option to work, unbatch must be able to execute addgroup. Please ensure that addgroup is on your path, or in the default directory before enabling this option of unbatch. Note that the fetching of new newsgroups is not affected by these option settings. You still need to edit nntp.dat or autoexec.net to fetch new newsgroups ! AUTHORS NOTE - This option was added at the request of users. Be warned that using the -a option without the -j option can result in many obscure and weird newsgroups being added to your newsbase ! I strongly recommend that the official front end manager DIS.EXE is used to maintain your newsgroups. 10) Snews correctly quotes From: names if they contain any RFC822 prohibited characters. (e.g. '.') 11) The option messages in Unbatch.exe have been changed into readable English :-) 12) A new option has been added to Unbatch -s which when specified stops unbatch checking for free space prior to unbatching news. This option should be set if you encounter problems on networked systems. 13) A code error in unbatch resulted in the temporary file $$item being opened twice in succession with no intervening close. - corrected. 14) A bug has been fixed in the code testing for temporary directories whereby a pathname was incorrectly formed. 15) Following a suggestion that some networks are unable to handle opening a file when passed a fully qualified file name, the code to handle this in unbatch has been changed to a) change drive; b) change directory; then c) open the file. 16) Local news posting has been re-enabled as an option. If you want to see your postings appear immediately in your local newsbase, add the following item to the snews.rc file in the snews directory:- Post=Local The "post" keyword is not a required item in the configuration file, but if present, and followed by the keyword "local" any item posted from snews will be immediately added to your local newsbase and an entry made in the nntp history file to prevent the item being requested from demon. If you use this option, you must not delete the nntp history file, or remove recent items from it if you wish to avoid duplicate items being fetched. Also the snews history is updated so in the event of actually receiving the message from demon, it will be rejected by unbatch, assuming the snews history file is not deleted. 17) When posting an article (either new or followup) the edit option now permits editing of the whole article. If the number of lines in the article is changed, the Lines: line in the header is automatically updated after the article has been saved. After entering edit, the options available for changing the article are limited to Edit, Post and abort. 18) When 'r'eplying or 'R'eplying to an article, the Edit option now permits editing of the whole article, including headers. 19) It is now possible to edit the contents of the message formed when 'm'ailing an article to someone. 20) A further 3 occasions where blank lines were inserted at the top of mail / articles have been fixed. malcolm@muir.demon.co.uk 15/2/93 =========================================================================== Changes to Snews 1.90 DIS 1.19 NOTE - 1.19 is a bug fix release only. It addresses bugs reported in release 1.18. There are no new features in this release. 1) Unbatch now prints message lengths in verbose mode, if a message length is available. 2) Lock files are removed when a) created by Unbatch and b) a controlled exit occurs. NOTE - unbatch does not include a critical error handler and will leave lock files around if an uncontrolled error occurs (i.e. a DOS disk full error) 3) The use of TMP / TEMP environment variable has changed as:- If TMP is defined and the directory exists, it is used first. If TEMP is defined and the directory exists, it is used next. If none of the above apply, the default directory is used. 4) When the option to change the subject, followupto or distribution field of a posting was taken, there was no way to back out without losing the previous content of the field. Now, if the entry is simply a return, the old entry is retained. To delete the entry, enter a single space. 5) When entering a followup to an article an extra blank line was added to the beginning of the article, now removed. 6) If the Reply-To: entry in snews.rc was omitted or left blank, an empty Reply-To: line appeared in postings. Corrected. 7) Follow-up to 'poster' is now correctly handled as mail to the poster of the article, not a posting to newsgroup poster 8) Reindex failed when the newsgroup contained an article with a blank or non-existent Subject line. Corrected. 9) Expire now uses the colour settings from snews.rc in place of its own. 10) The need to continually answer 'Y' in reindex is overcome with a new 'D' (Don't ask) reply. Answering 'D' to the first or subsequent prompt will allow processing to complete without stopping. 11) Reindex now correctly handles a missing index file. 12) Reindex now correctly handles empty (i.e. no articles) article and / or index files. 13) Addgroup placed Unix style, instead of DOS style line endings after newly added groups. This appears to have no ill effects on Snews, but is now corrected. 14) The makefiles were not all updated to reflect the new modules added in Snews 1.18. As I am unable to test changes to these makefiles they have been deleted. ============================================================================ Changes made to Snews DIS 1.18 by MSM. Snews DIS version 1.18 is based on Snews 1.90 as opposed to 1.12 The following are the main functional changes included from snews 1.90 :- 1) Support for the use of colour in snews displays. The default colours are the same as DIS 1.17. Colours are defined by the use of the COLOUR keyword in snews.rc (Note UK spelling) as follows:- colour helpf - Set help screen forground colour colour helpb - Set help screen background colour colour textf - Set text forground colour colour textb - Set text background colour colour headf - Set header forground colour colour headb - Set header background colour colour msgf - Set message forground colour colour msgb - Set message background colour Colours are selected from :- White Black Blue Green Red Magenta Cyan Yellow (Case irrelevant) A '+' added to the end of a name (e.g. red+) sets forground intensity A typical snews.rc entry would be:- # Snews.rc colour definition section. colour helpf yellow+ colour helpb black colour textf green colour textb black colour headf blue colour headb white colour msgf blue colour msgb white 2) The help screens from snews 1.9 are used, modified to match DIS changes. 3) Help is now accessible from the F1 key. 4) A new screen shows current values as read from snews.rc. Access is by using F2. 5) An optional Reply-To: line is supported in newsgroup postings. This is activated by adding a replyto item in snews.rc. It should contain the FQDN for mail to be sent in reply to news postings. If the entry is not found, Reply-To: lines will not be added. Example:- # Reply to entry replyto someone@somewhere.demon.co.uk # This entry could be used if you wanted to post news from ka9q to demon but receive any mail replies on for example CIX. The same Reply-To is used in mail from snews. 6) A 'W' Write Thread/Article option to append the current Thread or Article to a file in a form readable by mail. This file will be in the ka9q incoming mail directory (~/spool/mail) The name of the file (or pseudo user) defaults to 'snewsex' unless defined in snews.rc using the new keyword extracts. e.g. # Mail Pseudo User Name for the news extracts file # extracts=extracts # 7) Postings and mail now have the correct termination ("-- ") prior to the signature. 8) The surplus blank line at the beginning of every article (most noticeable when quoting) is eliminated. 9 ) New option 'R' from the article read screen allows mail to be sent to someone, optionally quoting the article. The recipient of the mail is entered at the prompt, rather than taken from the article. This permits a reply to be sent to, for example the original poster, in a 'references ' type article. NOTE the distinction between 'r' for reply to reply-to address and 'R' for reply to any address. 10) Snews now allows for mail and postings to be re-edited, posted or aborted upon exiting the editor. 11) The subject line of a follow-up posting can be changed. The following corrections have been made to snews DIS 1.17 :- 1) Colour processing only permitted seven forground colours in bios.c this has been changed to permit all 16 colours to be displayed. 2) ROT13 display of articles, was present in 1.17 but not shown on the help screen. This is now shown. 3) If a followup was requested but the original article not quoted, the references line was missing from the header. Now corrected. 4) Unbatch would pick up Subject: lines from the body of an article. 5) Expire would pick up Subject: lines from the body of an article, changing the correct entry for articles that were not deleted during expire. The following additions/changes have been made to snews DIS 1.17 1) Unbatch in verbose mode now shows a count against each Message-ID processed as an indication of progress. 2) Unbatch flushes writes to history.snw as a precaution against crashing during processing. 3) Unbatch checks for article and history locks and will refuse to process articles if either the article file or history file are locked. 4) Unbatch sets locks on article and history files during processing. 5) Snews sets locks on user and history files during news reading. (History is locked to stop unbatch running whilst news is being read. A side effect due to the use of the same file name is to stop nntp fetching news. Equally two copies of snews will not run together. These restrictions need addressing). 6) Snews would wrap lines at col50 if no suitable place could be found between col50 and col79. This corrupted numerous signatures using long single character lines. Changing the search to start at col80 clears the problem and has no ill effects. 7) Unbatch would complain about a missing history.snw the first time it was run. Unbatch now asks if it may create this file when it can't be found. 8) The post log is now created in kq9a mail format in the mail directory. Posted messages can be viewed / processed as if they were mail. The name of the pseudo user to receive this information is defined by the new item mailuser in snews.rc. e.g. (It will default to 'newspost') # The name of the Pseudo Mail User that receives the news postings # mailuser=postlog # 9) The Distribution line in postings can now be changed from the default of 'world'. If a null (blank) entry is made, the Distribution line is omitted from the header. 10) The follow-up posting now has Re: prefixed to the subject line as per RFC1036. 11) RFC1036 style headers (#! rnews 12345) are now accepted by unbatch. The article length is currently ignored. This will permit ka9q to be updated to write such headers. 12) ADDGROUP now gives an informative message for each group added. 13) ADDGROUP now adds new groups to the ng (posting allowed) file by default. You need to remove entries from this file if you wish to prevent posting. 14) A Followup-To header line can now be placed into any article. 15) The environment item 'tmp' or 'temp' is now used for temporary files created by unbatch. 16) Expire now supports a newsgroup based number of days for the life of articles. The old syntax is still supported and performs as before, however if the command is entered as only 'expire' the file expire.dat in the snews directory is searched for expiry information. See the sample expire.dat for the format of this file. 17) Snews 1.17 compared the entire length of subject lines when forming its threads. I have changed this to compare only for the length of the shorter, provided it is longer than 10 characters. This has improved the threading, particularly where long subject lines have been truncated by followup posters. (But at the small risk of relating unrelated articles.) 18) Unbatch 1.18 looks for control messages in newgroups. If any are found they are placed in the control newsgroup (or junk if control does not exist) for processing by a future release of snews. 19) "Followup-To: poster" is now handled correctly. The user is asked if he or she wants to send mail rather than post to the group. New Utility REINDEX. A new utility programme called reindex is added to the snews suite. This utility will attempt to correct the 'index file corrupt' and 'article xxx' found when yyy expected' errors reported by snews. Reindex is run from the DOS prompt. It processes one news group at a time. The name of the news group to process can either follow on the command line, or will be prompted for. For each article, reindex will display the current index entry and the correct entry from the article file. If these differ, you will be asked if you wish to correct the entry. At the end of processing reindex saves the old index file with a .bak name. These files should be deleted once you are happy that snews is functioning with the newsgroup. As reindex is not able to know the posting time of articles when it repairs indexes, it takes a best guess at the value to place in the index. This means that articles may be expired sooner or later than anticipated. Reindex does not touch the user.nrc file containing the details of read articles. Edit this file by hand if it is important to you. (I just re-read those articles I think I've missed) NOTE - Reindex works for me on the corrupt newsbase files I have found and used for tests. Reindex does not delete any files except those with a .bak extension. It does however modify the snews file 'active' and 'username.nrc' It would be prudent to backup these two files before use. Reindex may be called to repair newsbases corrupted in ways I have neither tested nor thought of ! I can give no guarantee that it will not leave your newsbase in a worse condition than it finds it. Please backup any essential files before running reindex. Please continue to notify snews problems to malcolm@muir.demon.co.uk --------------------------------------------------------------------------- Changes made to unbatch 1.8 by MSM. (snews 1.2 DIS 1.17) 1) All progress and error messages now output to stderr in the format 'UNBATCH: message' 2) If command line flags are set, an appropriate initialisation message is given to confirm the processing. 3) A message is given on completion to note the number of messages processed (to compare with ka9q nntp 1.17 message). This message also gives the number of duplicate articles skipped and junk articles posted to junk. 4) The check for an available batch to process is made earlier in the programme and processing is aborted with an error message if no batches are found. 5) A -j flag is added which if given on the command line causes unbatch to post articles to junk only if the article is not posted to an active group. The default is as per previous versions, to post to junk if any group on the articles newsgroups line is not in the active list. [This is the reverse action to the snu116cs -j flag] 6) Processing of the input news batch is no longer terminated on finding a Control Z (^Z) in the file. The ^Z is simply passed into the newsbase unchanged. Snews seems to cope with this OK. 7) A -f flag is added which if given on the command line causes unbatch to filter non-printable characters out of the text passed into the newsbase, replacing them with question marks (?). Tab, Formfeed, Linefeed and CR characters are processed normally. Please notify any problems to malcolm@muir.demon.co.uk ============================================================================== ---------------------------------------------------------------------------- 1.16 DIS 17 Jul 92 1) Modified all source modules so that the program now compiles cleanly in BC's C++ mode. The extra static error checking offered by C++ picked up a couple of memory allocation bugs which are now fixed. 2) Now swaps out snews to EMS, XMS or file when spawning the editor. This should cure problems loading an editor when short of memory. 3) "unbatch" now only posts a single copy of a message to the "junk" group. 4) Added a PD heap debugging package (testmall.[ch] - thanks go to maff@cix) to catch memory leaks. This can be enabled by recompiling the source with DBG_MALLOC defined. snews is shipped with the package disabled by default as it causes quite a performance hit. 5) Fixed a memory leak. ---------------------------------------------------------------------------- 1.15 DIS 26 Jun 92 1) Fixed format of group name display in message header. 2) Fixed length of post_date field in TEXT structure. This cures the "post to group GMT" problem which occurs with some messages. The date was overflowing into the "follow_up" field. 3) Fixed make file dependencies. 4) Changed the name of the history file from "history" to "history.snw" to avoid clashes with KA9Q's history file. This should cure unbatch problems which occurred from version 1.12 onwards. ---------------------------------------------------------------------------- 1.14 DIS 24 Jun 92 1) Unbatch: fixed close of unopened file. ---------------------------------------------------------------------------- 1.13 DIS 16 Jun 92 1) Post via "mail2news" to allow cross postings. ---------------------------------------------------------------------------- 1.12 gt 12/06/92 1) Uses as many lines as are currently on the screen (for 43 and 50 line video modes), using own direct video routines 'cos TC2.0 is buggy. Also option for Bios video added (biosvideo=1 in snews.rc). 2) Message quoting character is configurable via snews.rc quotemark= parameter. The default quoting character is >. Made it apply to Reply and Forward as well as to Followup. 3) Fixed memory leak when pressing Escape whilst reading an article. 4) Tidied up keyboard/display interaction whilst reading articles. 5) Added 'Organization:' line to Reply and Forward mail messages. 6) Added 'q' as an alternative to 'ESC' throughout. 7) Rmgroup wasn't deleting the message text file. 8) Ensure tabs are also parsed everywhere spaces are tested for. 9) Sundry restructuring of knotty routines. 10) Appends ALL Message-IDs to %snews/history, not merely cross-posted articles. This is to allow checking for duplicate messages if you add a CIX usenet scratchpad. At present you have to add #!rnews lines to your scratchpad using an awk script, but in the medium term I'd like to see a separate USN2SNEWS unbatcher which checks the NNTP history file. ------------------------------------------------------------------------------ 1.11 gt 1) unbatch: only expand "Path:" line in header. 2) Removed local posting. The reason this approach to the "double posting" problem was chosen is that it provides positive feedback that your message has reached the newsgroup. 3) In Groups list, right arrow enters group (like ENTER). 4) In Threads list, right arrow enters thread (like ENTER), and left arrow takes you to the groups list. 5) In article, right arrow takes you to the next article without marking the current one as read. 6) In article, left arrow takes you to the previous article without marking the current one as read. If at the first article, takes you to the threads list. 7) unbatch: fixed insufficient disc space report. Thanks to Nikke Locke (nikki@trmphrst.demon.co.uk) for items 3 to 6. 1.10 gt 1) Put fully qualified domain name in "Path:" lines. 2) unbatch: fixed disc space check. 1.9 gt 1) Fixed the interpretation of the "mailqueue" parameter in the snews.rc file. 1.8 gt 1) Fixed a NULL pointer dereference and an undefined pointer dereference in message history lookup. These bugs were crashing snews. 1.7 gt 1) Restores the screen after help display. 2) New command: SPACE (' ') at the thread display marks a thread as read. Thanks to Nikki Locke (nikki@trmphrst.demon.co.uk) for modifications (1) and (2). 3) Fixed "From:" and "Reply-To:" parsing. Previous versions did not parse names of the form "Full Name" correctly.