home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / mm / release-0.91.txt < prev    next >
Text File  |  2020-01-01  |  11KB  |  245 lines

  1. New Features of MM 0.91
  2.  
  3.   Frank da Cruz <fdc@columbia.edu> 
  4.   Wed Sep 18 19:17:32 2002
  5.  
  6.  
  7. CONTENTS
  8.  
  9.   1. BUG FIXES AND PORTABILITY
  10.   2. USING 8-BIT DATA
  11.   3. DOWNLOADING MESSAGES
  12.  
  13. This is the first release of MM since 1990; I did this mainly because it was
  14. constantly truncating my outgoing messages when I returned from GNU EMACS,
  15. which drove me nuts (not an MM bug -- more likely an NFS one); I didn't want
  16. to give up MM and nobody else had to the time to work on it.  Well, neither
  17. did I.  But as long as I was in the code, I did a couple other things too.
  18. I guess that makes me the new MM maintainer?
  19.  
  20.  
  21. 1. BUG FIXES AND PORTABILITY
  22.  
  23. All patches to version 0.90 from the original developers, mainly Howie Kaye,
  24. are incorporated; most importantly, the Y2K and Y2K1 fixes.
  25.  
  26. Then come numerous bug fixes and file reorganization from Ken Harrenstein
  27. <klh@panix.com>, including new simplified makefiles and conversion of many
  28. files to the "new" (1990) OS-dependent (or feature-dependent) structure that
  29. started in version 0.90.  Ken's changes are documented in work/notes-klh.txt.
  30. I carried this forward a bit in getting the new version to build on Linux
  31. (with help from Chiaki Ishikawa <ishikawa@yk.rim.or.jp> and Adam Sampson
  32. <azz@gnu.org>, so now the Makefile automatically links config.h to the right
  33. OS-dependent config.h-blah file.
  34.  
  35. The main "functional" bug fix is a lot of code to check for, protect against,
  36. and allow recovery from truncated outgoing messages upon return from the
  37. editor.  Users will notice that .mm-xxx temporary files are no longer deleted
  38. immediately upon return from EMACS or whatever your editor is, so if "display"
  39. should reveal that some or all of the outgoing message text is missing, you
  40. can rescue it from the .mm-outgoing-<pid> file, whose name is announced to you
  41. each time you return from the editor.  This feature is enabled only in Solaris
  42. and SunOS, because those are the only platforms where the problem was
  43. observed, but can be compiled in to any other platform too (-DFDC_EDITFIX).
  44. In any platform that has this feature, the new command:
  45.  
  46.   SET USER-TEMP-FILES-KEEP { ON, OFF }
  47.  
  48. can be used to turn it on and off.  See work/notes-fdc.txt for details.
  49.  
  50. As of this writing [Tue Sep 24 16:58:16 2002] version 0.91 builds and runs on
  51. Solaris 2.5.1 (and presumably later), SunOS 4.1.3, Linux (Red Hat 7.1, but
  52. presumably any other reasonably recent Linux version), OpenBSD 3.0, and
  53. NetBSD 1.5.2.  All others (AIX, HP-UX, Tru64, etc) untested.
  54.  
  55.  
  56. 2. USING 8-BIT DATA
  57.  
  58. MM knows absolutely nothing about character sets, which is good because this
  59. lets you have control, and therefore use any character sets you wish without
  60. interference.  Although I had been using MM forever, I always believed it
  61. could not handle 8-bit text messages, and therefore used some other mail
  62. client to send or reply to mail in Spanish, German, or Russian (etc) that
  63. was encoded as Latin-1, KOI8-R, UTF-8, ...  It turns out MM can be used for
  64. this purpose after all, but it needed some new headers for outgoing messages.
  65.  
  66. 2.1. Reading Mail.
  67.  
  68. MM displays incoming messages literally and saves them literally into your
  69. mail file.  It doesn't strip the 8th bit and it doesn't intepret the message
  70. content in any way.  If an incoming message contains 8-bit data, MM sends it
  71. directly to your screen when you read it.  For this data to be intelligible,
  72. you need a terminal emulator (or xterm window, console screen, etc) that
  73. either uses the same character set or knows how to convert from the message
  74. character set to the terminal character set.
  75.  
  76. I use MM on a Unix host through a Telnet or SSH session (or other kind of
  77. connection) from Kermit 95 on Windows, which understands nearly 100
  78. different character sets: the ISO 8859 Latin Alphabets, the ISO 646 7-bit
  79. national sets, various Cyrillic KOI encodings, numerous PC code pages and
  80. other proprietary sets such as HP-Roman8 and DG International, as well as
  81. Unicode UTF-8, the latter including thousands of characters in dozens of
  82. scripts (Latin, Greek, Cyrillic, Hebrew, Japanese, you name it -- even
  83. Runes).
  84.  
  85. A properly formatted e-mail message identifies its text characer set in a
  86. header like this:
  87.  
  88.   Content-Type: text/plain; charset=xxx
  89.  
  90. where xxx is the MIME standard name of the character set.  If a message
  91. arrives and looks like garbage, you can change Kermit's character set to
  92. match (you can do this on the K95 2.0 toolbar) and redisplay the message.
  93.  
  94. When using Kermit to access MM, you should be aware that Kermit's
  95. character-set names are not always the same as the names shown in the
  96. Content-Type header (because Kermit predates MIME).  For example:
  97.  
  98.   MIME Name     Kermit Name    Remarks
  99.   ISO-8859-1    Latin1         West European Latin
  100.   ISO-8859-2    Latin2         East European Latin
  101.   ISO-8859-3    Latin3         Mainly for Turkish
  102.   ISO-8859-4    Latin4         Mainly for Sami
  103.   ISO-8859-5    Cyrillic-ISO   Cyrillic + Latin
  104.   ISO-8859-6    Arabic-ISO     Arabic + Latin
  105.   ISO-8859-7    Greek-ISO      Greek + Latin
  106.   ISO-8859-8    Hebrew-ISO     Hebrew + Latin
  107.   ISO-8859-9    Latin5         ISO 8859-9 is Latin Alphabet 5
  108.   ISO-8859-15   Latin9         ISO 8859-15 is Latin Alphabet 9 (has Euro)
  109.   UTF-8         UTF8           Unicode UTF-8
  110.  
  111. 2.2. Sending and Replying to Mail.
  112.  
  113. When you give MM a SEND or REPLY command, it normally enters "direct text 
  114. input mode", collecting characters straight from your keyboard.  When it does
  115. this, it strips the 8th bit of each character.  This is unfortunate but
  116. unavoidable; it occurs at such a low level in the command parser that it
  117. could not be changed without breaking everything else.
  118.  
  119. Luckily if you tell MM to:
  120.  
  121.   set use-editor-always true
  122.  
  123. the command parser is bypassed and the 8th bit is not stripped.  If you
  124. are replying to a message and including the original message, its 8-bit
  125. characters are preserved.  You can enter 8-bit characters yourself using
  126. any method allowed by your editor and/or terminal emulator (e.g. Kermit's
  127. Compose key).
  128.  
  129. Then before sending the message, you should tell MM to include the headers
  130. that identify the character set.  This requires a new command that was
  131. added in MM 0.91:
  132.  
  133.   content-type xxx
  134.  
  135. where xxx is a MIME character-set name (the default, if you give a
  136. CONTENT-TYPE command without an argument, is ISO-8859-1).  When you give
  137. this command, MM writes out a full Content-Type header including the
  138. character-set name you gave, e.g. CONTENT-TYPE UTF-8 results in:
  139.  
  140.   Content-Type: text/plain; charset=UTF-8
  141.  
  142. When you give a CONTENT-TYPE command, MM also inserts two other headers that
  143. are required by the recipient to properly interpret the message:
  144.  
  145.   MIME-Version: 1.0
  146.   Content-Transfer-Encoding: 8bit
  147.  
  148. Should it be necessary for you to specify other values for these headings,
  149. you can do so with the following commands (also added in MM 0.91):
  150.  
  151.   mime-version <text>
  152.   transfer-encoding <text>
  153.  
  154. The MIME-Version value would be something like "1.0" and the Transfer-Encoding
  155. value should be something like "8bit" or "7bit", but no verification is done.
  156.  
  157.  
  158. 3. DOWNLOADING MESSAGES
  159.  
  160. Version 0.91 of MM has the following new commands for downloading messages.
  161. They work exactly like the PRINT command, but download rather than print.
  162.  
  163. SET DOWNLOAD-FILTER [ text ]
  164.   Sets the download filter (program) to the one give by "text".
  165.   This program is run when you give a DOWNLOAD command.
  166.   The default download-filter is "kermit -Ts - -a %s";
  167.   that is, send standard input (which is fed to Kermit by MM) in
  168.   text mode under the name given by the replacement string;
  169.   the default replacement string is "mm_msg".
  170.  
  171. The download program must be able to send from standard input (as Kermit
  172. does with its "-s -" command-line option).  XYZMODEM programs (e.g. Omen
  173. rzsz or GNU lrzsz) don't seem to allow this, but you can work around them
  174. as follows:
  175.  
  176.   set download-filter cat > %s; sz -a %s; rm %s
  177.  
  178. You can have up to four %s's in the download-filter; each one is replaced
  179. by the same string.
  180.  
  181. DOWNLOAD [ /FILENAME:name ]
  182.   In Read or Send mode, downloads the current message.  Headers are
  183.   treated according MM's DONT-PRINT-HEADERS and ONLY-PRINT-HEADERS
  184.   settings.  If you specify a filename, and if MM's DOWNLOAD-FILTER 
  185.   contains "%s", the "%s" is replaced by the given name.  So for
  186.   example, with the default download filter ("kermit -Ts - -a %s"):
  187.  
  188.     DOWNLOAD (by itself):
  189.       Sends the message as "mm_msg" ("kermit -Ts - -a mm_msg").
  190.  
  191.     DOWNLOAD /FILE:foo.bar
  192.       Sends the message as "foo.bar" ("kermit -Ts - -a foo.bar").
  193.  
  194.     DOWNLOAD /FILE:~/Mail/msg.txt
  195.       The filename can include a path, which will be used if the
  196.       file-transfer software knows what to do with it (Kermit does).
  197.  
  198.   You should be able to include almost any printable character except
  199.   Space in the filename; however, backslashes must be doubled:
  200.  
  201.     DOWNLOAD /FILE:c:\\some_directory\\some_subdirectory\\some_file.txt
  202.  
  203. DOWNLOAD [ /SEPARATE-PAGES ] [ /FILENAME:name ] [ message-sequence]
  204.   At top level, downloads the given message sequence (default = current msg).
  205.   /FILENAME: works as in Read Mode.  If the /SEPARATE-PAGES switch is
  206.   included, multiple messages are separated by formfeeds.  If you specify
  207.   a message sequence indicating more than one message, the entire sequence
  208.   is downloaded as one file.
  209.  
  210. You can also prefix the DOWNLOAD command with LITERAL (as with TYPE, PRINT):
  211.  
  212. LITERAL DOWNLOAD [ /SEPARATE-PAGES ] [ /FILENAME:name ] [ message-sequence]
  213.   Includes all the message headers, regardless of DONT-PRINT-HEADERS 
  214.   and ONLY-PRINT-HEADERS settings.
  215.  
  216. When accessing MM from any reasonably modern version of Kermit (such as
  217. Kermit 95 on Windows or C-Kermit 7.0 or later on Unix), Kermit's
  218. "autodownload" feature kicks in (yes) automatically -- as soon as the MM's
  219. download-filter program starts sending with either Kermit or Zmodem
  220. protocol, the terminal program switches to file-reception mode, and then
  221. back to terminal mode when the transfer is complete.  Thus the DOWNLOAD
  222. command does the entire job -- no "escaping back" or re-connecting is
  223. needed.
  224.  
  225. If you are accessing MM from Kermit 95 on Windows, you can download MIME
  226. messages that contain enclosures directly into your Windows mail agent.
  227. This is dangerous and is not recommended unless you know what you're doing
  228. and have inspected the message carefully in MM to ensure its payload is
  229. not lethal (further explanation is beyond the scope of this document).
  230. Tell MM to:
  231.  
  232.   DOWNLOAD /FILE:xxx.eml
  233.  
  234. Then escape back to the K-95> prompt and tell K95 to:
  235.  
  236.   RUN START xxx.eml
  237.  
  238. This tells Windows to start whatever program is associated with the .EML
  239. (e-mail) extension (Outlook, Netscape, whatever) and feed the xxx.eml file
  240. to it so you can experience it in all its multimedia glory.  The fact that
  241. you saw it in MM first allowed you to prescreen it for safety, an opportunity
  242. you would not have if you used a PC-based mail client to begin with.
  243.  
  244. (End)
  245.