History of Korrnews ===================== V2.88, 24.10.2000 - Bugfix: Base64-decoding in the header now also functions if there's an "odd" number of coded bytes => no more broken subject endings. - Modification: DecodeISO() now changes strings of several lines (headers) into a single-line, instead of maintaining the line endings. - Bugfix: Modifications by means of "Delete between" and "Set Bodyline XX =" are now registered as modifications. - New: Geziele Sig selection by syntax extension: "Set/Append Sig[nature] ..." instead of "Set/Append Sig[nature] ..." V2.86, 15.9.2000 - Bugfix: If Sig was set by script, HasSig did not function correctly. - New option "Base64 => 8Bit", limited to text/plain, was contained in 2.85, but could not be disabled and was not limited to text/plain. - Extended syntax: "Delete between first regexp, rexexp, boolean [, Back-up text]" is now just as admissible as "Delete between last ..." - New string function "GetDateTime(Formatstring)" permits selecting the current time or the current date. The following substitute symbols are permitted in the format string: "yy" or "yyyy" is for year, "m", "mm" for month, "d", "dd" for day, "h", "hh" for hour, "n", "nn" for minute, "ss", "s" seconds and "hh", "h" for 100ths of seconds. - New string function "Version" returns the version of Korrnews. - Surface easily transformed (paragraph name corresponds now to "General", some Buttons moved, "New" and "Copy" are now separate Buttons) - Surface: Assistant for Hamster version V1.3.21.80 or higher. V2.85, 27.8.2000 - bug fix: Option From/Reply-To in format "..." <...> is changed, now also correctly returning <...>-addresses without names. - modification: The string function "Header" supplying headers of several lines including CRLF is now back. - bug-fix: The recognition of whether Lines are to be inserted several times, now works again. - Header.def: - extended Do-Replace syntax: Do Replace ( first | last | all ) with _ [ in ( Body | Lines | Sig | Header | Intro | ) ] _ [ from ] [ to ] Notes: In the case of Headers or in the case of qp-text, a line can also have CRLFs, and the line number specifications are ignored with variables. - new string function: Bodyline() - new set statement: Set [ raw ] Bodyline ... - new block statement: For %variable% = to [ step ] ... Next (note: a run in made even if the initial value exceeds the final value) - For-loop simplified: For %variable% = to [ step ] Do (note: extensive For-loops cost computing time...) - new statement "Do Show Info (Text [, heading ])" displays a Messagebox. - new Boolean function "Ask" displays a Messagebox with Yes/No, Example: If Ask ("Reply = From, delete Reply?") then Delete Header Reply-To - new statement: "Do open filename" opens the indicated document with the appropriate application, however the script continues. - new statement: "Do print filename" prints the indicated document with the appropriate application, if an association is registered. - new statement: "Do Repair OEQuotings" corresponds to the configuration option "Kammquoting repairs". - bug-fix: "Set Option" no longer works over several Postings. - Chg: "Set Option" now gets a string assigned, however if no valid string is on the right of "=", as before the text on the right of "=" is 1:1 assigned. - new string function "Input (Title, Text, Variable)" permits user input. - new Boolean function "Abort" displays a Messagebox with ok/abort and returns "Yes" in the case of abort, otherwise "No". Example: If Abort ("Continue?") then Quit - new string function "ReadIni (file, Section, Key, Default)" permits reading INI entries. - new statement: "Do Write IniStr file, Section, Key, Value" permits setting INI entries. - new statements: "Delete Bodylines from line to line" and "Delete Bodyline line" - new statement: "Insert Bodyline line = ..." - STR function again accepts only one or two parameters. V2.8a - bug-fix: if necessary the last two characters of the Mail/Posting were deleted. V2.8 - bug-fix: lines at the end were not deleted reliably. - surface: - new option "Header-Sequence" - new option "Hamster-Mails: !MAIL FROM and !RCPT TO-Header above" - Help-Button leads into (local) Korrnews.htm - additional Bewegungsbuttons. - bug-fix: Do Sort Header sorts multiple Headers completely and not only the first one. - OE-Kamm-Quoting-Reparatur optimized some more V2.75ß 4.8.2000 - new string function "BoolToStr": Set %XPost% = BoolToStr(Header(Newsgroups) contains ",") - new boolean function "StrToBool": If StrToBool(%XPost%) then ... 3.8.2000 - Bugfix: >= and <= now work - Bugfix: Lines-Header also considers Sig - New Option: Lines-header Neuberechung (de)activator - New numeric function "Trunc(Number)" => truncates to Number places - New numeric function "Random(Number)" => returns random value between 0 and Number-1 - modification: STR needs 3 positional parameters, IStr needs only one parameter 1.8.2000 - Attachment recognition extends to UUEncode - Faster handling of large News/Mails - Header.def: New string function Chr(xx) - Header.def: Subs blocks are ignored automatically 31.7.2000 - Function: Repair of OE comb Quotings - Automatic transfer of CopyIf-AddToMessageIDs - Header.def - Start a program and wait until termination: Do Exec/Run [and wait] "...", "..." 29.7.2000 - Header.def - Wordwrap (String, Width, Indention) 28.7.2000 - Header.def - VarExists (Variable), parameters with Subs including Var-Parameter - Header.def - new string functions: Trim, LTrim, RTrim, Copy, Left, Right, FillChar V2.7 / V2.6ß - 28.7.2000: Lines header is automatically set correctly ß6: 24.7.2000 - Header.def: - Goto, Gosub/Sub/EndSub/Return - Do Include is now analysed directly and also in block structures - new string function "EscRegExp" - bug-fix bzgl allocations - WildCards also interpreted - Address, Name and FirstName revised - MakeAdress - configuration - new allocation of the header options, around the new option "Mailadresse optimize" under wars ß5: 23.7.2000 - Header.def: - Delete between read , , [, ] - Delete empty lines at end - set %Variable% from - bug-fix: "set raw header /... / end" function works again ß4 21.7.2000 - Header.def revised to a large extent: - "Delete header" also deletes multiple headers - "Add header" also permits genuine multiple headers for special cases - "Do Include" function now permits external storing of script sections - "Introduction" and "Lines" can now also load from files - "Append" function also works with signatures - new string functions: Filename, Path, CR, Full [raw] header, Full [raw] Body, Full [raw] Sig[nature], Full Article / Posting / Mail, DecodeISO (), 8BitTo7Bit (), CutLeft (, ), STR (), Replace (original, RexExp, Ersatzstring), MatchedLines(RegExp) - comparisons are also possible with numbers, now implemented with the basic computing types including Min, Max, Count, etc., and within some specific functions: Bodylines, Headerlines, Siglines, Introlines - new Boolean queries of pseudo values including true and false ß3 8.7.2000 - new option: Automatic creating of the "!RCPT TO" list for hamster - new comparison operator "like"/"matches" => the left Ausdruck is compared with the right RegExp Ausdruck - Header.def: New string instruction "Extract (regexp, Stringausdruck)" extracts the Teilausdruck, to which regexp applies - new Header.def instruction: Do Replace (first|last|all) RegExp with replacement string - new Header.def instruction: "Set Macro "..." / ... / end" => makes e.g. from the line #spoiler# a correct spoiler over 40 lines - Header.def: New string instructions "Full Body" and "Full header" permit comparisons over the entire headers or the entire body of the News/Mail. ß2 29.6.2000 - bug-fixed: With the combination Set Lines + Set Sig + MIME-Attachment, the Sig was put into the Attachment - bug-fixed: Set Lines + MIME-Attachment + no existing Sig => Lines came only to the Attachment ß1 17.6.2000 - Header.def: New instruction "Set/Append Intro[duction]" - Bugfix/Header.def: "stop" holds only if surrounding conditions are true - Header.def: Permits multi-lines by placing "_" at the end of each line - Header.def: "If then" permitted. If an instruction follows the "then", the "If" applies only to this line and an "endif" isn't needed. - Header.def: non-interpretable lines now result in an error - Header.def: "Do Sort Header Header1, Header2..." sorts the specified headers and places them before any others, which remain in their original order. - Header.def: New string instructions for the interpretation of the From header: Adress() extracts the mail adresse, Name() the name and FirstName() the first name. V2.5c, 4.6.2000 - bug-fixed: Since 2.5a or b, the last script line (for Bodyheader) was ignored V2.5b, 1.6.2000 - Debug/Error dialog with single step and Edit possible as well as other things - Header.def: "stop" for tests - Wildcards in "Set Sig from"-statement possible V2.5a, 29.5.2000 - bug-fix: CopyFups supplement from References do not shorten folded with References that were folded by the newsreader, which became actual References line thereby destroyed - bug-fix: During conversion of Multi-part News/Mails from QP=>8Bit, the body could completely disappear - no blank line at the end anymore - bug-fix: Automatic signatures are no longer incorrectly changed with conversion from QP=>8Bit - bug-fix: a "_" in the body during conversion from QP=>8Bit is no longer converted into a blank V2.5, 13.05.2000 - help completely revised, separate kn_hist.txt and Header.txt files made - new option: Change umlauts in Subject - new option: X-Header-Delete list also in dialog - new option: Random-Sig-File also in dialog - new option: Blank line before automatic signature - new option: Blank line before Lines - new option: Converting undeclared 8-bit characters - new option: Converting Quoted Printable - new option: Delete at the start of line - addition: "not aendern" separating switches can now be defined with Wildcards in front/after it - if korrnews.ini does not yet exist and Korrnews is in the Hamster directory when first starting, the Mail and News sections are created - new instruction: Set option... permits the temporary modification of any option by Header.def V2.4ß, 25.03.2000: - a dialog for all settings is immediately displayed if run without parameters - Has8BitChars also considers Sigs, if the first line of the Sig file seems to use 8bit characters - new string function/query: BodyHeader(Headername) - new statement: Delete BodyHeader Name - new statement: Delete Sig - new statement: Delete Header Name - new option: Blank between quote characters. Quote characters ignorable - new option: Quote characters freely definable - MIME coding revised again: in certain cases, blanks could disappear - separating switches definable, in order to prevent Body text for a part of the Postings - Body text underneath (first) Sig separating switch ignorable - modification: Wildcards in strings are now on an equal footing, so syntax modification were necessary with constructs like %First/Last of...%; as a side effect, it is now also possible to use First/Last with normal String-Ausdrücken - new statements: Variables imported: Set %Test% = ... or If Header(Test) = %Test% ... - new instruction "Set/Append [raw] Lines" permits addition of lines above the signature - modification: Blank lines at the end are now optionally deleted V2.3, 02.03.2000: - Wildcards with "%%" avoidable, %First/Last of ...% can be used also with References - new option: References can be shortened to an adjustable maximum length and/or cleaned up - CopyFups Message-ID in Body is corrected automatically - better Quoting correction: Underlines should always be correct - when correction quotations, blanks between quotation characters and quotation lines are now optional - "Date" header can be set either always or only if missing, and as either GMT or Local date/time V2.21, 28.02.2000: - bug-fixed: Was-shortening did not shorten a Multi-line Subject correctly V2.2, 25.02.2000: - Subject corrections: Shorten repeated Re:, AW: to Re:, "(was:...)" - test mode by using "DontChangeRenameToExtension" in the INI file - new condition "Has8BitChars" for Header.def V2.1, 12.02.2000: - multi-line headers possible with "set raw header (lines with any contents) end" - to co-operate with Copyfups: If run in the same directory, the "AddMessageID" specification is also automatically used in Korrnews - bug-fix: Signature functions now also work with multi-part messages, if the first part is the normal text part. V2.0, 15.01.2000: - conditions substantially completed (else, lower/upper, etc.) - signatures are settable including randomly selecting from multi-signature files - different adjustments possible with Korrnews.exe V1.6a, 08.01.2000: - more optimization of MIME headers - errors with "MessagePath=Laufwerksbuchstabe:\Pfad" corrected V1.6, 03.01.2000: - MIME headers perfected: fixed partial errors, additionally integrated Folding. In the previous version, additional blanks could be placed in the Subject V1.5a, 03.01.2000: - deleting lines via Header.def no longer leads to blank entries in the header, if the line is not available V1.5, 02.01.2000: - when replacing/deleting an (original) header of several lines, the additional lines are now also deleted and are no longer left untouched - new option "ConvertToSigDelimiter" for OE users - separated program from data path ("MessagePath") V1.4, 01.01.2000: - created Header.def - Wildcards in Headers