From: Frank da Cruz To: "Nelson H. F. Beebe" Cc: William "Chops" Westfield , beebe@math.utah.edu, "Nelson H. F. Beebe" , tops-20@lingling.panda.com, beebe@math.utah.edu Subject: Re: News of mm In-Reply-To: > William "Chops" Westfield asks on Mon, 1 Aug 2005 > 21:59:00 PDT about my changes to the C version of mm: > > >> I've been touching it too ... Did you do other cleanups? > >> I keep looking at it (in light of 'modern' styles of C programming) and > >> getting very depressed about the prospects of doing significant work, ... > > Our work at Utah on mm has not added any new commands, but instead has > been directed at enhancing portability, and trying to make it 8-bit > clean. We also disabled the mail file locking, since it doesn't work > reliably in an NFS environment: we simply warn our mm users that they > must avoid running multiple instances of mm, just as they already know > they must also avoid running multiple Web browsers. > This is the major reason MM fell out of favor at Columbia, where we have a big (Solaris) host pool. With tens of thousands of users, it's just too easy for somebody to get disconnected and leave behind an mm zombie, and then not be able to get back to the same host to kill it, even if they knew how to do that, so our help desk was always swamped with "my mailbox is locked" calls. Now the only people who use mm any more are the ones who know how to take care of themselves. It never occurred to me to just remove the locking, but maybe at this point it's safe. > All changes in both the ccmd and mm directories are under RCS control, > and the mm-0.94/mm/CHANGELOG file summarizes the changes. > > We have succeeded in improving portability, since mm-0.94 now builds > on all of our 20+ flavors of Unix... > That's a big and badly needed step. > ... but we failed in the 8-bit cleanup. > I found that there are pervasive assumptions in the ccmd > command-parser library that the high-order bit of each 8-bit character > can be used as a flag, and concluded long ago that the only solution > was a complete redesign and rewrite of the parsing package, possibly > in C++ or Java, with elimination of the TOPS-20 data structures in > favor of a much cleaner interface. Inasmuch as there are 21,187 lines > of code in ccmd, and 36,088 lines of code in mm, any such project is > destined to take many months in the hands of skilled programmer, and > since we are all getting old and gray, that is hard to justify. There > are lots of other programming projects that I want to work on. > Right, this will probably never happen. > As long as you keep the parser's hands off your text, you can use > 8-bit characters in mm. The header lines, like Subject:, gets parsed, > so they are stuck with 7-bit characters unless you edit them. > > What I generally do is have a permanently-running emacs session with > the mail-server library preloaded, and then when I ask mm to get me to > an editor, it hands what I've typed so far off to emacs. I can then > edit the entire message, using 8-bit characters as needed, even > putting those characters into mail headers. For example, here is a > snippet of a Danish rhyme in ISO 8859-1 encoding: > > Subject: Danske børnerim og engelsk oversættelse > > Øen i søen har kun én barber, The island in the lake has only one barber, > men tilgengæld så klipper han but then he clips > alt hvad han ser. everything he sees. > > When I end the emacs message editing with C-x ! (server-edit), control > returns to mm, which is then happy to send my 8-bit characters, as > long as I don't try to edit them further by, for example, typing in a > new subject line. > I just "set use-editor-always true". I send a lot Latin-1 mail every day. BillW said: > There was the y2k fix attempts, the "mimetype" command, the > "howmany" that wasn't really needed... Sigh. > I should hope the current Columbia version (and therefore Nelson's) obviates the need for any y2k fixes. It also has a MIME-VERSION command. One thing I'm not happy about is the CONTENT-TYPE command that I added. I assumed the only thing I would ever use MM for was plain text, so this command only fills in the character-set part of the Content-Type header, keeping "text/plain" hardwired. Now it seems I need to send HTML from time to time, so this command should be changed to do what you'd expect -- specify the content type! I also have a few other items on my list. I guess the ball is in my court. I haven't had a chance to look at Nelson's stuff yet. The main thing that worries me is the 8-bit changes. Since you say they didn't work, I assume that you backed out of them? > ----------------------------------------------------------------------------- > - Nelson H. F. Beebe Tel: +1 801 581 5254 - > - University of Utah FAX: +1 801 581 4148 - > - Department of Mathematics, 110 LCB Internet e-mail: beebe@math.utah.edu - > - 155 S 1400 E RM 233 beebe@acm.org beebe@computer.org - > - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - > ----------------------------------------------------------------------------- - Frank