home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 February / PCO_0299.ISO / filesbbs / dos / mmdos020.exe / HISTORY < prev    next >
Encoding:
Text File  |  1998-12-06  |  35.7 KB  |  908 lines

  1. Revision History:
  2. =================
  3.  
  4. 0.20 - 98/12/06:
  5.  
  6. New features:
  7.  
  8. - Search function. Case-insensitve searching is available everywhere. It's
  9.   still a bit limited, in that it only works within the current list (or
  10.   letter); i.e., you can't yet search multiple letters at once. Hit '/' to
  11.   bring up the text entry window and start the search, or '.' to repeat
  12.   the last search. (Yeah, I know -- it needs better keys.) Searching is
  13.   from the current line on down.
  14.  
  15. - Fido "hidden" message lines (marked with a ^A) can be displayed; 'X'
  16.   toggles this function.
  17.  
  18. - New features in the tagline editor and address book: New entries in the
  19.   address book are checked for dupes; also, tagline dupes, which were
  20.   already checked, are now reported. The address book and the tagline
  21.   editor allow you to Kill entries. And the tagline editor can be brought
  22.   up directly, via ^T, in the same way as the address book. Old features:
  23.   The reLoad function has been removed from the tagline editor.
  24.  
  25. - Rot13 function in letter window -- toggle with 'D'.
  26.  
  27. - If a new letter is not edited (as measured by the time stamp), you'll
  28.   be asked if you want to cancel it on returning to MultiMail. Partly
  29.   inspired by Gregory Paksi.
  30.  
  31. - Redundant colors can be omitted from the ColorFile. See
  32.   colors/README.col for details. Also, there are some new colors, and some
  33.   old ones are gone; be sure to check your ColorFile if you've customized
  34.   it.
  35.  
  36. - Messages to or from you are highlighted in a different color in the
  37.   letter list. After Ingo Brueckl (though this implementation is a little
  38.   different from his).
  39.  
  40. - Read-only support for Blue Wave's .XTI files (last-read markers). This
  41.   means that any old packets you read with Blue Wave will be marked in the
  42.   same way when first opened in MultiMail; however, any changes made in
  43.   MultiMail will not be seen by Blue Wave. Partly inspired by I.B., but
  44.   this is a different (and more correct) implementation.
  45.  
  46. - "Home" and "End" keys are now available in text entry fields (i.e.,
  47.    ShadowedWin::getstring()). After I.B.
  48.  
  49. Bug fixes and such:
  50.  
  51. - The FMPT kludge line is now supported, which means that in Blue Wave
  52.   mode, the netmail addresses of points will be recognized.
  53.  
  54. - Aborting a header edit from the letter list could cause a segfault. (The
  55.   fix in 0.19 was incomplete.)
  56.  
  57. - Some bogus ANSI codes (mainly, "ESC[?7h") are now semi-interpreted, so
  58.   they no longer clutter the screen. Also, the ANSI background color is
  59.   now hardwired to white on black, instead of being set by Main_Back.
  60.  
  61. - The highlight method for the active line was no good on a light
  62.   background with ncurses 4.2 (was ok with 4.1). Some other changes for
  63.   light backgrounds, too.
  64.  
  65. - High-bit, "low-bit" (below 32) and certain special characters are now
  66.   handled better by MultiMail, being actually printed instead of
  67.   interpreted as control codes. :-) Particularly useful for ANSI.
  68.  
  69. - TAB characters are now rendered as the appropriate number of spaces in
  70.   the letter and ANSI windows.
  71.  
  72. - In text entry fields (getstring()), high-bit characters were showing up
  73.   with weird attributes (due to a sign error). Reported (indirectly) by
  74.   I.B., this bug has been present since about 0.10! I'm suprised no one
  75.   from Fido zone 2 mentioned it to me before.
  76.  
  77. - Packets can now be renamed without MultiMail losing track of its last
  78.   read markers. (This will, however, still result in a second .red file
  79.   being created.)
  80.  
  81. - When entering a tagline manually via "E" in the tagline editor, the
  82.   entry field is now placed correctly, instead of appearing to overwrite
  83.   the last tagline. Also, bogus taglines are no longer generated from
  84.   message lines which are just "...".
  85.  
  86. - In the Reply area, the help menu for the letter list was showing a 'K'
  87.   where it should've been an 'S'. Also, capitalization in help menus has
  88.   been standardized (only the keys that activate commands are in caps in
  89.   the descriptive text), and the pop-up letter help window is now in two
  90.   columns.
  91.  
  92. - Killing an item (in any menu) now moves down to the next entry, 
  93.   regardless of the position in the list (unless at the end).
  94.  
  95. - The 'L' command now remains available in the address book after a screen
  96.   resize (SIGWINCH). Also, taking an address via 'L' automatically sets
  97.   the active line to the last position (where the new entry is).
  98.  
  99. - Netmail addresses are now included in Saved letters.
  100.  
  101. - The resize (SIGWINCH) handler was causing a segfault in some
  102.   circumstances. Although I just noticed it, this bug dates to 0.18.
  103.   Curiously, it occurred for me only when running under "screen". The
  104.   fix was to change Win::inkey() to remove the loop.
  105.  
  106. - Changed the .mmailrc separators from " = " back to ": ", which makes
  107.   them compatible with 0.18 and earlier. I'll probably change them again.
  108.   (I was trying to achieve a more "classic" style of .rc file, but in
  109.   fact, it still wasn't quite right.)
  110.  
  111. - The cursor was not being disabled in PDCurses versions.
  112.  
  113. - "Read" indicator in the letter window was not updated after Saving.
  114.  
  115. - Changed interface/Makefile and mmail/Makefile to allow "make clean" to
  116.   work in DOS. Suggested by I.B.
  117.  
  118. - And of course, various internal changes.
  119.  
  120. 0.19 - 98/10/25:
  121.  
  122. New features:
  123.  
  124. - The .mmailrc has been redesigned. New versions of MultiMail will update
  125.   it automatically; comments will be lost, but old data will be preseved.
  126.   Note: the new form is not readable by 0.18 or earlier, because of the
  127.   use of '=' as a separator. Partly inspired by Ingo Brueckl.
  128.  
  129. - Non-fatal errors. Currently, this is used only for the previously fatal
  130.   "Could not uncompress packet" and "Packet type not recognized".
  131.  
  132. - You can change the colors MultiMail uses without recompiling. See the
  133.   automatically generated "~/colors" for details; also, some sample color
  134.   schemes are included in the 0.19 archive. This feature is due largely to
  135.   Ingo Brueckl.
  136.  
  137. - "Marked" messages are kept in the active letter list, whether read or
  138.   unread. In combination with the "Save" changes (see below), this means
  139.   that marking is now actually useful. :-)
  140.  
  141. - Extensive changes to the "Save" dialog: When you Save from the letter
  142.   list, you're given a choice of "All", "This one", or "Quit"; if any
  143.   messages are marked, you also get the option "Marked". Saving "All" now
  144.   saves all messages in the active list, rather than all in the area. (To
  145.   get the old behavior, just toggle the full list on first.) Saving a
  146.   message sets the "Read" flag, and turns off "Marked". The last-entered
  147.   filename is retained (separately) for "All", "This One", and "Marked".
  148.   If no name is entered manually, the automatic name is regenerated with
  149.   each use; otherwise, the manual name is kept until you exit MultiMail.
  150.  
  151. Bug fixes and such:
  152.  
  153. - Segfaults in saving All, in some cases.
  154.  
  155. - Certain ANSI pics, with codes in the form "<ESC>[;27H" (i.e., with an
  156.   empty parameter before a semicolon) were causing segfaults.
  157.  
  158. - After the cursor was turned on, e.g. by the Save window or an aborted
  159.   message header edit, it was left in the middle of the screen on some
  160.   terminals. It is now forced down to the corner.
  161.  
  162. - The header editor was being left on screen after exiting via ESC.
  163.  
  164. - Removed the text "Fatal Error" from fatal errors. :-) It was sometimes
  165.   redundant, and other times wrong.
  166.  
  167. - When the last packet was deleted from the packet list, a segfault could
  168.   occur. Reported by Alan Ianson.
  169.  
  170. - Functions which redrew the letter window (e.g., toggling character set
  171.   translation) were setting the Read marker each time.
  172.  
  173. - The tagline window now looks better on screens other than 80 columns.
  174.  
  175. - Various internal changes, and added comments.
  176.  
  177. 0.18 - 98/08/14:
  178.  
  179. New features:
  180.  
  181. - MultiMail can now read QWK packets without .NDX files. Partly inspired
  182.   by Simon Callan. Note: It's still preferable to include them, since it
  183.   takes about three times longer to open the packet without them. (But 
  184.   that's not counting the unpacking time, which is much longer still.)
  185.  
  186. - The letter list now allows toggling between showing all messages, and
  187.   showing only those which are unread; when entering an area, it defaults
  188.   to unread (unless all the messages are marked read). I've found that
  189.   this makes a BIG difference in the feel of the program -- it's more like
  190.   a newsreader now. ;-) Use the 'L' key to toggle between the long and
  191.   short lists (as in the area list).
  192.  
  193. Bug fixes and such:
  194.  
  195. - Removed a lot of redundant code from the interface section, and 
  196.   reorganized it... There are many new features that need implementing,
  197.   but so far I've been concentrating on cleaning up and simplifying the
  198.   existing code, so as to have a solid base to build on. I think I'm
  199.   almost there. ;-)
  200.  
  201. - Found a couple small memory leaks, in AnsiWindow (the statbar was not
  202.   being deleted) and main_read_class. Also, the tagline file was being
  203.   left open after reading it.
  204.  
  205. - Now gives a fatal error (instead of segfaulting) if the screen is
  206.   smaller than 60x20.
  207.  
  208. - The address book and tagline window now respond correctly to SIGWINCH.
  209.  
  210. - In the tagline window, the key for rereading the file has been changed
  211.   from 'F' to 'L'. This allows 'F' to be used as an alias for PgDn, as on
  212.   other screens. (The real purpose was to merge the code into the rest of
  213.   the keyboard-handling code.)
  214.  
  215. - If there was only one area (i.e., REPLY), and the right arrow was
  216.   pressed, an infinite loop would occur. Reported by Tamminen Eero.
  217.  
  218. - The 'N' key, for Netmail, is now disabled when no Netmail area is
  219.   available. Partly inspired by Francois Thunus.
  220.  
  221. - Sample filenames in the default .mmailrc now conform to the OS (i.e., 
  222.   8.3 (FAT) format for DOS and OS/2), and the unused "ReadDir" line has
  223.   been removed. Inspired by F.T.
  224.  
  225. - Stripping and adding of blank lines at the end of messages works a
  226.   little better now, but still needs work.
  227.  
  228. - The addressbook was crashing, when empty (0 items). Reported by Marc D.
  229.   Williams.
  230.  
  231. 0.17 - 98/07/06:
  232.  
  233. New features:
  234.  
  235. - Netmail addresses, when present in Blue Wave packets (or reply packets),
  236.   are displayed in the From: or To: fields in the letter window, as
  237.   appropriate; and when entering a netmail message, the address can now be
  238.   edited. (Note: Netmail is largely untested yet.)
  239.  
  240. - In the header editor (From, To, etc.), you can now use the up and down 
  241.   arrows to move between fields, or press ESC in any field to abort the
  242.   edit. Press ENTER on the last field to exit normally.
  243.  
  244. - Reading a message in the QWK Personal area marks it as read in its
  245.   original area.
  246.  
  247. - A full area list is now available in both QWK and Blue Wave modes; it 
  248.   can be toggled by pressing 'L' in the area list. (The compile-time
  249.   "shortlist" definition has been removed.) One benefit is that you can
  250.   enter a message in any area, even when only the short list is being
  251.   displayed.
  252.  
  253. - When re-editing a message, you can now edit the header as well as the
  254.   text.
  255.  
  256. - ANSI animation. While in the ANSI viewer, press one of the ANSI
  257.   activation keys again (or 'A') to see an animated view. Press any key
  258.   to abort the animation.
  259.  
  260. - The ANSI viewer supports the screen-clearing code.
  261.  
  262. - The cursor is turned off, wherever possible. Less visual clutter. :-)
  263.  
  264. - True scrolling instead of redrawing; minimized the redrawing done for
  265.   letter window, ANSI viewer, and all ListWindows. It's now MUCH faster on
  266.   slow machines and slow terminals.
  267.  
  268. Bug fixes and such:
  269.  
  270. - MASSIVE rewrite... Almost everything that was crufty in previous
  271.   versions is now done the right way. :-) General fixes include: plugging
  272.   memory leaks (there were a lot of these, I'm sorry to say), elimination
  273.   of one-based arrays, adding more limit checks, and removal of all kinds
  274.   of kludges and redundant code. The interface is more fully separate from
  275.   the specific drivers; adding new packet types now requires changing
  276.   only mmail/driverl.cc.
  277.  
  278. - The netmail area is found by attribute rather than name, and (owing to
  279.   the full area list now available in Blue Wave mode) can always be found,
  280.   instead of only when you have received netmail. :-)
  281.  
  282. - Character set translation is applied to the area list, and to area 
  283.   descriptions in the letter list and letter window.
  284.  
  285. - The number of replies shown in the REPLY area is updated immediately
  286.   when it changes.
  287.  
  288. - The method of adding blanks before taglines and tearlines is changed; 
  289.   it should no longer be necessary to type an extra CR at the end of
  290.   replies.
  291.  
  292. - QWK replies are automatically word-wrapped at 80 columns, if they're 
  293.   not wrapped already. (In Blue Wave, this is not desirable. QWK doors 
  294.   seem to prefer individual lines; Blue Wave, paragraphs.)
  295.  
  296. - MultiMail now ensures that QWK replies end with a line-ending character,
  297.   instead of letting the last line run off into the padding area. Without 
  298.   this, certain QWK doors would strip off the tearline.
  299.  
  300. - The path is no longer displayed in the Save window, and the suggested
  301.   filename is conformed to FAT (8.3) standards. Note that you can still
  302.   enter any pathname, and any filename that will be accepted by your
  303.   system.
  304.  
  305. - Specifying pathnames that end in a slash or backslash (e.g., in
  306.   .mmailrc) should now work correctly.
  307.  
  308. - The extraneous "bw" prefix found on many of the .mmailrc variable names
  309.   is no longer needed, though it will still be recognized for backwards
  310.   compatibility.
  311.  
  312. - Space bar now works in the little area list.
  313.  
  314. - The QWK "Personal" area no longer appears in the little area list, nor 
  315.   can messages be entered in it from the area list.
  316.  
  317. - Unrecognized packets no longer cause a segfault (just an exit).
  318.  
  319. - Added trivial SIGWINCH handlers for AddressBook and TaglineWindow (they 
  320.   just exit that menu).
  321.  
  322. - Fatal errors are now reported correctly in the OS/2 version, even when 
  323.   they occur before curses initialization.
  324.  
  325. - In the ANSI viewer, there are no more segfaults in OS/2, and no more
  326.   stray characters on the status line in either PDCurses version.
  327.  
  328. - ANSI Reverse attribute now works with PDCurses.
  329.  
  330. - ANSI viewing works in reply area.
  331.  
  332. - A SIGWINCH can no longer result in the active (highlighted) line being
  333.   displaced off the screen.
  334.  
  335. - New default LHA parameters for MSDOS version (the Unix ones didn't work
  336.   for it).
  337.  
  338. - The currently selected address is preserved between calls to AddressBook.
  339.  
  340. 0.16 - 98/05/28:
  341.  
  342. New features:
  343.  
  344. - This version compiles for OS/2, with EMX. This entailed substantial 
  345.   changes to the Makefile (q.v.), as well as some code.
  346.  
  347. - The environment variable MMAIL can now be used instead of HOME, to
  348.   specify the directory of the .mmailrc (or mmail.rc) file. If neither
  349.   variable is defined, MultiMail will use the current directory (this is
  350.   also new).
  351.  
  352. - The DOS-to-Latin 1 character table has been improved, for translation of
  353.   graphics characters, by stealing most of the table from DOSEmu.
  354.  
  355. - Truly automatic packet recognition, by packet contents instead of name. 
  356.   Patch by Robert Vukovic.
  357.  
  358. - Internal ANSI viewer. Works on all platforms (except that it sometimes
  359.   segfaults when scrolling, under OS/2). Much better than the "less"
  360.   viewer, and it will form the basis of new file list and bulletin
  361.   viewers.
  362.  
  363. Bug fixes and such:
  364.  
  365. - Another big bug in the DOS version (argh!): Last read markers were not
  366.   being saved. This bug was the result of an error in the bug fix in 0.15.
  367.   :-/ I'm surprised no one has reported this.
  368.  
  369. - In the previous DOS versions, under some arrangements of directories,
  370.   the temporary directories would not be removed.
  371.  
  372. - The man page has been renamed to "mm.1", and the title changed, so that 
  373.   "man" and "apropos" will work more appropriately. The install will make 
  374.   a link to the old name (mmail.1).
  375.  
  376. - The "Replied" flag is now set by O- and N-type replies, as well as R.
  377.  
  378. - Some code reorganization.
  379.  
  380. 0.15 - 98/05/12:
  381.  
  382. New feature:
  383.  
  384. - If you back out from a packet, to the packet list, you can now reselect
  385.   the same packet without it being decompressed again. Thanks to Robert 
  386.   Vukovic for convincing me of the need for something like this.
  387.  
  388. Bug fix:
  389.  
  390. - In DOS, the default editor (edit.com) didn't actually work, because it 
  391.   didn't understand paths with slashes instead of backslashes. I missed 
  392.   this because it worked with Qedit. :-) The slashes are now flipped on 
  393.   the pathnames passed to external editors and archivers (in DOS only).
  394.   Thanks to kifox@geocities.com for reporting the problem.
  395.  
  396. 0.14 - 98/04/25:
  397.  
  398. Bug fix:
  399.  
  400. - A more subtle line-ending bug... under MSDOS, extra characters were
  401.   sometimes added to the end of a reply. (Unix versions were not
  402.   affected.)
  403.  
  404. 0.13 - 98/04/24:
  405.  
  406. Bug fix:
  407.  
  408. - While making changes to accomodate MSDOS line endings, I made a small 
  409.   oversight that caused replies to be truncated at one character if they 
  410.   were re-edited.
  411.  
  412. 0.12 - 98/04/23:
  413.  
  414. New features:
  415.  
  416. - Compatible with MSDOS. All source code files have been changed to
  417.   single-case, 8.3 form, and #ifdef's are used on filenames internally 
  418.   where necessary. (Most other issues are taken care of by DJGPP, though 
  419.   some Makefile changes were necessary, and the starting directory is now 
  420.   restored on termination -- needed in DOS, but not in Unix.)
  421.  
  422. - Compatible with PDCurses (as distributed with DJGPP), and SysV curses 
  423.   (specifically, Solaris). Note that the shadows on windows are opaque if 
  424.   you compile with SysV curses. (I also added "#define USE_SHADOWS", which
  425.   you can comment out or remove to get rid of the shadows altogether.)
  426.  
  427. Bug fixes and such:
  428.  
  429. - After the reorganization of resource.C in version 0.11 (if not before),
  430.   any change to the value of mmHomeDir in .mmailrc would leave the
  431.   bwPacketDir, bwReplyDir, etc. variables unaffacted.
  432.  
  433. - memError() now works correctly, even before initialization of the
  434.   interface. Fatal errors in general will be reported better in this
  435.   version.
  436.  
  437. - Some additonal bounds checking on sprintf() calls.
  438.  
  439. - tmpnam() checked. In principle, as few as 26 temporary filenames might
  440.   be available from it (which should still be enough, unless you write a
  441.   whole lot of replies).
  442.  
  443. 0.11 - 98/03/21:
  444.  
  445. New features:
  446.  
  447. - Area and system descriptions added to saved messages.
  448.  
  449. - I removed the last remaining command-line option, "-m", on the grounds
  450.   that it was useless. (This is a new UNfeature.) After testing it on my 
  451.   9600 bps terminal, it doesn't appear to improve the speed; and the 
  452.   alternate color scheme, which it was originally designed to select, was
  453.   never implemented. (Instead, I've added inversing to the top and bottom 
  454.   bars in the letter window, and made a few other changes to make it more 
  455.   monochrome-friendly.)
  456.  
  457. Bug fixes and such:
  458.  
  459. - resource.C and resource.h rewritten and simplified to allow compilation
  460.   with gcc 2.8.1. (It's not yet clear to me why the old version didn't
  461.   work, but this is better anyway.) There are still a few warnings, but it
  462.   works OK.
  463.  
  464. - When entering the From:, To:, and Subject: on replies, the full width 
  465.   of the fields had not been available. Under some circumstances, this 
  466.   could even cause a segfault. These lengths still need to be checked 
  467.   more stringently.
  468.  
  469. - Automatic "Re:" adding now takes place before subject-line editing, 
  470.   instead of after. This allows users to see that it will be added, and 
  471.   to override it if desired. (It also saves a few bytes of code!) I don't 
  472.   know why I did it the other way before. ;-)
  473.  
  474. - In the event of a "Fatal Error:" exit, MultiMail will now clean up 
  475.   after itself, as with normal exits. Also, failed memory allocation is 
  476.   now explicitly checked.
  477.  
  478. - Default paths for "zip" and "unzip" removed. (These would only show up
  479.   if the paths were not defined in the .mmailrc -- as they are with the 
  480.   default .mmailrc.) Thanks to Carey Bloodworth for pointing this out.
  481.  
  482. - If the message numbers exceeded 5 digits (i.e., 100000+), they would 
  483.   mess up the display in the letter list. Now, it takes 6. :-)
  484.  
  485. - Much internal reorganization.
  486.  
  487. - Fixed a bug with my website -- the new-style URL (/~wmcbrine/) messed 
  488.   up some relative pathnames. :-)
  489.  
  490. 0.10 - 98/03/07:
  491.  
  492. New features:
  493.  
  494. - Shadowed windows! Tell me if you like them.
  495.  
  496. - SIGWINCH support. You can now resize the terminal (e.g., maximize the 
  497.   xterm) while MultiMail is running, and it will adapt to the new size.
  498.  
  499. Bug fixes and such:
  500.  
  501. - Under Solaris, the help menu area was not being cleared when changing
  502.   from one menu to another.
  503.  
  504. - One more space available in letter list (now consistent with the other
  505.   lists).
  506.  
  507. - On some systems (such as Linux w/ glibc, and NetBSD), if you attempted
  508.   to read a packet that didn't already have a "bbsid.red" file (mm's read
  509.   markers) in it, MultiMail v0.9 would segfault right after unzipping a
  510.   packet, due to a very stupid attempt to call fclose() with a NULL
  511.   pointer. Under Linux w/ libc.5, this actually worked OK; and I didn't
  512.   notice it on my NetBSD test system because the packets there already
  513.   had .red files in them. Thanks again to Cesar Cardoso for reporting the
  514.   problem.
  515.  
  516.   Due to the seriousness of this bug, I'm releasing v0.10 early.
  517.  
  518. 0.9 - 98/02/26:
  519.  
  520. New features:
  521.  
  522. - Added alias, "!", for F2. Added Tab as an alias for right arrow (next 
  523.   unread) in letter list.
  524.  
  525. - Better handling of screen widths other than 80; better use of available 
  526.   screen space even in 80 columns. Still to do: handle SIGWINCH.
  527.  
  528. - QWK now has the option (on by default) to show only those areas which
  529.   have messages in them, instead of the full area list. I set this on by
  530.   default to match the behavior of the QWK side; you can change this in
  531.   the top-level Makefile. Currently, it's only a compile-time option. (In
  532.   the future, I'll add the ability to do a full list in Blue Wave mode,
  533.   and to toggle the mode at runtime.)
  534.  
  535. - .REP and .NEW filenames are now forced to lowercase. Should be easier 
  536.   to type. :-) But if you have any uppercase-named reply packets from 
  537.   previous versions, you'll have to manually rename them before 0.9 will 
  538.   recognize them. Sorry.
  539.  
  540. - Blue Wave mode now works on big-endian systems! The full functionality 
  541.   of MultiMail is now available on all platforms where it compiles. And 
  542.   "-fpack-struct" is no longer needed in the Makefile -- which I hope may 
  543.   mean increased portability.
  544.  
  545. - system() calls to rm and sed have been eliminated.
  546.  
  547. Bug fixes and such:
  548.  
  549. - Strip spaces from Blue Wave subject lines; fixes sorting in some cases.
  550.  
  551. - In Blue Wave mode, MultiMail was using LF as a paragraph delimiter. The 
  552.   correct behavior is to use CR as the delimiter and ignore any LFs.
  553.   Thanks to Marc D. Williams for submitting a packet that required this
  554.   fix.
  555.  
  556. - Messages in Blue Wave packets are supposed to have a leading space, but
  557.   packets produced by the ReneWave door lacked them. They also contained
  558.   nulls in messages (a no-no). MultiMail now deals with these problems
  559.   without flaking out. Thanks again to M.D.W.
  560.  
  561. - With Blue Wave packets, MultiMail now scans for "*.inf", instead of
  562.   assuming that the packet name minus the extension is the basename.
  563.   Normally, that is the case, but the "welcome!.000" packet that comes
  564.   with the Blue Wave reader -- which uses "welcome" internally -- is a
  565.   counterexample. MultiMail can now read this packet. :-)
  566.  
  567. - Startup for QWK packets is much faster, especially on slow systems.
  568.   Previous versions would attempt to open the .ndx file for each area
  569.   defined in the control.dat (and would do so several times for each
  570.   area), whether it existed or not; 0.9 scans to see which .ndx files
  571.   actually exist first.
  572.  
  573. - Changed ANSI viewer to work better with certain messages. Really, I
  574.   should make it user-definable, instead of being hard-wired to "less";
  575.   but I'm probably going to make it into an internal function anyway.
  576.  
  577. - Added "#include <sys/types.h>" to mmail/mmail.h. Usually I wouldn't 
  578.   mention a change of this type, but in this case, it was done to get 
  579.   MultiMail to compile with glibc (libc 6). Thanks to Cesar Cardoso for
  580.   reporting the problem and testing the solution.
  581.  
  582. - Saved messages are now wrapped at 80 columns, regardless of screen
  583.   width at the time of saving; and the date is now added to the saved
  584.   header.
  585.  
  586. - Replying to a message no longer messes up the right margin of the
  587.   original when viewing it immediately after replying.
  588.  
  589. - Paths are no longer stored with the .red file when using LHA. In 
  590.   previous versions, this could cause the storing of multiple .red files 
  591.   into a packet.
  592.  
  593. - Next/previous unread in letter list now work correctly, even with 
  594.   messages that have manually been marked Unread.
  595.  
  596. - Miscellaneous minor internal fixes and optimizations.
  597.  
  598. 0.8 - 98/02/10:
  599.  
  600. New features:
  601.  
  602. - "Re: " is stripped from subject lines, for sorting and display purposes,
  603.   and added automatically on replies (unless doing so would truncate the
  604.   subject). Subject sorting is now case-insensitive.
  605.  
  606. - Letter window now displays "bbsnum (x of y)", for consistency with the 
  607.   letter list and to provide more information.
  608.  
  609. - Slightly expanded the area description length to make better use of the
  610.   available space. Also, in the letter list, more of the subject is shown.
  611.  
  612. - Restored the "line/lines" counter found in early versions of MultiMail.
  613.   This shows the length of the message in lines, and the number of the
  614.   top line on screen.
  615.  
  616. - Temporary files are now cleared at the end of a session. Also, since
  617.   MultiMail now generates a unique temporary directory for each session,
  618.   a single user can run multiple concurrent sessions. (Just don't try to
  619.   read the same packet in each one!)
  620.  
  621. - System uname added to Blue Wave tearline (if it will fit).
  622.  
  623. - Character set translation can now be toggled at runtime, by pressing
  624.   'c', instead of at compilation time.
  625.  
  626. - Packet type is now recognized automatically, based on the filename's
  627.   extension. (You can still force the other type.) Consequently, the "-b"
  628.   and "-q" options have been removed.
  629.  
  630. - The Blue Wave area list now uses the description instead of the echotag.
  631.   This is much more useful, and conforms to the Blue Wave reader.
  632.  
  633. - The number of the original message is now passed to the door for reply
  634.   linking.
  635.  
  636. - In the letter window, the top and bottom bars are now inversed when in
  637.   monochrome. In the various lists, the highlight bar is now drawn with 
  638.   stdout(), for greater contrast.
  639.  
  640. - Many changes to the top-level Makefile; it's now more portable, and 
  641.   commented. You can now set the location of the ncurses header file 
  642.   here, instead of editing the source.
  643.  
  644. - The packet list is now sorted, and shows file sizes as well as dates.
  645.  
  646. - The backquote character (`) is converted to an ESC when using the ANSI 
  647.   viewer. (Some systems recode ESC characters this way.)
  648.  
  649. - You can now Kill packets from the packet list.
  650.  
  651. Bug fixes and such:
  652.  
  653. - If all preexisting replies were deleted, attempting to create a new
  654.   reply during the same session could cause a segfault.
  655.  
  656. - Terminal newlines stripped from replies. Conforms to the Blue Wave
  657.   reader; supresses gaps after the tagline with some doors.
  658.  
  659. - QWK subject fields had been truncated at 24 characters. (The field is 
  660.   25 chars.)
  661.  
  662. - The tagline file can now be hand-edited without introducing blank lines.
  663.  
  664. - In the letter window, PgDn, End, and the down arrow now stop at the
  665.   actual end of the text.
  666.  
  667. - No more extra junk in Blue Wave reply packets.
  668.  
  669. - Blue Wave replies can now be safely reedited. (Previously, the line
  670.   endings could be messed up -- left in Unix format.) Stray characters no 
  671.   longer appear at the end of Blue Wave replies while viewing them.
  672.  
  673. - Blue Wave mode, like QWK mode, now shows the BBS message numbers in the
  674.   letter list, instead of the messages' position in the packet.
  675.  
  676. - Trailing ", Sysop" stripped from sysop name in QWK mode.
  677.  
  678. - Opening reply packets that were generated by the Blue Wave reader caused
  679.   a segfault, due to case mismatch; it now works correctly.
  680.  
  681. - Version number "encryption" for Blue Wave replies fixed (so the number
  682.   appears correctly in tearlines). (IMO, the Blue Wave specs are in error
  683.   in describing this feature -- bluewave.h refers to addition when it
  684.   should say subtraction.)
  685.  
  686. - Left and right arrow keys in the area list now work much faster when
  687.   skipping empty areas, and can take you to the first and last areas,
  688.   instead of second and next-to-last.
  689.  
  690. - Killed the stupid repeating-REPLY-area bug in Blue Wave mode.
  691.  
  692. - When creating Blue Wave replies, MultiMail now makes the proper choice
  693.   between "real name" and "alias", depending on the area flags.
  694.  
  695. 0.7 - 97/12/07:
  696.  
  697. New features:
  698.  
  699. - Right and left arrow keys now select next/previous unread message in an 
  700.   area, similarly to the way they function in the area list (jumping to 
  701.   non-empty areas).
  702.  
  703. - ANSI viewer. Hit ^A while reading a message to view it in color, if it
  704.   has ANSI codes embedded. This is still rudimentary; it uses "less" as
  705.   the viewer, and it depends on the terminal to interpret the codes.
  706.  
  707. - Private flag support. Complete, except for Blue Wave area flag checks.
  708.  
  709. - Character set translation is essentially complete. The only further
  710.   changes I envision are the ability to turn translation on or off at run
  711.   time, instead of at compile time; some possible changes to the
  712.   translation table; and maybe additional character sets.
  713.  
  714. - Stolen taglines are checked for dupes, included only once.
  715.  
  716. - With some minor changes, I got it to work under SunOS (Solaris). No longer 
  717.   just a Linux program! :-) So, the tearline is now derived from the uname.
  718.   Blue Wave mode still requires a little-endian system.
  719.  
  720. - QWK "Personal" conference.
  721.  
  722. - Many key aliases added, mainly for use on terminals that don't support
  723.   keys like PgDn and F1. Also, Space Bar now functions as a combination
  724.   PgDn/Enter in the letter window, to allow paging through a conference.
  725.  
  726. - Marking and read/unread toggle now work from the letter list,
  727.   simplifying bulk marking. In the REPLY area, Kill now works from the
  728.   letter list.
  729.  
  730. - Automatic creation of .mmailrc and the mmail directories; no more "make
  731.   install_dirs".
  732.  
  733. - Changed bluewave.h to version 3. (No related feature changes yet.) I now 
  734.   use it in unmodified form; "-fpack-struct" is sufficient.
  735.  
  736. Bug fixes and such:
  737.  
  738. - Suppression of "hidden" text lines added for Blue Wave (already present 
  739.   for QWK).
  740.  
  741. - Append saved files instead of overwrite.
  742.  
  743. - If saving without a path specified, save in the "save" directory.
  744.  
  745. - Better adaptation to nonstandard screen sizes.
  746.  
  747. - Really random taglines (previously, there was no call to srand).
  748.  
  749. - "Save lastread pointers?" and "Reply area has changed..." messages now
  750.   come up only when appropriate.
  751.  
  752. - "Personal" column in area list removed in QWK mode. Maybe not a bug, 
  753.   but it was unused.
  754.  
  755. - Fall back to login name if no alias name defined. (It was using only
  756.   the alias name, sometimes leading to blank From: lines in Blue Wave
  757.   mode. This feature needs more work -- the alias should not always be the
  758.   default.)
  759.  
  760. - Various date fixes (QWK and Blue Wave).
  761.  
  762. - Print the right area type for QWK Replies.
  763.  
  764. - Area names padded out with spaces when necessary to correct a cosmetic 
  765.   defect in the REPLIES/PERSONAL letter lists' "Area" fields.
  766.  
  767. - Version number references made consistent.
  768.  
  769. - Remove extra bytes from ends of messages (QWK and Blue Wave).
  770.  
  771. - A big one: Kill the *correct* reply messages with 'K'. (!)
  772.  
  773. - A BIG one: QWK reply area numbers fixed. It was using the internal area 
  774.   number, rather than the QWK number; so replies would go to the wrong 
  775.   areas! (Under specific conditions -- a packet with conferences that were 
  776.   numbered serially, starting from zero -- this would actually work right,
  777.   which is doubtless how the bug snuck in to begin with.)
  778.  
  779. - Stop truncating replies. (This bug complimented the extra byte bug, 
  780.   preventing segfaults in the old version.)
  781.  
  782. - I changed the default directories from "bwdown", etc., to "down", etc. 
  783.   This wasn't a bug, but it was too Blue Wave-centric for a dual- 
  784.   function reader. (I believe the original intent of K.T. & T.I. was that
  785.   the QWK implementation would have its own directories, e.g., "qwkdown"; 
  786.   but as implemented by J.Z., a common directory was used. I may revert 
  787.   to the putative original design at some point. Internally, the "bw" 
  788.   prefix is still used on many shared structures.)
  789.  
  790. - Make .REP packets from the BBSID, not the base packetname.
  791.  
  792. - "Unread" now counts all messages marked unread, not just those which 
  793.   are also unmarked and unreplied.
  794.  
  795. - Letter sort fixed (now sorts by number within each subject), and faster.
  796.  
  797. - Eliminated the defaulting to "reply" when an otherwise undefined key 
  798.   was pressed.
  799.  
  800. - Calls to todos replaced with internal code.
  801.  
  802. - QWK .ndx parser replaced with faster, non-endian-dependent version.
  803.  
  804. - Many ncurses changes. Most importantly, shells and (normal) exits now
  805.   restore the screen mode. (Error exits still need fixing.)
  806.  
  807. - Makefile changes (including centralizing options in top-level 
  808.   Makefile). Could do with a bit more changing, I think.
  809.  
  810. - A big one (since it prevented me from even using 0.6, as it was): Fixed
  811.   segfaults on opening packets with uppercase names within (i.e., those 
  812.   from most or all DOS-based BBSes).
  813.  
  814. - Many minor changes to suppress warning messages during compilation.
  815.  
  816. - Many, many more. :-) These are just the user-visible ones.
  817.  
  818. Bugs unfixed:
  819.  
  820. - The lockup-on-exit bug, described below as having appeared in 0.3 and
  821.   disappeared in 0.4, has resurfaced. I too am unable to trace it. It can
  822.   come or go after almost any random change in the code.
  823.  
  824. -- William McBrine
  825.  
  826. 0.6a - 97/03/25:
  827.  
  828. * Oops! The signature was in the wrong place. Right order is: signature,
  829.   tagline, tearline ;-)
  830.  
  831. + Tagline adoption is supported! (Doesn't check dupe tags yet.)
  832.  
  833. * QWK-reply packs contained '\n' as a line terminator. It's incorrect! We
  834.   have to use softCR (char#227). 
  835.  
  836. + Character conversion is somewhat in! For ISO 8859-1 <--> CP437 (DOS)
  837.   translation, #define ISOCONVERT in /interface/interface.h
  838.  
  839. - ISO conversion doesn't do the from/to/subj yet
  840.  
  841. 0.5a - 97/03/22:
  842.  
  843. * Fixed another date bug (when reloading QWK replies, the date would be
  844.   mangled). 
  845.  
  846. + You can now use a signature file after each letter (specify its filename
  847.   in .mmailrc)
  848.  
  849. + Says error, if ~/.mmailrc isn't found. (The program needs this file!)
  850.  
  851. + File open errors printed, inside a BW/QWK packet, it tries four
  852.   variations of the filename (eg. mybbs.dat, MYBBS.dat, MYBBS.DAT,
  853.   mybbs.DAT). 
  854.  
  855. - The annoying bug, which occurred when quitting, has disappeared! ;-o
  856.  
  857. 0.4a - 97/03/12:
  858.  
  859. + Fixed the date handling with QWK packets. Should do it well. That part
  860.   wasn't even implemented before. 
  861.  
  862. * Colors should be fine now, everywhere.
  863.  
  864. ! One small, but ANNOYING bug introduced: the program doesn't exit
  865.   properly, sometimes you have to kill it! Sorry, couldn't trace this bug
  866.   yet. Maybe you can help. 
  867.  
  868. 0.3alpha - 97/02/16:
  869.  
  870.   Took out many more bugs. This version now is almost usable ;)
  871.  
  872.   You can now (re)Edit your reply!
  873.  
  874.   Major design and color changes... Still not done, but doing good!
  875.  
  876.   Added message Marking, Read/Unread toggle.
  877.  
  878. 0.2alpha - 97/02/12:
  879.  
  880.   Debugged the program, fixed lots'a bugs, added QWK support. Only a
  881.   preview! Don't use it, that's my advice! ;)
  882.  
  883. -- John Zero
  884.  
  885. 0.1c.staticbin - 96/??/??:
  886.  
  887.   statically linked elf executable of 0.1c. Problems were reported with
  888.   gcc 2.7.2 and libc 5.2.?.
  889.  
  890. 0.1c - 96/03/19:
  891.  
  892.   bugfix, now uses "todos", instead of "/usr/bin/todos", only elf binary
  893.   included
  894.  
  895. 0.1b - 96/02/05:
  896.  
  897.   Compiles on RedHat 2.1 + dynamic elf binary included
  898.  
  899. 0.1a - 96/02/03:
  900.  
  901.   INSTALL file created (cut from readme)
  902.  
  903. 0.1 - 96/01/27:
  904.  
  905.   initial release
  906.  
  907. -- Kolossvary Tamas & Toth Istvan
  908.