Wolf Faust Am Dorfgarten 10 W-6000 Frankfurt 50 Germany Tel.: ++49-69-5486556 CET (voice) Fido 2:243/43.5 (Tel: ++49-6173-2544) UUCP:cbmvax.commodore.com!cbmehq!cbmger!venus!wfaust The files and programs that make up the Ed-Replacement are Copyright ©1991, Wolf Faust. Ed-Replacement is freely distributable and may be used in commercial products only by ASDG Incorporated in any way. The author and any other contributors take no responsibility for the consequences of its use. No charge may be made for it's distribution, except for a nominal media fee. Revisions --------- 01.01.91 Version 1.0 - not released 07.01.91 Version 1.0a - need for stack decreased - free memory is checked for 195000Bytes before starting CED 01.02.91 Version 1.0b - Sticky option improved - New routine added: now CED environment gets loaded with one exception... - not released to public 03.02.91 Version 1.0d - Bugs in CED startup fixed - not released to public 17.02.91 Version 2.0a - Pattern matching added - a lot of smaller things got improved - KS 2.0 calls added 22.02.91 Version 2.0b - Ed's strike on lowmem systems with dormant CED is gone... ;-) About Ed-Replacement -------------------- "Ed-Replacement" is a program well designed for CEDPro version 2.12. It cures many problems with older versions of ED, distributed by ASDG Inc.. Also many nice features have been added. "Ed-Replacement" consist of following files: ED - the executable Readme - this readme Liesmich - the german readme Improvements and Bugfixes ------------------------- 1. As described in the manual, the 'old' -Sticky option only works with exactly(!) one given filename before the option: "Ed filename -Sticky" This behaviour has been changed because of the many problems associated with calling programs like newsreaders and compilers. Now you can specify -Sticky first and after this up to 10(!) filenames. For compatibility reasons the old syntax is still allowed, so following commands are equal: "Ed filename -Sticky" == "Ed -Sticky filename" also this one works now: "Ed -Sticky filename1 filename2 filename3 filename4" Please note: in case CEDPro is invoked with the -sticky option, your default environment will not be loaded. In this case you have to type -e to load your environment. Also, if Ed is invoked with the -Sticky option and with more(!) than one filename, Ed now changes a "" to "unknown". This must be done because of the filename handling from CEDPro which easily causes deadlocks... . So > ED -Sticky "" file.c ===> is changed to ====> ED -Sticky unknown file.c but >ED -Sticky "" is still unchanged... 2. Given options (-Sticky, -o, -r, -i) are now working as descripted in the original handbook. The orginal Ed<->CEDPro sometimes didn't recognize given options. Also "-keepio" now results in an extra textview named -keepio. "-keepio" only works with CED! In most cases the original Ed didn't allow filenames with "-" at the beginning. This is now also improved. Any filenames except the options (-i, -o, -r, -sticky) itself are now allowed as valid filenames. 3. Before attempting to load CED, Ed now checks for enough memory. So 'Ed' is getting more secure with low memory systems. 'ED' will start CED by using System() instead of Execute() under KS2.0 (version >=36). System() fixes some bad behaviours of Execute(). 4. Ed is now reentrant, so you can make it resident. Some shells (like WShell) check for purity. These shells will prompt you a warning, saying ED is not pure. Ignore it by disabling the check for purity (i.e. WShell users should make it resident with: "resi Ed -ignore") 5. Ed now can do pattern matching! Ed uses the KS 2.0 pattern matching routines if possible. Because of this, there are different abilities under different Kickstart versions. Here are the available tokens: Kickstart 1.3 & Kickstart 2.0 (version < 37) ? Matches a single character. #? Matches all expressions * Same as #?; matches all expressions Kickstart 2.0 (version > 36) ? Matches a single character. # Matches the following expression 0 or more times. (ab|cd) Matches any one of the items seperated by '|'. ~ Negates the following expression. It matches all strings that do not match the expression (aka ~(foo) matches all strings that are not exactly "foo"). [abc] Character class: matches any of the characters in the class. a-z Character range (only within character classes). % Matches 0 characters always (useful in "(foo|bar|%)"). * Synonym for "#?" "Expression" in the above table means either a single character (ex: "#?"), or an alternation (ex: "#(ab|cd|ef)"), or a character class (ex: "#[a-zA-Z]"). The patterns are fairly extensive, and approximate some of the ability of Unix/grep "regular expression" patterns. So "Ed #?.c" will load all your C sources in the current directory. Sorry, because of size there are no logical functions allowed under KS 1.3, but all tokens are upwards compatible. 6. Under KS 2.0 (1.3 too???), some versions of the original Ed doesn't show up with a given file in "Ram Disk" because of the space between "Ram" and "DISK". The new ED handles spaces right. 7. Accents (öäüß...) in a filename or path confused the original Ed and two textviews appeared instead of one (bad Parser). Fixed in the new Ed. 8. The originaly Ed got confused with a given filename: "" This is fixed in the new Ed. 9. The option "-R" (load Ced and stay dormant) has been changed: the behaviour of the original Ed was a bit irregular. Sometimes an additional given file was loaded and sometimes not. Now "-R" must be given as first parameter! Any given filename causes the option "-R" to be ignored and the file(s) will be loaded in a textview! 10. When to many long filenames+paths are given from the CLI, the original Ed simply failed (no more than 132 chars allowed...). This restriction is now removed and there are no restrictions! 11. The GetPath() routine in the original Ed had a bug which may cause a Lock not to be unlocked. Fixed in the new Ed. 12. Communication between the original "ED" and "CED" may cause a guru or faulty habits because of bad programing (no Forbid()/Permit(), no GetMsg...). Fixed in the new Ed.