Amiga Elm History (original HWR-Mail) ======================================= Version 1.19: - Yeah, I love SAS/C! Elm didn't run under AmigaOS 1.x, cause of SAS' Auto-OpenLibrary "feature" ;-) Fixed. [Dave Wieringa] - Forgot to check for GadToolsBase -- all versions since 1.14 crashed unter AmigaOS 1.x. Fixed that, too. Version 1.18: - naaaahhh, found (and removed) an (harmless) Enforcer hit when using the internal pager for messages w/o subject (Am I the only one using Enforcer in his S:User-Startup!? ;-) - Elm warns if specified pager cannot be found (helpful for metamail) - added version string for "uident" - fixed bug in message sorting (by subject) - fixed bug (wrong return code) in external pager (incl. metamail) [Kai 'wusel' Siering] - fixed bug in h)eader command - removed another Enforcer hit (when "Date: " was missing) - support for "env:Signature" and "Signature" in .elm/elmrc [Henning Schmiedehausen] - Elm sets subject to "no subject (file transmission)" if no subject was given and something was redirected/piped into Elm [Harald Mayr] Version 1.17: - if "Env:NoMetaMail" is set Elm asks you whether to use Metamail for MIME messages or not - r)eply recognizes "Apparently-From:" (after "Reply-To:" and "From:") [Kai 'wusel' Siering] - again internal pager, sigh... fixed bugs in line/page-up handling [Kai 'wusel' Siering] Version 1.16: - "In-Reply-To" now follows RFC guidelines [Ralph Babel] - fixed bug in h)eader-mode when displaying MIME messages - setting "Save-Mode" flag when using file requester (ASL) for writing - new in .elm/elmrc: "Screen-DisplayID" (default: clone workbench) - fixed bug in internal pager (sometimes displayed message twice) - summary of pass-through commands within internal pager: e,o,p,s,t,w,|,!,? - fixed bug in Content-Length calculating for base64 encoding - fixed another bug with Content-Length, wasn't re-calculated after re-editing a message - forgotten in the 1.14 text: support for numeric keypad (lil' bit like cursor keys) in index (main) screen and internal pager - now Elm can be run with empty folder, see also: new in .elm/elmrc: "QuitEmpty" (default: no) new CLI option: "-z"/"NOZERO"/"NZ" - I'm now trying to name the persons who send me bug reports, ideas, ... - removed enforcer hits when Elm was called with an empty folder [thanks to Harri Pesonen] - bug fixed, "RequestReturnView" (.elm/elmrc) never worked before ;-) [thanks to Clemens Nill] - flag "Screen-Interlace" from .elm/elmrc is obsolete for AmigaOS 2.x - textual error report if OpenScreen() fails (see RKM Libraries) - internal pager: added "b)ounce" [Kai 'wusel' Siering] - better handling of tabs and newlines in subject-line (index + pager) [Kai 'wusel' Siering] - more reliable requester placement (OS 2.0 only) [Kai 'wusel' Siering] - extra switch for MIME coding in "Send off" requester [initial idea by Kai 'wusel' Siering] - compiled with SAS/C 6.00 (some hacks necessary cause of SAS/C-bugs) - Elm.guide now is for AmigaOS 3.0 version of AmigaGuide (this causes some minor layout bugs with older versions of AmigaGuide -- blame Commodore for that, not me!) - now MIME coding in "Send off" requester defaults to codind mode of original mail - now cursor-keys do work with shift/alt - new in .elm/elmrc: "KeepEmpty" (default: yes) do not delete empty mailbox file if there's no mail in it Version 1.15: - better support for "MIME" (multi-media mail, see RFC1341) a) internal pager supports text/plain (us-ascii + iso-8859-1), 7bit, 8bit, binary, quoted-printable b) reply/forward/mail/save/write/print support sending of text/plain (iso-8859-1), 7bit, 8bit, binary, quoted-printable, base64 c) two external programs "enbase64" and "debase64" for encoding and decoding d) new in .elm/elmrc: "MimeCoding" (default off) e) doesn't need "MIME-Version:" keyword - with ShowSignature=No always displayed one line too much ("-- \n") - default for "ShowSignature" is now "No" - fixed font bug in "show h)eader" command Version 1.14: (not public) - Amiga Elm is still shareware - default for "FilenameOffer" (.elm/elmrc) is now "USER" - default for "PrefixString" (.elm/elmrc) is now "> " - default for "ReceivedFolder" (.elm/elmrc) is now "uumail:mail.received" - default for "Editor" (.elm/elmrc) is now "ed" - default for "ShanghaiWindows" (.elm/elmrc) is now "No" - default for "TopDownScrolling" (.elm/elmrc) is now "Yes" - defaults for "Screen-Height/Width" are now GfxBase->NormalDisplayColumns/Rows - dropped environment support for OS 1.3 (and below) - local environment is searched before global environment (OS 2.0 only) - fixed memory leak in f3.c:parse_arpa_from() - Elm now handles the case when the "device is full" requester pops up and the user selects "Cancel"; folder remains unchanged instead of being deleted (nevertheless: this requester is meant to remove some files from the device and to select "Retry" after that -- NOT "Cancel" !!) - "change folder" now saves old folder before loading new one - new in .elm/elmrc: "Screen-TopEdge" and "Screen-LeftEdge" (try Width/Height = -1 and TopEdge/LeftEdge = 10 or 20, nice, eh?) - fixed bug with status flags (temporary changes may be lost on re-sync) - now remembers "tagged" flag when changing folder - new in .elm/elmrc: "ElmToFront", to avoid Elm to come to front after launching an (async.) external pager or editor - command line options now Unix and OS 2.0 template compatible - added new command line option "USER", changed behavior of "FOLDER" - Elm now accepts mail contents on standard input (redirection), no screen/window opens, no prompting (OS 2.0 only) - fixed bug with redisplay of index screen - new in .elm/elmrc: "PrintCmd" (default: copy %s prt:), copy current (or tagged) messages to printer, - support for ENV:PRINTER (see "PrintCmd") - PipeCmd supports input from stdin - Pager/Editor supports user definable argument placement - "bounce mail" implemented (works best with Kai 'wusel' Siering's (wusel@hactar.hanse.de) sendmail) - no mini menus after editor action if text was not modified - new in .elm/elmrc: "PopPubScreen" (default: "No") - new command line option: NOENV or NE or -e, ignore environment - new command line option: VERBOSE or V or -v, verbose output - fixed bug in ASL handling - shell command "!" now works also on workbench - new command: edit a)aliases - "space" key now pages thru all (new) articles - extended "In-Reply-To" header field - new in .elm/elmrc: "OldLocking" (default: "No", locking via OwnDevUnit.Library for compatibility to Dillon UUCP 1.16), must be set to "Yes" if your s(end)mail uses old locking via temporary files within T: directory) - enabled REAL break-handling (CTRL-C, C:Break) - supporting "Apparently-From:" for index display (esp. for some *.uk mails which have no "From:" line) - reading font defaults from "env:sys/font.prefs", requires iffparse.library - tiny AmigaGuide System support via help key - added some "better-than-nothing"-menus (OS 2.0 only) - detecting folder changes via file notification (OS 2.0 only), after a 10 second delay and no further notifications re-read of folder; so it's possible to let run Elm in the background -- and Elm will re-read the folder on changes without (<-- this is new!) human interaction - new command '@' re-reads folder - internal change: private ports now unnamed - new in .elm/elmrc: "NoSigOnReply" (default: "No"), append no signature on replies when subject begins with "Re: " - default for "Screen-Interlace" now read from preferences - rewritten internal pager, supports unlimited scrollback buffer and numeric keypad support (home, end, up, page up, down, page down) - included reqtools.library 2.0 (for OS 1.3 and 2.0) - rewritten command key section to support AmigaGuide - fixed bug with shell command "!" (thanks to Kai 'wusel' Siering) - new in .elm/elmrc: "DefaultPubScreen" (default: "No") - internal pager: "n" quits pager and sets mark to next message - support for "ODULocking" in s:UUConfig/uulib:Config ("Yes" or "Y" for OwnDevUnit-Locking, else old-style T: lockfiles) - new command line option "SCREEN" (see also .elm/elmrc:PubScreenName) - fixed minor bug in asl handling - small changes to file/directory buffering for asl file requester [thanks to Walter Mildenberger] - supports AutoScroll on overscanned screens - no double " (fwd)" within subject on forward of already forwarded msgs Version 1.13: - Amiga Elm is now shareware - "UseCmdClearKludge" is obsolete - fixed bug with long subjects - fixed bug when saving unchanged folder (new messages now marked old) - better refresh for zoomed windows - fixed bug with funny status flags - save/write now remembers the last selected path, cancel file requester to restore default path - if on workbench, Elm calls WindowToFront() before awaiting input - Reply/ForwardIntroduction now has fallback (e.g. first name -> full name -> user name -> from name) - new variables $FROM, $ADDRESS and $USER for Reply/ForwardIntroduction ($ADDRESS not yet implemented) - FilenameOffer new in .elm/elmrc: MSGID, FROM, NAME, SUBJECT, ADDRESS, USER (ADDRESS not yet implemented) - Elm's manual "Elm.guide" now suitable for AmigaGuide System (sorry, no online support (help key) yet) - disabled interrupt handling - fixed minor bug in group reply (one \n too much) - "TopDownScrolling" (fast scroll) new in .elm/elmrc - more user-friendly error handling for missing keywords in .elm/elmrc or uulib:Config - now searching for s:UUConfig first, then uulib:Config Version 1.12: (not public) - "t" tags a message for later use (save, print etc.) - "T" untags all messages - save/write now uses file requester (with filename offer) - default save directory for save/write ("SaveDirectory" in .elm/elmrc) - workbench window has close gadget ('Quick quit') - under OS 2.0 zooming window works much better now - under OS 1.3 raw-keys (help, cursor) don't work anymore, use alternative keys instead (help='v', cursor-keys='+','-','<','>') - another key for 'Quick quit': ESC - you will need V38 includes for compilation - minor bug fix in getline.c:getline() - updated help menu (goto last message :-) - fixed bug in calculation of mails to process - ScreenWidth=-1 replaced with GfxBase->NormalDisplayColumns - ScreenHeight=-1 replaced with GfxBase->NormalDisplayRows (double if Interlace-Flag is set) - window is opened with tag WA_AutoAdjust set (OS 2.0) Version 1.11: - shell command "!" now OS 2.0 only, opens shell on Elm's screen with adapted dimensions, supports multiple shells (try it!) - new command "/" (old "!" command) for a user-definable shell (or any other command, see "Shell" in ".elm/elmrc") - support for OS 2.0 "version" command - pipe command "|" is in now - command "P" changes color palette (reqtools.library only) - command key for "goto last message" is now '^g' (ctrl-g) instead of 'G' - group reply also available from internal pager - g)roup reply includes only message body, G)roup reply the whole message (incl. header) - support of env:RealName (FullName in .elm/elmrc - if existing - overwrites env:RealName) - "WorkbenchToFront" new in .elm/elmrc - "UseCmdClearKludge" new in .elm/elmrc (OS 2.0 only) - ASL-FileRequester support (OS 2.0), neccessary for Stefan Stuntz' MagicFileRequester - support of env:HostName (machine name w/o domain), overwrites "NodeName" from "uulib:Config" Version 1.10: (not public) - "tons of new commands and options to please almost everyone" (Phil Dietz, from the NewList6 manual) - made binary "pure" (resident) - Elm has its own alias list (.elm/aliases) - rewritten locking code - supporting "reqtools.library" - new flag "ReverseSorting" in .elm/elmrc (newest mail first and oldest last, or oldest first and newest last) - "MaxMails" in .elm/elmrc is obsolete, dynamic memory allocation - fixed memory bug in do_introduction() (thanks to Jeff Van Epps) - new "!" shell command ("Shell" .elm/elmrc and env:Shell) - new "|" pipe-to-program command (sorry, is still to do :-) - new feature: group reply - changed behaviour of the normal "reply" (Cc: ignored now) Version 1.09: (not public) - bug fixed: folder remains locked when deleting mail within pager - Elm didn't work w/o "Buffers" entry in .elm/elmrc (default 1024 bytes) - DOS requesters now open on Elm's screen - user configurable fonts (one for the pager, one for the index screen) - Interlace-Flag now used again (OS 1.3 _AND_ OS 2.0) - use "-1" as screen_width and/or screen_height for standard screen size (like workbench) - now folder not saved if unchanged on exit (quit, quick quit) - internal pager: "i" returns to index screen (same as "q") - external pager support (env:pager) - more flexible editor support (env:editor) - public screen with user definable name (OS 2.0) - shanghai windows (OS 2.0) - Elm now allows to open window on workbench screen - zoom gadget if on workbench screen (OS 2.0) - lots of new vars in .elm/elmrc - internal pager: "^" re-displays message from beginning - redisplays index screen - fixed some minor layout bugs - now message is marked as read when entering pager Version 1.08: - CTRL-L problem discovered.... (still to do) - optimized folder handling (thanks to Martin J. Laubach) - change folder didn't work in 1.07 - re-read of folder could crash machine (memory freed twice) - added some DEBUGs - multi-line header-fields redesigned - removed some possible enforcer hits - "Color" new in .elm/elmrc (user definable colors) - "KeepBackup" new in .elm/elmrc - clone ViewMode (OS 2.0: DisplayID) from workbench screen (opens NTSC-Screen if Workbench is NTSC too, uses Interlace if Workbench is interlaced etc.) - folder is checked for modification before saving - upper case 'R','F' (and 'B') includes full header - added "Return-View-To:" support - 33% faster saving, see "Buffers" in .elm/elmrc Version 1.07: - new in .elm/elmrc: ReplyIntroduction, ForwardIntroduction - re-designed Return-Receipt-To messages again (I should write "The Elm Layout Construction Kit" ;-) - added "In-Reply-To: " for replies - added date for archived mails - all temporary files are removed on exit - new command 'n' marks message as unread - no longer \377 at end of file while writing/saving first message - no longer auto-mark for deletion of messages after saving - Return-Receipt-To now inserted after editing (to prevent "recursive" receipt messages) - send/edit/forget menu changed: e)dit puts complete message into editor now (incl. full header) - tabulator handling - pager layout: blank line between text and pager menu - pager commands: scrolls a whole page upwards, only a single line - exit if folder is empty - elm keeps "old" (=current) status flags if (re-)reading folder - used Matt Dillon's locking mechanism partially - new command 'h' (on index screen) displays message with full header - pager prompt shows percentage of read lines - escape codes replaced by \033 - maximum line length increased to 1024 (see prefs.h) - some write accesses to address '0' eliminated (I don't own a MMU - hence I can't run Enforcer :-( - better break-handling - print command now opens "prt:" (instead of "prt:elm") Version 1.06: - test output removed ("From: no-user@guns.n.roses (Hudson Hawk)") - now archive for sent mail is user-configurable - some more german phrases eliminated (ouch, this hurts ;-) - lots more user definable variables for .elm/elmrc for better multi-user support: Fullname, Editor, AlwaysDelete, AlwaysKeep, SentArchive, ReceivedFolder - ENV:UserName supported (but in most cases (option -f) unneccessary) - read mail may be saved to a special folder or be kept in incoming mailbox - BINGO! -- fatal memory leak detected by Marcus Woinke (caused problems running elm on A3000s, mysterious behavior on A500/A1000/A2000s, too) - deleting *.o files in t: - correct config file (elmrc) is read now - special option to adjust elm to Feulner's and Dillon's sendmail (.elm/elmrc: SendmailVersion) - full screen width (for subject) on index (main) screen - date in pager right-justified correctly - better design for Return-Receipt-To messages - user-friendly handling of included mail-headers (preceding "From " with ">") Version 1.05: - increased number to avoid confusion with beta versions Version 1.00-1.04: - design more unix-like (elm) - renamed program to "elm" - compiler now SAS/C 5.10a - Status-Flags now within message header (not message body) - bug fixed: pager missed last char if empty line - customized headers - better multi-user support - tabs within config-files allowed - display order reversed (newest (1), oldest (n)) - corrected return address for "Return-Receipt-To:" - pager handles lines longer than screen width - elm has its own screen - elm has its own configuration file - new 3d-look for OS 2.0 - enhanced pager - pager display speed up - major speed up on elm's index (main) screen display - read operations speed up - enhanced date parser - enhanced real-name parser - handles urgent mail (Priority:) - handles blind carbon copy (Bcc:) - sendmail with/without appending signature - change of folder while elm is running - (quick) quit and (quick) exit - better detection of changes in current folder - header keywords case-insensitive - header lines can be split over several text lines (RFC) - unique temporary files (t:) for simultaneous elms - status line (name of folder, number of messages) - bug fixed: "Cc:" occurs within message body instead header (in replies) - bug fixed: "Subject:" must be last header line (now a blink line divides header and body) - better signature detection - one more status flag: bounced (not fully implemented) - lots more things I cannot remember ;-) Version 0.30: - Umstellung von Ein- und Ausgabe von den Standard-C-Routinen auf die Amiga Write und Read-Routinen - dadurch koennen die Tasten direkt ausgwertet werden - man muss nicht mehr nach jeder Aktion druecken. - Blaettern geht nun auch mit den Cursortasten. - Bildschrimhandling verbessert. - Abspeicherroutine bei Quit beschleunigt. Version 0.21 - 0.29: - gab es nicht, da mir die Umstellung der BS Ein- und Ausgabe (V0.30) wichtig genug war, eine eigene Zehnerstelle zu bekommen. Version 0.20: - Neue Optionen fuer uulib:Config : 'H' : ist dies Flag gesetzt, wird beim Lesen der Mail der komplette Header angezeigt; 'S' : ist dieses Flag gesetzt, wird die Signatur immer angezeigt, ist es nicht ge- setzt, so wird versucht, die Signatur nicht anzuzeigen. - Kleinere Codeaenderungen - Es wird versucht, den Realnamen in der From-Spalte des Hauptmenues anzuzeigen. - Die Speicherverwaltung wurde verbessert: frueher wurde jedes mal, wenn die Mailbox neu gelesen wurde, neuer Speicher fuer die diversen Headerstrings angefordert und nicht mehr freigegeben - wenn das Programm lange lief und die Mailbox oefters eingelesen wurde gingen jedesmal ca. 100-200 Bytes pro Mail verloren, die erst nach Programmende wieder freigegeben wurden. Version 0.19: - Kleinen Fehler beim Abspeichern der X-Flags behoben - Wenn in uulib:Config in der hwr-Mail Zeile das Flag 'R' gesetzt ist, wird, falls in der Mail 'Return-Receipt-To' vorkommt, eine Lese- bestaetigung an diese Adresse gesandt. Dies geschieht nur beim ersten Lesen der Mail, ausser wenn der Mailreader 'illegal' via X oder ^C verlassen wird. - Wenn in uulib:Config in der hwr-Mail Zeile das Flag 'W' gesetzt ist, wird in den Mailheader die Zeile 'Return-Receipt-To: @. eingefuegt - man erhaelt dann vom Empfaenger (manchmal) eine Nachricht, dass die Mail gelesen wuurde. - Mit 'O' im Hauptmenue koennen die Werte fuer 'ReturnReceipt'(R) und 'WantReturn(W) aus hwr-Config temporaer geaendert werden - das Config- File wird nicht veraendert. Version 0.18c: - uulib:Config wird ausgewertet. - Beim Einlesen wird das erste From: und Subject: etc. benutzt, gab falsche Angaben, wenn fehlerhafte Mail gebounced war. - Beim Abspeichern wird die X-Flags-Zeile nur noch einmal pro Artikel geschrieben. - Beim Verlassen des Programms werden die Flags immer geschrieben, ausser beim 'Notausstieg via CTRL-C oder 'X' im Hauptmenue. - Neue Funktion 'E' - speichert die Mail in einer Datei in 'UULIB:Folders' ab - Neue Funktion 'P' - druckt die gerade ausgewaehlte Mail - Das Messagedatum wird auf dem Auswahlbildschirm mit angezeigt. Version 0.18b: - das Einlesen der Mailbox wurde beschleunigt. - Die mit der Mail abgespeicherten Flags werden beim naechsten Start mit eingelesen und wieder dargestellt. Version 0.18a: - der Username kann uebergeben werden; uulib:Config wird noch nicht ausgewertet. Version 0.18: - das User-Interface wurde verbessert und ELM-like gemacht. Version 0.12-0.17: - Verbesserung der vorhandenen Funktionen - Implementierung neuer Funktionen Version 0.11: - Umstieg von Aztec3.6a auf auf Dice wegen ANSI-C Version 0.01-0.10: - Grundfunktionen noch in Aztec 3.6a