MSGED 4.00 released 1996-08-10 NOTE! Before contacting me for support, please make sure you are using the latest archive produced by *me*. If you use another version of MSGED, contact the author of that for support, even if the problem also occurs in my version, as that is only fair, and helps spread the workload. Plus the fact that even if I do fix it, you're not going to be using my fixed version anyway, so there is little point in reporting it to me. I am busy enough as it is, and have many other PD projects to work on. INTRODUCTION This archive is a message editor that works under 16-bit DOS, 32-bit OS/2, and has more limited versions for Amigados and Linux as well. It works with *.MSG messagebases, QuickBBS (Hudson) messagebases and Squish messagebases. EVOLUTION The original MSGED was written by Jim Nutt and released to the public domain. It worked on *.MSG and Quickbbs messagebases, at least by version 2.00, under DOS 16-bit and OS/2 16-bit. The last release Jim did before "disappearing" was 2.08 dos, which was 2.06 os/2. MSGED/SQ was later created by John Dennis, who originally kept all his changes copyrighted, but later he then went and released all his stuff to the public domain. This version worked on both *.MSG and Squish messagebases, and worked under 16-bit DOS and 16-bit OS/2. The last release from John was 2.2e, after which he explicitly said he was no longer interested in maintaining it. The source was released in an archive called MSQ22SRC.LZH. MSGED/SQ 2.2e was then modified by Paul Edwards to make it work with *.MSG and Squish under 16-bit DOS and 32-bit OS/2. Plus a few bug fixes and enhancments. The first version of this released was 3.00. The last version released was MSGED/SQ 3.35. The "MSGED" name was then retaken, starting with version 4.00. If Jim ever comes back, he is welcome to have the name back, but until then, this is by far the most actively developed strain of MSGED, so I thought it was better to be on the "main trunk". The main thing that MSGED 2.08 appeared to have that MSGED/SQ 3.35 didn't, was quickbbs support, so I used the quickbbs code from MSGED 2.08 and modified it to work with MSGED/SQ 3.35. EXECUTABLES The main DOS executable is MSGED.EXE. The main OS/2 executable is MSGEDP.EXE. The Amigados executable is called msgedam. The Linux executable is called msgedunx. The 32-bit DOS executable is called msged32. The 16-bit OS/2 version is not actually compiled, as it is not expected that anyone actually wants it (although maybe there are some Windows/NT users who want it - unless someone requests it, it won't be coming). Also it doesn't work with MSGAPI. MSGED32 EXECUTABLE This 32-bit DOS-extended version of MSGED has been linked with the PMODE/W DOS-extender. You can FREQ this from 3:711/934 with name "PMW122.ZIP". If you would rather use the DOS4GW dos-extender, which allows you to use disk space if you run out of memory, then FREQ "DOS4GW.ZIP" from 3:711/934, put DOS4GW.EXE in your path, set DOS4G=QUIET in your autoexec.bat, and run MSGED32 by going "DOS4GW MSGED32". DOCUMENTATION See MSGED.DOC for the documentation. The documentation is not up-to-date. Volunteers to do the work, please contact me. OTHER FILES There is a configuration file MSGED.CFG which you will probably need to make a fair few changes to to get MSGED up and running. Other files include MSGED.COL, MSGHELP.DAT, TEMPLATE.MSG. For OS/2 users, there is a "MSGED.ICO" icon. SOURCE Full source code is included in the SRC subdirectory. MSGED can be compiled using: MAKEFILE.WAT - OS/2 makefile for Watcom MAKEFILE.IBM - OS/2 makefile for CSET MAKEFILE.EMX - OS/2 makefile for GNU/EMX MAKEFILE.BCC - OS/2 makefile for Borland MAKEFILE.DOS - DOS makefile for Borland MAKEFILE.TCC - DOS makefile for Turbo C++ MAKEFILE.W16 - DOS makefile for Watcom 16-bit MAKEFILE.MSC - DOS makefile for Microsoft C PACIFIC.PRJ - DOS makefile for Pacific C (needs PACIFIC.PAT) MAKEFILE.W32 - DOS-extended makefile for Watcom 32-bit MAKEFILE.UNX - Linux makefile for dmake (with "-B") using gcc MAKEFILE.SAS - Amiga makefile for SAS/C 6.55 MAKEFILE.MSO - OS/2 16-bit Microsoft C compile MAKEFILE.ANS - Watcom, OS/2, 32-bit, ANSI screens MAKEFILE.PDP - EMX, OS/2, 32-bit, PDPCLIB, not yet working MAKEFILE.WNT - Watcom, Windows/NT, 32-bit, not yet working As shipped, the OS/2 version has been compiled with Watcom 10.0 32-bit compiler with full optimization, the DOS version has been compiled with Watcom 10.0 DOS with full optimization. The Linux version has been compiled with gcc with optimization on, and the Amigados version has been compiled with SAS/C with optimization on. The DOS 32-bit version has been compiled with Watcom C with optimization on. Both the DOS and OS/2 executables have been statically linked with MSGAPI38, which is a modification of the original MSGAPI0. You can FREQ this from 3:711/934 as MSGAPI38.*. The date of the version used to compile MSGED is 1996-07-24. Squish messagebase support does not exist for the Linux and Amigados versions, which isn't any real problem, since those platforms don't use that messagebase format anyway. Be warned that the QuickBBS format messagebase may change on Linux and Amigados environments, so I wouldn't get too attached to it, use *.MSG for now instead. COPYRIGHT All of the source code in this archive is public domain. However, to access Squish messagebases requires use of Scott Dudley's MSGAPI routines, which are copyrighted by him, and linked in to the executable. This is allowed according to the license that the MSGAPI is distributed under. If someone has some public domain C code to access the Squish messagebases, please let me know so that I can use that in MSGED. Also, the PMODE/W 32-bit DOS-extender is copyrighted, as indeed is the relevant compiler's C runtime library. SUPPORT You can reach the current author, Paul Edwards at 3:711/934@fidonet. However, it would be preferable if you posted your questions in MSGED_ECHO in a message to "All" so that others can help answer your question. What I would REALLY like is for you to get a local C expert to find the bug and just send me the bug fix so that I can incorporate it into the next release. This avoids the headache of me trying to reproduce your problem here. Note that since there are FREE compilers available to compile MSGED, namely EMX for OS/2, Pacific C for DOS, gcc for Linux, and also (untested) gcc for Amigados, there is no excuse not to do the work yourself instead of piling it on to me. The whole idea of free software is you are meant to contribute to it. As for enhancement requests, please send C source code that implements the enhancement (and explicitly state that the code is public domain, too). I have a long list of enhancements which I personally want, and when I have finished all of them, and all of my other public domain projects, I will start soliciting other enhancement requests. Hell might freeze over before that time though. If you don't know how to program in C, then get one of those 14 year-old's that spends most of their spare time hacking into the US DOD computers to spend 10 minutes of their expertise on your MSGED enhancement. It takes me DAYS to add enhancements. By the way, the best way to send me changes is by using a utility called "DIFF". This is a "standard unix" command which is available for OS/2, and I presume also DOS. I actually use CVS (in conjunction with RCS) to do the diffs. I know all of this stuff is available for OS/2, and I think it is also available for DOS. The stuff is available for FREQ from 3:711/934. Anyway, if you have changed say msged.c, then you can go: diff --context \old\msged.c \new\msged.c and get just a list of changes that you have made. I prefer to get all the differences in one file, so that I can feed it directly into another program, called "PATCH", which is also available from here. I can then check all this stuff in to CVS, and apply the differences to my own version. I would HIGHLY RECOMMEND that anyone who does any serious programming should get these tools. They are all free. If you're a developer, and you don't know what a "3-way diff" is, then you're in for an ABSOLUTELY BRILLIANT surprise (cvs update -j). INDENTATION I use GNU Indent 1.8 with some patches of my own, which you can find in an archive "INDENTPE.ZIP" available from 3:711/934. The options I use are: -kr -bl -bli0 -i4 -ts1 -nce -ncs -fca -nfc1 Note that I am open to suggestion on improvements in this area, and I am already aware that there are some things that are formatted badly by indent, but I am of the opinion that whatever style is used, it must be machine-generatable, and the above is the best "machine" I have been able to obtain (for free, anyway). Oh, the reason for the machine-generation is so that we can all reformat it ourselves to the style we like, and that includes when you send me patches in a style I don't like (or you use tabs!). OBTAINING You can obtain the latest version of MSGED by FREQing "MSGED" from 3:711/934. I have a magic name set up so that you can get this. Although this is (at time of writing) the official place to get MSGED from, you may or MAY NOT be able to obtain it from: 1:106/2000@fidonet juge.com (/c/file/c, /os2) http://snoopy.apana.org.au/randy/msged/ www.closer.brisnet.org.au (/pdomain) http://rosebay.matra.com.au/~avon/ OTHER VERSIONS There are other versions of MSGED floating around, supported by different people. Make sure that if you are reporting a bug with my version of MSGED that you really are using my version! Go to the other authors for support for their version of MSGED. HISTORY 2.00 Jim Nutt's version that MSGED/SQ was cloned off 2.2e John Dennis's last release of MSGED/SQ 3.04 Paul Edwards's first widely-distributed version, including revamped documentation from Bill Grimsley. 3.05 Bug fixes to 3.04 3.10 Many random changes and many bug fixes 3.20 Quite a lot of bug fixes combined with the major philosophical change of making the area front-focus. 3.30 Many modifcations by Kieran Haughey, including personal mail scanner, and file name displayed when importing files. Random bug fixes added. Spawn.asm now compiles with Watcom, thanks to Matthew Parker. 3.35 Contributions from David Begley, Bill Bond, Matthew Parker and Andrew Clarke. Both enhancements and bug fixes, but not major enough to go up by a complete .1. 4.00 Amigados and Linux ports, support of Quickbbs messagebase, support of a straight C compile for DOS, enabling a Pacific C port, 32-bit DOS-extended version and many other enhancements and bug fixes. And a name change too! BUGS None that I know of at the moment for sure UPDATES It is my intention to only ship source code patches for minor version changes, you have to recompile yourself. If this is the case, then you will need to use the "PATCH" program, available for FREQ from 3:711/934 to apply the diffs. E.g. the patch might be called MSGED401.PAT and you go "PATCH