Simple menu CMD/PMShell/PMShell with WPS. Source code available.
Program is distributed as ARJ package: download to temporary directory and unpack to destination folder. See below for download link(s).
Following ones are the download links for manual installation:
PROTMENU v. 19980313 (13/3/1998, Veit Kannegieser) | Readme/What's new |
HISTORY FILE (reverse chronology)
=================================
NOTE: RMB is Right Mouse Button.
Changes in v2.67
================
o Template processing - $IF logic error would end up skipping all
lines until EOF if it was actually false.
o Folder rebuild changes - minor; some diagnostic logic added in
an attempt to catch an obscure, "only on some systems" issue.
o Better logic to handle corrupt or invalid news status files.
o Additional diagnostics added in news indexing routines.
Changes in v2.65
----------------
o Finalizations to various form and menus for this release that
will see more widespread exposure in the Win32 world.
o HELP file expanded significantly. Still plenty to do, but
a vast improvement over previous content. Context sensitive
help isn't triggering; no dialog boxes invoke help. I'll
figure out why quickly.
Changes in v2.62
----------------
o Modified HELP menu to add ways to register.
o Added some text to the HELP system.
o Settings->Prompts now has a way to turn OFF the new version
notifications.
o There is now a mechanism to try and relieve the 31 day nag if
MR/2 has been used a minimal of times. I hate retrying shareware
a couple of weeks later, after giving up on it the first day due
to time constraints ... only to find my chance has expired already!
That's a non-sale for what might have been a decent package, and
results in a waste of my time. This should help reduce these
types of issues with MR/2.
o More web site cleanup centering on registration options.
o URL editor would crash on some long URL's. Fixed.
Changes in v2.61
----------------
o Some work towards allowing READ ONLY folders, for transporting archived
folders to CD or DVD media. Not complete, but I'm working on it!
o Win32: Message viewer's RMB->View attachment function was broken during
the improvements in overwrite file handling. Repaired.
o More cleanup of support docs and web pages.
Changes in v2.60a
-----------------
OS/2 specific "catch up" release
o Memory leak plugged. Was leaking memory every time a status
bar messages was updated.
o pop3 user name now compatible with Win32 updates and can be
up to 90 characters (for spam-blocking proxy tools)
o Thesaurus path builder adjusted. And, a couple of log file
entries added to aid in debugging loading issues.
o EXPERIMENTAL: To aid in experimenting with the Time Zone issue,
I added a configuration flag. But I was too lazy to try and fit
it onto the 6th settings page; it wouldn't be an easy fit and it's
too late in the evening to add page 7! So, to see if this
does the trick, I've added a (temporary!) command line switch:
/TZ+ tells MR/2 to adjust the TZ for DST (default)
/TZ- attempts no adjustment for DST. This will work in
the cases where the eCS clock does the adjustment,
AND for those cases where the region doesn't follow
DST at all, and MR/2's adjustment assumes it does.
o Misc bug fixes in core code, as scatter about in the Win32 changes
below. For example, search text persistent across folders, news
client obscure socket crash fixed. More.
Changes in v2.60
----------------
o Odd TCP/IP socket behaviour in news client class fixed.
o Expanded Windows HELP file. Cleanup and infastructure
improvements for Windows release.
o Search text persistent across ALL folders, instead of being
unique per folder. By request, and it made sense.
o Win32 trash folder - under some conditions, trash refused to
open. Fixed.
Changes in v2.56
----------------
o I believe the mouse wheel curse has been ended. I have
the mouse wheel moving on the right direction, only for
"real" mouse commands and it will recognize multiple
increments.
o Mouse swiping is also, finally, complete. Swiping up and down
should work like a rubber band and reverse when moving in back
towards the starting "anchor". Clicking a second time on any
item acts properly.
o The Open toolbar icon now opens marked messages in folders
and newsgroups.
o The RED color associated with new items now persists when
scrolling the index view horizontally.
o Detach files now go to the right paths no matter how the
"overwrite?" prompts are answered.
Changes in v2.55
----------------
o Mouse wheel "ghost" messages are ignored. Some systems sent
out periodic pulse-like messages with NULL parameters.
o Focus changes after selecting a notebook tab.
o Mouse wheel scrolling on message/folder lists that did not fill
up a single screen caused odd double-listings that "snapped back"
on click. Fixed.
Changes in v2.54
----------------
o Mouse swiping is done. Finally. I think.
Changes in v2.53
----------------
o Mouse swiping revisited yet again. I think I've got the
"rubber band" like function down.
o Replying to messages with displayable text > 32k was problematic.
You now have up to 64k of reply text nomatter what the size
of the quoted reply is. This is a workaround until I can
do better. However, even for a new message, the default for
the RichText control maxed out at 32k of NEW text.
Changes in v2.52
----------------
o Win32: Better working when used in an alternate path (as in,
when set up in a multiple account environment). All internal,
but things like HELP and all .ORG files are grabbed from the
mrw.exe source directory. There will be more work in this area
as testing progresses.
o Registration preparations.
o Some more work on the mouse swiping logic, and while I left some
code, I undid the visible piece because it was worse than ever.
I think I'm close, but I have to make another pass at it.
Changes in v2.51
----------------
o Scroll wheel now moves in the right direction. I also fixed it
so it doesn't scroll past the end and expose "white space".
Also, dragging any grid thumbnail works in real-time.
Also, mouse scroll up/down when dragging above/below the index
display is tapered. The farther you move away, the faster it
scrolls.
o Improved the first-time setup of the newsreader.
o Bugs with newsreader settings addressed. I found the code that
caused the news authentication password to be erased on occassion.
Fixed. All news server password fields are now masked instead of
plain text. Passwords are also encrypted in the news.rc file.
o There is now a not-too-obnoxious mechanism for announcing the
availability of new MR/2 Versions. Checks are quick, in a
background thread, and made at most once a week.
o One more pass at spawning external utilities with long file names
containing spaces (with params including spaces :)
o Windows version banner on outgoing mail simplified. No reason
to list the news version, since it's all embedded in one EXE.
o Experimental: Notebook tabs now use "system" font, which is
bigger and darker than previous font. Let me know what you think.
By request, but should I put an option use old/new font?
o CANCEL on settings forms should now work correctly.
o Selection of path during detach-to-path fixed. New listbox
code wasn't quite right (OwlNext issue). Calls for a review
of ALL listbox code (there aren't many places I use a plain listbox).
o Dictionary and thesaurus files are included in install exe.
Changes in v2.50
----------------
Windows specific changes.
o Fixed a small memory leak. Each time the bottom status win text
was changed, a small bit of memory was leaked. Over days/weeks of
running, this could add up to be quite noticable.
o Mouse wheel now implemented in Grids (all columnar lists).
o Swiping multiple messages with the mouse no longer skips items.
o Status messages from fetch/send threads are again displayed properly
in the status bar. Actually, an age old placement issue has been
remedied, too.
o Directory selected when detaching-to-path now denotes removable and
network drives with more recognizable bitmaps.
o Focus issues resulting from returning from scripts and other external
utilities have been addressed. I'm still streamlining all of this,
but the focus-stealing should be over.
o There were 2 related problems with working with "GUI Orphaned messages".
Basically, if a message window was opened and it's message index list
was subsequently closed underneath it, working with certain features
and even closing this message would crash. Closing is now performed
without problem. Other functions that require the message index will
nicely inform the user of the issue and ignore the request. No more
crashing.
o Grid DLL was rebuilt for some of the fixes, above. This gave me
the opportunity to shrink its size and name it properly (more
accurately, it was previously released as a debug DLL ... not now).
To clean up unused DLL's, it is safest if you first run MR/2, then
delete *.DLL from the MR/2 working set path. Any DLL in use will be
kept, those unused will be deleted. The BDS*.dll, OWL52*.DLL
and UG*_.DLL should end up getting deleted.
Changes in v2.49
----------------
Windows specific changes.
BETA STATUS (read)
o I managed to build with the new OWL "next" DLL, and removed
the show-stopper issues. There are some new quirks, but nothing
horrible that I've found in almost a week of running with it.
For example, the message index notebook likes to pop to the top
now when a new message beep is announced. I'll find it :)
The fact that I was able to use this library is BIG for future
enhancements. It also means that I can play with switching compilers,
although I expect that won't be as easy.
The OWL619T.DLL file is a bit meatier than the previous version, but
THIS TIME I do believe that BDS*.DLL is obsolete. I've kept it in
the distribution until I can test with a completely virgin system.
THE NEW DLL MAKES THIS A BETA STATUS RELEASE - which only means it's
a tad more risky, stability-wise, than some of the past releases.
o Compliments of the new OWL code is a directory browser, mildly
tweaked by yours truely. See DETACH TO, below.
o The DETACH and DETACH TO PATH routines saw extensive work. There is
better overwrite logic, and a BROWSE button on the to-path options.
Let me know what you think.
o Fixed issues where MR/2 was installed in a path with spaces (er,
'Program Files' :), and generated message file names would not get
passed to external programs correctly.
o Win98 (and ME? Is anyone using ME or 95 anymore?) remote control.
It was painful, but I implemented a Mailslot mechanism for Win
platforms that don't support named pipes. This would allow
command line control of running instances to work now across ALL
Windows platforms. This should also enable MAILTO's from browsers
to successfully communicate with a running copy or MR/2 Win.
o SAVE button now works on Settings forms. I'll work on CANCEL next,
that's actually harder to do.
Changes in v2.48b
-----------------
Windows Quick fixes.
o Win98 apparently doesn't support CreateNamedPipe, which is
required for remote control. I'll look for a work-around,
but using a running instance to launch a mailto URL won't
work unless I find one (from Win98 only). [LATE NOTE:
Looks like "MailSlots" will work - will try]
o At least MR/2 will run now on Win98. v2.48 broke it, related
to the issue above.
o A new mechanism is used to bring the new mail form to the
foreground when MAILTO's are executed. Let me know.
o If no MR2_UTILITY_PREFIX is specified as an environment variable,
VBS scripts are enabled. I've got a prototype, but it doesn't
do anything real. Yet. REXX is still (and always will be)
supported if this env variable has REXX or REGINA in it anywhere.
o Minor tweaks to the installer screens AND the settings dialogs.
Changes in v2.48
----------------
Win32 specific changes
o Rebuilding the Outbox index no longer results in a "ghost" line.
o Changes to "instance exists" checks. Secondary instance remote
control is now working (the command line functions of mr2iu.exe
should now be available via mrw.exe)
o Installation program now (optionally) registers MR/2 ICE as the
default email client. Installation program improvements.
o FRM*.DLL is no longer needed and have been removed from the
distribution package. You can delete it from existing
installs. FORMS were melded into the BSE DLL.
o Now recognizes most common mailto: parameters like subject, cc and
bcc.
o Fully qualified paths in the attachment path configuration should
now work better. I'm rewriting some of this next, anyway.
o HELP->Ask the Experts now starts an email instead of loading
web page. In fact, home page has been changed to do the same
thing for experts list and managing mailing list subscriptions.
o Corner icons are now set to me MR/2-specific.
o FONTS should be working in message windows AND message indexes.
If you click to alternate/mono font in the viewer, you can then
select a persistent (monospaced) font. Switching back and forth
should all work. Index item height is adjusted to match the
selected font.
o Settings dialogs now have SAVE/CANCEL buttons. They don't yet
do anything, but they're there.
o Code rearranged a tad to facilitate experimenting with OwlNext
GUI library. Not quite yet usable.
Changes in v2.47
----------------
o MIME associations - viewer specification can now make use of
the new macros: @Browser, @Editor, @Ftp instead of hardcoding
executable names. These values are replaced at viewer invocation
time with the appropriate values from the configuration setup.
o Replying to news posts with long, malformed reference headers
would crash while formatting the reply shell. Fixed.
o Pop3 user name allows for longer names; up to 90 characters.
This, to enable long "spam agent" specifications.
o Windows: Dialog cleanups in settings. Reworked some menus.
o Windows: CHM help file shell started.
o Windows: Now distributed via an install package.
o HTML stripper now translates literals to Latin-1 characters.
HTML Viewer uses TEMP path for html file to display.
Changes in v2.46
----------------
o Win32: Fonts selectable in message, folder and news index forms.
Still needs a tweak or two on first selection, but it's very close.
o Win32: Improved Font selection in message viewer/editor. Also
close but still needs a minor tweak (cannot UNSET bold or italics
once set!)
o Win32: Message viewer has new Tools menu option: View in Browser.
This will load the current HTML message text into the configured
browser. If the message itself if text/html, the message gets
loaded. If a multipart MIME and the first part is HTML, that gets
loaded.
o Win32: Message viewer has new Tools menu option: Strip HTML.
Not perfect, but will be soon. Only for messages that are
displaying raw HTML ... but this strips all HTML tags and does
some very minor translations to render a "pure-text" rendition.
Changes in v2.45
----------------
o Fixed another case where using $@ (address book matching) failed
to recognize embedded address matches in complex TO lines.
o Win32: Removed the RTFViewer code from the build.
o Win32: You may now change the font on the viewer/editor window via
Options->Font. Setting is saved to mr2win.ini as ViewerTextFormat,
so deleting this section will return you to the default. You can
also simple select the "System" font.
Changes in v2.44
----------------
o Fix for UTF-8 Decoding when characters > 0x80 are included as "text".
This doesn't seem to follow the rules as I read them, but without
this fix, crashes would occur. In fact, I include these characters
now verbatim; no translation. This, because the characters that I
encountered when chasing this crash were meant to be "as is" and
translating them failed. Will revisit if/when browser-mailers
get it right :).
o Various releases to this point added direct support for Win32
printing and changes to draft printing under Windows.
Changes in v2.41
----------------
o UTF-7 and UTF-8 Decoding in header literals. I'll add encoding
for outgoing UTF-* next.
o Filtering on "address book match" using $@ tweaked again. Better
token-specific matching.
o Filter disposition form text fixed in OS/2 version.
Changes in v2.40
----------------
o The filter macro "$@" that means "in address book" was rewritten
to be less loose.
o Filter settings for "check no more filters" has been broken into
a separate checkbox. You can now stop filter processing on ANY
filter match, whether keeping it in the inbox or not.
o Some changes to the way message text is parsed internally. These
are low-level enough to be considered "beta", but everything
still works here.
o The above was done while adding support for the display of
UTF-7 and UTF-8 (on SBCS codepages only). More to come.
o /SB may be passed as a parameter to MR/2. This equates to
"Suppress Beeps". Beeps on new mail are not generated, although
newmail.cmd will still be invoked if found to exist.
o Semaphore has been placed in a window class to try and catch
an obscure crash. It remains elusive.
o Suppressed some logging that seemed less useful. Can be restored
with /L2, but less logging results for /L and /L1.
Changes in v2.37
----------------
o More rework of the settings saving logic - accounts
were getting empty "ghost" cfw files under OS/2 when
run in native OS/2 mode and accounts were switched
Changes in v2.36
----------------
o There was an ugly bug with creating new use profiles ("accounts")
under OS/2. You'd often get an empty .CFG file and the settings
were actually stored in a CFW file (multiplatform). This caused
double entries in the LOGIN-> menu. Fixed.
o Some minor issues with SMTP Authentication when @ signs were part
of the login name. Fixed in an "a" release, but that never made
it beyond 1-2 people.
o NEW PO BOX recorded in register.doc and upreg.doc. I've switched
Real Jobs to opposite sides of the city, with my home right in the
middle. The old PO box is hard to get to. It will remain there
for awhile, but the new one is in all the docs in this release.
o Copyright dates updated.
Changes in v2.35
----------------
Sort of a beta, ONLY because it's been such a long time since I relinked,
AND I am now building on a rearranged home network machine. Code is
also now under version control system.
o SMTP Authentication data now is in both platform GUI's (see Options->
Settings form).
o Internal email addresses and URL's now reference new mr2ice.com
domain. In addition, I've updated the www.mr2ice.com web site
and even the old, antiquated web-based help now works :)
o Fixed occassional bug when sending BCC's (BCC copy sometimes
truncated).
o Experimental $< token avaiable for filters to catch DBCS messages.
Sort of works - documented here to make sure I finish it up.
o Some more semaphores used in Win32 version to try and stop
some occassional crashing.
o Various small bug fixes and tweaks. Some left-over debug logging
still in until bugs are found.
Changes in v2.31
----------------
BETA - I had to rearrange code in a couple of DLLs due to a silly
technicality (OS/2 only - Win32 is One Big EXE)
o SMTP Authentication test case.
I have a system I think is working. If handles AUTH LOGIN, and
seems to work correctly with work's server. However, my server
doesn't fail if AUTH fails, as it's not required!
NOW, to test this, I made no GUI changes. There probably SHOULD be
new settings fields for SMTP user and SMTP password. But I didn't
want to change forms until I knew this worked. So ...
Instead of making the Options->Settings: SMTP host look like this:
smtp1.mail.com
It now (can, optionally) look like this:
fred:fredspass@smtp1.mail.com
Where "fred" is the user is and "fredspass" is the password. If you
specify a syntax like this, MR/2 uses EXTENDED smtp protocol. I f
you don't have an "@" sign in the SMTP host, it works the same-old
way it has for years.
Changes in v2.30c (win)
-----------------------
Minor focus and crash issues fixed to this point. Things seem
to be quite stable!
o Win version only - focus issues caused disappearing notebook form
and crash sometimes after message close.
o WIN: Purge news on exit now functions. Not only that, but it
works when switching accounts (needed in OS/2 version). ALSO,
News group page has a RMB option to manually purge news data.
Changes in v2.30
----------------
This will be a quiet non-beta release. As I confirm its stability,
I'll publicize its existence.
o NEW low-level "core" DLL's. This fixes a bug that caused delays
when switching accounts and when running some external functions
from within the editor (like, editing externally or manually invoked
REXX functions). These delays increased over time. Things should
be snappier now.
o A couple of new environment variables are set for rexx exits.
MR2I.NORMALIZED-FROM and MR2I.NORMALIZED-TO are now set to
bare, stripped-down email address matching from and to,
respectively. If multiple TO's exist, only the first appears
in the variable.
o Some focus issues addressed when using +/- and some accelerators.
Please report any other annoyances!
o NEWSUTIL.ORG was improved to be multiplatform AND the interface
that used to work with dejanews.com (and ceased working long ago)
has been replaced with an interface to google.com. As defaulted,
CTRL-F7 will show a google thread tree for the current message,
starting with the FIRST message. CTRL-F10 will do the same but
start at the CURRENT message. CTRL-F8 will show an author
profile for the poster. The script now makes use of the new
"Normalized From" environment variable for author profiles.
o MSGUTIL.ORG was improved mildly to be multiplatorm. It detects
whether it is running under Windows or OS/2.
Changes in v2.29l
-----------------
o Win32 Fixes ONLY. There was one other issue that corrupted the
program's heap on account change. If the subsequent login name
was longer than the starting name, heap was corrupted! Fixed.
o New command line mode meant for advanced debugging. "/~" will
not activate a periodic heap check. This is attached to the
"update update titlebar time" routine, which also triggers
during mail polls and account switches (and other major events).
If this command-line flag is used, heap is check every time
the titlebar is updated. If found to be corrupt, a note is
make in the log file, and two "beeps" are sounded.
o Mark as Permanent now actually does something. Before, in Win32
versions, you (sometimes) could mark messages as permantent,
but they could still be deleted! Also, the INBOX RMB menu
has been corrected to add the two relevant "mark as" options.
Changes in v2.29k
-----------------
o Quickie bug fixes for issues added in previous version. Bad
Programming practices led to a sloppy string match routine used
by filters. This fix actually improved performance a very minor
tad (but in background threads anyway)
o Modified the BuildIndexEntry routine to better parse messages with
no FROM or TO data. Also, improved the header date parser mildly.
Changes in v2.29j
-----------------
o I spent a considerable amount of time trying to find the lockup
(temporary, but annoying) that occurs sometimes when switching
accounts. The issue may persist, as I never found "it" directly.
However, I did discover some things that may have contributed.
These fixes are, by themselves, Big Ones, as they were probably
corrupting the internal heap over time.
Things like using new/delete (C++ operators) to acquire/free
memory, and when used for "self expanding" blocks, realloc()
was used to expand the memory (wrong ... but appears to work,
usually?) Mixing of calls to malloc with C++ "delete" and C++
"new" with calls to free().
In one low level, used by ALL tcp/ip routines, code allowed for
writing past allocated memory by 2 bytes. Bad!
Some will remember the TWO BEEPS on occassion when switching
accounts? I scoured my own code and couldn't find where I was
making these sounds. But then I found it. The lower-level
ObjectPM library had code in the bThread destructor (code that
executed when a thread was being closed and deleted) that
did a heap check and beeped if it was corrupt. Changing accounts
requires the deletion of two threads - and there's what led me
to the coding issues fixed. Will look for others.
Oh, finally, this same code was in the Win32 version and could
have also destabilized that over time. However, it appears the
Win32 libraries handle this better ... perhaps they have to :)
o Text Search would not correctly search for criteria starting
with a digit.
o Added a new cryptic freeform filter command - "$@". When used
like so:
{F}$@
says "if the FROM email address or real name appears in my address
book". This is good for copying/moving messages from known senders
into an "important" folder, for example. When used like so:
!{F}$@
Can be used to filter email from UNKNOWN senders to some folder.
Also accomodate individual addresses in the GROUP address
book, as long as they are internal to MR/2 (it won't look in "*.lst"
type external files). Some smarts are put into the comparisons to
differentiate a "real name" and "email" part to the source field.
In addition, a new header-field modifier has been added. Previously
{FTS} would say "check From, To and Subject, in that order". CC data
was not available in this fashion, but is NOW with the "C" specifier
("{TC}nick@secant.com" will check for my personal email address in
the TO field or the CC field.
Changes in v2.29g
-----------------
Beta Status continues - we're getting close to a v2.30 tho
o UIDL mode for ATT customers was malfunctioning since ATT
updated their mail software. Extra spaces between returned
data was confusing MR/2 - fixed.
o New filter disposition option - Remove from POP3 server.
o Other very minor fixes.
Changes in v2.29e
-----------------
Beta Status continues. Quick fixes - enhancements
o Window focus issues addressed under OS/2
o A "normalized" email address, usually unseen by the user, now is
trimmed of leading whitespace. This became an issue with a news
user, as the email address is used to build news message-id's, and
(illegal) spaces were embedded in certain cases.
o EXPERIMENTAL, but it works on my system (after I did lose copies of
a couple of messages :). FILTERS now have a new dispostion checkbox.
"Purge from POP3 server NOW". Has no effect if not saving messages on
the pop3 server, however, it does purge after downloading the header
and/or complete message (depending on the type of filter).
NOT ONLY does it issue a DEL command to the pop3 server at the time
of downloading, but it records the UID with a very OLD date as a
backup. This way, if communications with the POP3 server fails before
"close" and the deletes are rolled back, the forced-purge messages
will be removed on the next poll (assuming "Remove from server after
X days" is selected ... if would be ok to set this to something
like 180 days or higher for these messages without effecting
anything else.
Since removing the message from the pop3 server is a fairly final
action, users should use this option with care.
o FILTER FORMAT CHANGE - minor, because of the above new option,
documented for those who need this info for utilities. A
flag was appended to the end of the last "FLAG" string. The
15th position in this flag string is a Y/N marker indicating
whether matching messages should be immediately purged from the
pop3 server ("Y") or left alone ("N", the default).
o FILTER logging - when running with a logging level of 2 or above
("/L2" on the command line), FILTER MATCHES are written to the log
file. This may help with advanced filter debugging. Look for the
word "MATCH" (all caps) ... the TAG of each filter matched is
included.
Changes in v2.29d
-----------------
Beta Status continues. Quick fixes.
o Folder Sort now sticks. More accurately, it's now read properly
from the INI file (OS/2-only issue)
o MOVE UP and MOVE DOWN in the filter list is now skips over
hidden entries correctly.
o Low level TCP "read block" routine checks more specifically for
the correct sequence of characters. Previously, high-end ASCII
at the end of a tcp/ip recv() block could confuse MR/2 into
a false "all data received".
o URL building done by the message RMB menu now does a much better
job of cleaning up and presenting a usable URL. Marked sections may
span lines and embedded spaces, tabs, CR's and LF's are stripped.
(URL Editor, FTP and Browser functions work better)
Changes in v2.29(c)
-------------------
Beta Status continues.
o Template selection logic added in v2.28 is now usable for NEW
messages, too. When tabbing out of the NEWSGROUP(S) line, or the TO
line in the case of an email, and the template was not automatically
selected via the reply botton, an auto-select is performed. It
follows the same algorithm as defined below in v2.28.
o Address form has a Template Tag field and ordering has been fixed.
Template tags are used by the auto-template selection logic added
in v2.28 and improved here.
o Filter List form has been expanded to show more info.
o Lockup on exit (during or after "Emptying trash folder..."). This
was a toughy, and I'm still not exactly sure what was going on.
However, in a sense, I "cheated" and it seems to be working fine.
Immediately after checking for the need to empty trash, MR/2 would
call Close() on its parent Frame Window object, which has always
been successful at closing the application (and is the correct way
to do this). Lately this has been locking up, and suddenly, for me,
it would ALWAYS lock up. So, I experimented.
I now call the runtime exit(0) in place of this. It appears to
work just fine, and no more lockups occur. However, we'll watch
for awhile before we call it a complete success. And, ITMT, I'll
still search for the Real Answer.
o NEWS group list fetches. Well, we found ONE news server, at least,
who did not make a distinction between upper and lower case group
names. Basically, I was fetching "non-alpha" group names as a unit,
and including upper-case A->Z in this list. Usually, lower case
groups were NOT returned, and in case some upper case group names did
exist, they would be collected in this group. Well, someone's news
server returned ALL lower case groupnames when passed upper case
letters-to-match. Hence, an attempt to collect the entire list was
make, which failed badly.
At this time, I've removed the attempt to get upper case letters.
I will probably add a settings flag for this, or perhaps even let
the user override the string I use. I do thing it's a very minor
issue, but I'd like to "fix it right".
o Filter list now has an RMB popup/context menu. Entries included
for New/Edit/Delete in addition to new CLONE logic (make a copy
of selected filter and open it for editing). Also, "To Top" and
"To Bottom" to aid in ordering filters.
o Many smaller but obnoxious bug fixes included.
Changes in v2.28
----------------
Beta Status continues.
o POP3 servers that didn't return a SIZE value with their
first acknowledement line to a TOP command were unusable with
MR/2 for BY-SIZE filters. AND, manual mode would fail to
record correct message sizes. I was refamiliarized with the
POP3 RFC (thanks, Bruce!) and implemented use of the LIST command
when this happens. Prefetching by size and manual mode should
be more dependable.
o NEW FEATURE - very handy for POP3 manual mode users AND those
prefetch filtering by size. ADVANCED SETTINGS now has a configurable
value for how many lines to fetch when getting a message's header.
The old MR/2 default was/is ZERO, which means that only header
would be returned.
The user may change this value to something a little more
substantial. The performance impact of fetching, say 100 lines,
as opposed to only the 10-15 that consitutes the header is minimal.
The differences are:
If the entire message is fetched in the specified number
of lines, it is registered as a complete message instead
of just a prefetched header.
If the entire message ISN'T fetched, the user has a top
portion of the actual body which can help determine
(by visual inspection) if the rest of the message is
desirable. For example, in tests, the actual name
and sender-text preface to an attachment was visible.
Unfortunately, due to the very nature of the implementation,
only info on the FIRST detachment is probable.
NOTE that values for this field should NOT be set too low, with
the exception of ZERO (operate in the old header-only fetch mode).
While no range checking is done at this time, a value of 1 or 2,
or any lower than 15 would certainly cause problems. Intent is
to allow values of 50, 100 or higher. The author has achieved
great results with this set to 120.
o FOLDER entries now may be defined with an optional GROUP tag.
This text value is used in a new enhancement that will help
auto-select reply templates.
What has been added is:
- New field on the FOLDER EDIT form called Group.
- Displays in the folder list as the last column
- Template default selection tries to match the first word
in the template name AS A WILDCARD against the group name.
- First template that matches becomes auto-selected when
replying.
- You MAY define a custom FORWARD template for any group.
- Newsgroup names are used as the "group" for news replies.
So. I edited the folder data for my two coin mailing lists and
assigned them to group COINS. I have another mailing list I gave
the group name BHNC. When I reply to a message in one of the two
COINS folders, the logic says:
- Look for a template name whose first word
wildcard-matches "COINS".
- If not found, use the default (first) template.
I created two new templates named "COINS Reply" and "BHNC Reply".
Each is selected when it should be, and all other folders still
select the default reply template, as they should.
I also created a template "comp.os.os2.* Reply". Whenever I reply
to anything in the corresponding news heirarchy, this template gets
selected. Any other newsgroup, the default "News Reply" template is
selected.
NOTE that some new issues with templates (and phrases and mime types,
oh my!) have come to light. More changes coming!
Changes in v2.27
----------------
o BETA - minor stuff, but a low level tcp/ip SEND function reworked
to better handle large posts to newsgroups (or any other large
send of block data).
o Minor cosmetic GUI fixes.
Changes in v2.25
----------------
A "stability" release before I start changing some internal data
structures and working on threading some other functions.
o More bug fixes, some specifically for the Win32 platform, but many
dealing with "core" issues.
o In preparation for a proposed new filter type, there is now a way
to queue "new mail" for addition into any account's inbox. Simply,
before each poll for new mail, a subdircetory is checked for message
files to include as part of the "new mail" process. Using the default
MAIL account as an example, placing a message file with a .RCV suffix
in the xfer subdirectory of mail (i.e., "mail\xfer\new00001.rcv")
will result in this file being included with the results of the next
mail poll. If no mail is found via the normal poll route but a
single file still exists in the XFER subdirectory, MR/2 will report
ONE new message. NOTE THAT the xfer files imported are also deleted.
Changes in v2.21
----------------
o Quite a few minor bug fixes, but nothing I can list specifically.
They've been fixed as found. However, there the newsreader
has been fixed to now work correctly with a particular NOTES-based
newsserver that seems to be growing in popularity.
- I've also started archiving map files to aid in further debugging
of harder-to-find bugs.
Changes in v2.2
---------------
Since the news engine has proven to be, in my opinion and others',
much more stable than the CTREE version, I'm calling this a release.
o When trying to detach a text part with a file name, a lockup
often occured. Fixed.
o Switching accounts when the newsserver was being used caused a
double-delete of some program memory. This crashed instantly in
the Windows version, but didn't in OS/2. My guess is that a
crash would occur at some random time, later, under OS/2. Fixed.
o Since the "/" character was used to delimit a newsreader username
from a password, any use of the "/" character in either would
not work properly. This version stores settings using "\" as
the delimitter. Old settings are converted transparently. Users
suffering from this problem (one known :) will have to use
Options->News Settings to check their username and password.
o Several smaller bug and cosmetic fixes; too small to remember.
Changes in v2.19zj/k (Beta)
---------------------------
Mostly MIME and attachment handling improvements.
o Minor bug fixes like RMB->Printer setup now works. KEYS.TXT
updated to include some missing and previously misdescribed keys.
o New MIME option (Options->Settings->MIME) that control whether
TEXT attachments with file names are displayed as text OR detachable
parts.
o Display bugs when base64 text parts were displated fixed.
o Messages sent to a list of address, with one inadvertently left
blank (e.g., "one@two.com,,three@four.com") often resulted in the
BLANK sending to a random, unintended address. Fixed.
o MIME behaviour improved for attachments declared in the MAIN header.
o On INBOX page, empty dot icons that represent headers-only (from
using manual mode OR creating pre-fetch filters) are clickable.
You can click on the dots and they function similarly to news
pages. The dot will turn red and the body for that header is
queued for fetching.
Changes in v2.19zh/i (Beta)
---------------------------
o News: extremely long message id's are truncated (max MR/2 size
is 120 chars). Should no longer crash.
o /Q: fixed.
o Display of base64 text attachments had some "ghost" text from its
header displayed. Fixed.
o Other very minor fixes.
Changes in v2.19zg (Beta)
------------------------
Many smaller bug fixes and enhancements, not sure if I'll remember
them all:
o News database minor fixes. Better LRU algorithm for the node
cache. Data files sometimes marked "clean" before completely
flushed - corruption later could cause crash.
o Buttons, while paging through messages now change to match
context of current message, and work correctly (Send, Resend,
Reply).
o Follow up field in news Edit Header no longer appends the
default domain if set (should be NEWSGROUPS in here).
o Watch/Kill on author normalized the email address so that
double quotes don't interfere.
o BETA - needs cosmetic work. Replying to a news post with a
FollowUp-To header now identifies this fact and gives you the
(easy) option to agree, or follow the original path. Form is
ugly, particularly with large group lists, but it works!
Followup to POSTER preserves the source newsgroup list but
unchecks newsgroups and checks only email-to.
o News fetch queue - when many articles are queue, the mechanism
for "demand fetching", that is, double clicking on a header,
did not dependable insert the desired article in the FRONT of
the queue. It would go to the end, and you'd have to wait.
Now works properly, althought there is an weird issue when
background fetches are filtered. Still, much better.
Changes in v2.19zf (Beta)
------------------------
o Two LARGE indexing bugs resolved. One created duplicate keys
every time a news header's status changed. This caused confusion
later, as many keys could point to the same header, and when a
header was removed, only one key was deleted. Keys could point
to data that was not there. The second one was a basic bug
in the key searching logic (this existed even in the code I
acquired originally). Appears to be fixed after testing
by creating 230,000 random keys, logging each, reading each
back by key, then deleting them one at a time. No errors,
and the final index was empty.
Changes in v2.19ze (Beta)
------------------------
There is a ton of newsreader work in here. No real changes to
the database ... while we still have at least one sporadic
crash (at least here), I haven't pinpointed it yet. And,
I've determined that there's still a data leak somewhere.
Also, as discussed below, there is still some work to be done
on failed article body fetches ... what to do with what does
get fetches, and how to retry later and/or indicate a problem.
o The empty text attachment that appeared at the end of
outgoing MR/2 messages has been trimmed off (again!).
It was a harmless cosmetic issues, but some other mailers
considered these real attachments and stockpiled them.
Fixed once before but somehow lost. It's back.
o Aggressive rewrite of the newsreader threads. Mostly to
better handle errors, and to be more persistent when chasing
a response from the newsserver (programmed retries added).
o Bad pointer bug when the newsserver disconnected unexpectedly.
Fixed. This happened only on large data fetches (where the
receive buffer was expanded), but could have all sorts of odd
effects, perhaps displaying problems MUCH later on.
o Master group list fetches reworked further. MR/2 still askes
for the grouplist somewhat-alphabetically. And it will retry
5 times on each section. However, now, if a section fails
after 5 times, THAT SECTION is used as a base prefix and then
that prefix is requested in somewhat-alphabetical chunks. This
routine is recursive and will try very hard to acquire the
entire group list. For example, MR/2 will ask the news server
for all groups [non-alpha]*, then a*, then b*, etc.,. Now, if
c* happens to fail 5 times, MR/2 will break the c's down into
groups like c[non-alpha]*, then ca*, then cb*, etc. My personal
newsserver has a problem with a clump of AOL* groups. MR/2
eventually collects these by asking for aol.a*, aol.b*.
It's thorough and persistent, and I think it will retrieve all
but the most troublesome newsserver lists.
o Getting the new newsgroup list now retries up to 5 times before
giving up. I found no way to divide this list, so this is the
best we can do for now. It works well on my personal system.
o Fetch Headers now has the retries inline. IOW, it will retry
inside the current group until all headers are fetched. The
previous method of getting ALL NEW NEWS when any one group
failed was confusing and inefficient.
o News status window messages changed and cleaned up. I've got
some other ideas ... coming up!
o Fetching an article body now detects and incomplete article
and retries up to 5 times. However, on the fifth time, the
article is stored as is (and this needs some thought and work).
Previously, whatever was fetched on the one attempt was stored
with no indication of error.
o If you tried to RMB->Detach on an expired article, a crash would
result. Fixed.
o There was some oddness when enabling "fast fetches". This tells
MR/2 it can ask the newsserver for an article by MESSAGE-ID
directly instead of going into the specific newsgroup and asking
for it via the newsserver-specific article number. It appears,
at least on my server, that the by-messageid mode can reliably
FAIL, while the newsgroup+artno method will tend to work better.
And, the code that tried "the hard way" in the old code was
often prone to failure because of a socket disconnect by the
first attempt (no error checking). NOW, if the fast-fetch
fails, MR/2 will revert to the group+artno method, accomodating
closed conenctions (up to 5 retries).
Changes in v2.19zd (Beta)
------------------------
o NEWS: Master Group list is now acquired in smaller chunks (28 pieces,
pseudo-alphabetically). Up to 10 retries per chunk, however, you'll
end up with whatever succeeded. If it fails, a note is passed to
the news status window (begs for a popup warning ... coming up!).
o News Collector now behaves properly for retries. If a request
for headers fails, it will retry until it gets them all. If
another error occurs, it is noted and retrying is stopped.
Changes in v2.19zc (Beta)
------------------------
o Caching reworked for news database indexing.
o Text Search through news now ignores unfetched articles and only
searches articles that have been fetched. In addition, articles
are not marked as read by the search itself.
o References headers chopped at a maximum of 21.
Changes in v2.19za (Beta)
------------------------
o I was provided an example of a message where the MIME part was
MULTIPART/MIXED but was still marked as quoted-printable. This
was doing strange things, and while I question the legality of
the headers, other mailers displayed it ok. Handled.
o More use of semaphores in higher level code. Everything
obvious, plus some, has been massaged to be thread-safe.
o Overview record status mechanism wasn't working on updates.
One symptom of this was that cross-posted message weren't
always handled correctly in "other" groups. For instance,
deleting a cross-posted message, with the option
"DELETE ALL REFERENCE" turned on would fail. Fixed.
o Wow. Can you say bug? In researching the problems caused
by my flakey newsserver, I came across some Very Bad code.
I would often see errors reported by MR/2 because my ISP
closed the socket connection while getting headers. As
it turns out, in many cases, MR/2 would assume success and
bump the last read counter. IOW, headers might be skipped.
I noticed this because, after posting a couple of articles
from work, I went home and looked for responses. Not only
were there no responses, but my original posts were missing!
After staring at the logs, I saw cases where MR/2 had asked
for 100 headers and the server returned 20, then closed the
connection. MR/2 simply assumed that it was done. Ooops.
Now, the header block is actually EXAMINED, and the last
article number read is taken directly from this block.
My ISP's newsserver was particularly bad last evening, and
provided the perfect opportunity for testing. When I was done,
MR/2 was fetching ALL headers, nomatter how many errors were
encountered.
o In addition to the above, the retry loop is now much more
sensitive. If the above scenario occurs (the socket is closed
before all headers have been fetched), MR/2 stops the current
loop and goes into "retry mode". This never really happened
before, but it does now! It will loop until all pending
headers have been fetched.
There is a news setting for the delay between retries. And
this works well, however, the default is 1 (second) and this
results in a pretty aggressive loop. It may be desirous to
change this to a more significant count of seconds to pause.
o Theoretically, the above error corrections should ALSO handle
the misleading "Bad group!!!" message that occured upon a
broken connection. It may occur once (shown in the news
status window) but this should cause a "retry".
o Retries are not as smart as they could be. Instead of
starting at the point where the connection was dropped, it
starts just like a fresh poll-for-headers would, at the very
first newsgroup. However, it seems to do the trick!
Changes in v2.19z (Beta)
------------------------
o More fixes and tweaks to the new indexing scheme.
o Purge on exit was totally messed up after the indexing
changes. Caused all sorts of odd things. Fixed.
o New Groups mechanism hasn't worked reliably for some time. It
did after Y2K, but certain servers must have changed their rules
for parsing the date. Fixed. Should "catch up" with new groups
the first time you run this version.
o New indexing scheme now makes use of semaphores to make sure
threaded use doesn't cause conflicts.
o More semaphore control between higher level code (used the
existing mechanism, just added control where is was lacking).
o REINDEX utility changed so that it will rename a source message
from a name that isn't 8.3 to one that is. This was found to
be a problem while working with the old PM Mail converter. It
converted things just fine, but the resulting files/index didn't
match. This utility is used by the script and it appears to
fix the problem.
o Display of address book entries with LONG lists of addresses in
the ADDRESS part (over 2200 bytes) would crash. This, in the pick
address and address list maintenance forms. Fixed.
o Logging reduced some, controled in other ways. I've reduced the
amount of logging in general. Some of the bulkier displays have
been moved to require higher logging levels to get them to output.
The /L command will now produce smaller log files, while /L2 gets
a bit more detailed and /L3 almost as detailed as before.
Changes in v2.19 (Beta)
-----------------------
I've been ripping though code in what I'll call "internal releases".
This release will eventually be called v2.2, simply because of the
massive rewrite of the news database engine. It's been completely
reworked.
o News.DLL contains a completely new indexing scheme. Old IDX
files are not references by this DLL (you can delete *.idx).
This one creates 3 files:
OvrArtNo.idx
OvrMsgId.idx
ArtArtNo.idx
With the two artno indices have a "split" function. They
index the DAT files by article number (MR/2 generated) but also
maintain "free" reusable space within the corresponding DAT
files. In addition, OvrArtNo.Idx also maintains a "quick
reference" header status value with the key.
Reuse of previously-deleted space is now fully functional.
Previous versions (only the most recent) did manage to reuse
deleted HEADER (OVERVIEW) records, but the code to reuse deleted
ARTICLE space was never activated. Both reuse mechanisms have
been reworked and I've tested them and they seem to work ok.
Also, a few modifications to the polling mechanisms (for
example, disabled newsgroups are listed after a fresh startup,
as are empty groups).
o News Engine startup changes - corruption detection. I've still
got a few ideas to improve this, but it's already been improved
a great deal. Basically, the new indexing scheme is heavily
cached. This means that if MR/2 is exitted without these files
being properly closed, they will be inconsistent. MR/2 detects
this and will rebuild them on next start (as it always has),
however ...
If the IDX files are found to be MISSING, then the DAT files are
first packed, and then the IDX files rebuilt. However, if the
IDX files are there but found to be "suspicious" (not closed
properly), they will be regenerated from the DAT files, but the
DAT files will not be repacked. I will add some internal
consistency checking and will be able to mark an IDX as
suspicious, and perhaps even rebuild it in real-time.
IDX files are still completely rebuildable from the DAT files.
They can be deleted at any time and the system will recreate
them.
o INDEXING improvements - phase II. The initial test release of
the new indexing scheme seemed to work well. However, it was
lacking a few "features" that have now been added.
-original version expanded files as need and only as needed (in
relative small chunks). With three files active, this promoted
fragmentation of files. The current version extends the ARTNO
index files in about 48k chunks, while the MSGID index uses 196k
chunks. This may be refined over time.
-original version left unused space between index nodes. This
has been removed.
o mr2idb.dll is no longer needed. A small text file, included in
this release, should overwrite it and save some disk space.
o "Remove attachments" has been reworked to "Delete attachments"
to show more seriousness in the action. Some users found an
unintended meaning in the original text.
Changes in v2.1
---------------
This is the stability release of all previous beta code. In
actuality, none of the changes were unstable, but the evolution
per release might have been an issue for some.
o Nested MIME changed slightly from last release. When processing
a message/rfc822 type, MR/2 encodes the HEADER of the sub-mesage
as a message/header part. This allows the user to control
whether or not it appears as text in the message. The additions
to MIME Associations I will suggest starts with these showing.
o Suggested MIME Associations. In light of the new way of
handling nested MIME messages, there are two associations that
would be handy to add. These new types define Message/Header
and Message/Disposition-status as displayable text. Not
required, but this mimics best the old behaviour, and the
display behaviour of other popular mail readers.
Running the included script "addmime.cmd" will add these
values to your mr2i.mim file. You need to be OUT of MR/2 when
you run this script.
o Added support for Windows-specific character sets on incoming
mail/news: Windows-1250 through 1257. Some MS products seemed
to be making their own rules (using non-standard charsets, or,
since it *is* "Microsoft", forcing a news psuedo-standard).
These character sets may be selected as "default incoming"
on the MIME settings page.
o Several semaphore contentions, once that might cause the program
to "lock up" for 30 seconds under obscure circumstances, were
fixed (Windows version suffered from these more severally :).
o NEWS USER PLEASE NOTE. The sections below describe some
substantial changes to the INTERNAL news mechanism. The current
code is much more stable (but still far from perfect), but does
require that you restart with a CLEAN news database. I had
made this only a SUGGESTION before, however, users had enough
trouble that it appears to be a requirement.
You don't have to lose your settings for news, simply, the
news database needs to be restarted. Please, SAVE ALL NEWS
articles you might want to keep to folders, then, as soon as
you can, run the included small script file:
rsetnews.cmd
This scripts deletes all DAT, IDX and NDX files (default,
single-user account MAIL only!) . Oh, that does mean that you
will lose any group-specific sort settings. Sorry, this is
required. NOTE that this script goes a step farther than
using MR/2's internal settings to reset the database. With
this script, the GROUPS.DAT file is erased, which is important.
The NEWS engine will pick up fetching new news right where you
left off, however, any old news/headers will be deleted first.
If you have already adjusted your news during participating with
previous releases, this step need not be taken. This is for
users moving up from v2.05 specifically.
ALSO NOTE that the need for resetting the database may occur
again, in the not too distant future. I still have some
stability issues, and fixing these often involves changing
data structures and invalidate older data.
Changes included in v2.09c
--------------------------
o Support for INCOMING Windows-1252 character sets. Will decode
body and properly formatted MIME header sequences. I won't
support this as an OUTGOING character set unless absolutely
forced. I see no need for it on outgoing email.
o New checkbox on MIME settings: Expand nested MIME parts.
This is now working how I want it to, with some room for
discussion. I'm not sure whether or not I like my new
"text/messageheader" part. I'll discuss this more online
before I finalize the thinking.
Turn this on (I do it for you to start off :), and nested
MIME messages are processed so that all parts are moved to
the highest level parent message. (Thought! I need to find
some of the old appledoubles and try those).
The "old" display method can be chosen permanently by unchecking
the settings box. Alternatively, there is a session-persistent
override on the message's Option->Show MIME Parts menu that will
allow you to change the behaviour until you exit (or use the
same menu option to toggle it back).
Will see how it looks after some user feedback. This is also
in my Win32 version and should show itself next week.
Changes included in v2.09b
--------------------------
o New "Filter Wizard" allows easier creation of a filter based
on a marked message in the index. RMB->Filter->Create. Open
for suggestions on how to improve this ... but it's a good
start.
o News: Fixed a bug with multiple accounts where the new group
list logic resulted in some combining of group lists.
o Switching accounts with news threads active should behave now.
Previously, crashes were almost guarenteed (if a news thread
was active when switching).
o Reindexing of a folder (including trash) should be quicker.
o When news headers are deleted, they are also removed from the
fetch queue if present. Previously, the headers would result
in a erc=101 in the news status window. This error was accurate,
but harmless and still confusing.
o Phantom F0XX directories were sometimes being created off of the
root MR/2 install directory. These were always empty and can
be removed. They are no longer created.
o Messages that an inbound filter deletes without copying anywhere are
now moved to the trash. Previously, these messages would just
disappear, and using the trash is much safer.
Changes included in v2.09
-------------------------
o Mostly Newsreader-specific changes dealing with dependability and
reducing "data leakage". This, where news data would be stored in
the database files but invisible to the user, hence never being
seen (nor deletable). Continuous, "slow" DAT file growth resulted.
Dozens of other fixes, all with news, including reduction of
log messages unless /L2 is used.
The groups.idx file has been eliminated. The indexing of the
groups file is now performed internally, and completely
in memory.
Changes included in v2.08
-------------------------
o Fixed TEXT SEARCH for NEWS index lists. Previously Text Search
when in a news folder would do nothing productive.
o Switching TO compatibility mode was slightly broken in the last
release. Fixed.
o POP3 count was not being read correctly from the INI file in
compatibility mode and was often displayed as zero. You
were also prevented from manipulating it. Fixed.
Changes included in v2.07 BETA
------------------------------
o The "beta" change I made isn't very risky, but I wanted to label
this as such because it's in a low level spot. The BC++ for OS/2
runtime seemed to have a problem with opening files in APPEND
mode. Particularly under heavy multithreading. Hence, appending
UIDL's to the fetched record would sometimes actually overwrite
the FIRST and SECOND entry in the file. What would happen,
on subsequent fetches, was that the overwritten UIDL's would
look like unfetched messages, and they'd be fetched again. I
say slots 1&2 get overwritten about 10 times in a 220 message
fetch, and each subsequent fetch failed to get them all.
No data was lost, ever. The results was several DUPLICATE
messages, as things would get fetched twice (or more).
I added a SEEK_END after the UIDL open (leaving it "append")
and subsequent tests worked perfectly. Will review all
OPEN FOR APPEND operations, and perhaps even check the BC++
source code to explain this.
o Several minor bug fixes ... can't recall what but I did make
quite a few!
o GUI DLL update - text color for highlighted NEW entries. What
do you think? The only other color that really showed up well
was WHITE, but I felt it important to differentiate between
NEW and OLD entries, even when highlighted.
Changes included in v2.06
-------------------------
o Minor bug fixes. So minor I can't recall many. For example,
a small change to the DDE manager for passing URL's with embedded
commas. Also, removed the selective quoting threshold of 20
characters. Now, if ANYTHING is marked, that becomes the quoted
material.
Changes included in v2.05
-------------------------
o More minor bug fixes including fixes to default templates
where the century "19" was hardcoded.
o Save-and-don't send with forwarded messages from folders
would crash. Fixed.
o Since AUTO LAUNCH VIEWER now actually does something when
a MIME message part is defined this way, and since this was
causing many questions at the new unexepected behaviour...
The first time this version loads, all AUTO LAUNCH VIEWER
settings maintained via Options->Settings->MIME, MIME
Associations, have been turned OFF. If you expect viewers
to auto-launch, you'll have to go and turn them on where
appropriate.
- If you haven't been following the beta releases since v2.01,
please read the rest of the release history below for versions
since.
Changes included in v2.04 (beta)
--------------------------------
My plans are to release this as v2.05 quickly, so consider this
a short-term beta.
o Y2K display issue in newsreader index files. NEWS code was
writing an old-style index entry, and the "index fixer" installed
in v1.62 only fixed dates in the 1990's. Fixed in both places.
o Unfortunately, the purge-trash-by-age function didn't work
correctly across the new year boundary. Any messages deleted
last year were removed from trash on 1/1 this year. There are
reports of trash working correctly, but I'm not sure how it
could have. Fixed and tested, ready for next year! Sorry.
Hopefully this doesn't inconvenience anyone.
o Most work in this release was centered around the new settings
flag on the advanced form. A new "Multiplatform mode" is
selectable and will be ON for new installs ... OFF for all
existing installs.
Selecting this mode tells MR/2 you wish to store settings and
persistent data in a platform-independent manor. Instead of
reading/writing to mail.cfg, a new portable file will be
created named mail.cfw. This file will be maintainable by
both MR/2 for OS/2 and for Windows, and any future platform
supported.
In addition, file-specific save info previously stored in EA's
will be written out in a file-based manner. For example, what
was previously stored as an EA of the file mail\mr2i.ndx will
be written to and maintained in a file named mail\MR2IFile.EAS
in INI style, in a section called "[mr2i.ndx]". All psuedo-EA's
are housed in this single file in Multiplatform mode.
ALSO note that PM Window-specific data, like size, position,
colors, fonts, etc.,. will still be maintained in an OS/2 INI
file. Since window size and position and contexts are still
fairly platform/device dependent, these will not be shared
across platforms.
*When you change this flag on the Settings->Advanced page,
you will be prompted for confirmation, and then MR/2 will
convert all known EA's and the config file to the new
platform-independent formats.
*Changing the flag back to "unchecked" will also rewrite
all settings USING OS/2-specific API's. Note that the
systems will then query these settings EXCEPT for the
main configuration file. Main configuration data is ALWAYS
read FROM mail.cfw, if it exists. Hence, it must be deleted
in order for mail.cfg to be subsequently loaded. (Please keep
the mail.cfg file around for a awhile even if depending on
mail.cfw and multiplatform mode).
Changes included in v2.03 (beta)
--------------------------------
o Filtering outgoing messages to folders no longer effects the
"new" counter for that folder.
o Marking multiple entries via mouse ("swiping") on any message
index page used to constantly update the "number selected" count
on each page. This made swiping large blocks, and
swiping-while-scrolling, very slow. Changed so that the count
is updated only when mouse button 1 is let up.
o Auto Launch viewer in the MIME settings is now functional. If,
for example, you have "Auto Launch" checked for image/jpeg, and
ave defined a viewer, and open a message with a JPG attached,
the image should be displayed automatically.
NOTE that my original plan called for keeping track of all the
viewers loaded for each messages, and closing them WHEN the message
was closed. This may not be the desired behaviour. So, instead of
making it complex, it's extremely simple. Viewers are lauched and
forgotten, and the user gets to close them. If this gets
cumbersome, the option to turn off auto-launching is the ticket.
Works, but it double-loads on occassion. Certainly open for
comments.
o Viewers, when launched automatically OR on demand via RMB, are
now loaded in the foreground.
o Previous beta release extended the folder entries housed in
mail\folders.ndx. More fields are contained in each folder
line as they get modified and rewritten.
o FORWARDING a message now only includes original attachments ONCE.
Although, it includes the attachments at the bottom of the included
original. I think these should be moved to the END of the new
message, as if freshly attached. Comments welcome, I'll probably
change this.
Changes included in v2.02 (beta)
--------------------------------
o Sped up (massively) the copy of message to large, open folders.
o MIME header charset handling fixed. Worked great *unless* sending
or receiving a message with translatable characters in the header
*and* an attachment.
o News Index menu now has a Mark as->Refetchable option. Probably
not the best name for it. What this does is first, deletes the
article body if it exists, then marks the index entry as "header
only". This allows the body to be refetched. Particularly
useful when an article is marked as "has expired" and you want
to retry.
Changes included in v2.01
-------------------------
o Simple quick fix to remove expiration code. An oversight
in v2.0. Code previous to this will warn in February,
then simply cease to load in March of 2000.
Changes included in v2.0 (since v1.5) in Summary Form
-----------------------------------------------------
See the file PREHIST.TXT for a detailed log of changes made
through version 2.0 (this is the OLD "HISTORY.TXT" file).
o Many, many bug fixes and smaller enhancements.
o Speed improvements overall. Massively faster index loads.
Improvements center on file system and GUI operations. Huge
folders are now actually usable! Also, some code to reduce
the fragmenting of critical files, increasing performance
further. More to come ...
o Configurable columns. Not only can you adjust the column widths
displayed for each message index page, but you can rearrange
the order and even hide columns. More advanced options include
adding spacers between columns and controling the line drawn
to separate columns.
o Y2K compliance. MR/2's message indices now handle 4 digit years.
Older formatted index files are converted automatically.
o REGEX pattern matching can now be used in filters.
o Messages may be marked as PERMANENT and MR/2-sourced delete
commands will skip these messages. Of course, there's a way
to unmark messages, too!
o Mailto.exe revised. There are now two new send-to-lists modes.
Options to address each message INDIVIDUALLY to users, and another
to keep the generic "To:" line but individualize each message
with an "X-TO" header.
o Remove from server now has an "after X days" option. Only
available in UIDL mode.
o Multiple work-in-progress messages will now all recover after
a system failure.
o Automatic trash emptying option. Can purge trash a specified
number of days after being deleted.
o Fetch my UIDL mode added. In addition to working a little better
than the "last count" method, has the potential for futher
feature delevopment.
o Reading from PACKED FOLDERS should be quicker after the first
message is accessed. The zip directory is cached for the
last-accessed archive.
o Selected counts at the bottom of each message index.
o MIME handling improvements.
Changes included in version 1.5 (since v1.4)
--------------------------------------------
o Multiple selections now available when attaching a file. Click
on as many file names (from the same directory) as you wish
and attach them all with a single action
o URL Editor allows user "fixing" of URL's before accessing them.
o Options->Settings->Advanced now allows editing of ATTACHED
directory default. No checking for validity is performed (yet).
o "Detach to path" is now a menu item on both the message viewer's
MESSAGE menu and on the RMB menu for attachments. Resulting
form is much more simple than I originally intended. Perhaps more
to come later. Up to 8 previously selected paths are remembered
and the "default" button specifies and uses the default path.
BETA.
o Most pick lists are now font-drop sensitive and this information is
saved and restored. In addition, many pick lists now support
KEY jumping. Press "P" and the first entry starting with P is selected
and displayed. Press "PE" and anything starting with PE is selected.
Press SPACEBAR to clear the key-pick buffer.
o New reply-time variable: @RUN:command@. This lets you run an
external utility inline, as the reply file is being built.
For example, comsider the following lines in a template:
@Run:swapsig@
$File:rotsig.txt
When the @run@ command is "expanded", the command line is loaded to
run "swapsig", which should be a rexx command. In this example, I
have assumed that swapsig.cmd REWRITES the file rotsig.txt every
time it is invoked.
I tested this this morning by having my rexx script write the
date/time to a file, then dumping the contents of my environment
("set >filename") to the file. The next line inserted this file
into the reply.
YOU DO NOT HAVE ACCESS TO THE SOURCE MESSAGE at this time, but I
probably should fix this for consistency. You do have almost all of
the predefined environment variables set from source message. Items
like MR2I.FROM and MR2I.TO and MR2I.NEWSGROUPS are all set for
easier parsing.
Parameters can be passed after the command but before the closing @.
Open for expansion of this idea. Just a quicky, as it was about 20
minutes of code.
o Enhanced RMB menus for the inbox, outbox and folder indices. The new
SELECT sub menu has some functions inherited from News with some slight
tweaks. By request.
o All RMB Select menus now have an "Invert selections" option.
By request.
o A new MIME viewer specifier has been added. Placing a "#" (without
the "'s) as the viewer for a MIME associations will produce a
"can't view directly" message if anyone tries to RMB->View
attachments of this type. By request.
o Message OPTIONS menu now has a "Show MIME parts" sub menu that allows
you to collapse a MIME message to show only parts (text/plain is even
shown as a detachable part), show ALL parts as text (possible that
some intesting displays will result!) or to use the "default" mode
as defined by user-configurable MIME associations. By indirect
request.
This mode is persistent PER SESSION but is not saved to INI. I'm
still debating whether or not to reset this for each message. The
current setup will work while this is debated.
o The NAVIGATE menu has some additions. It is now possible to move
forwards and backwards to the "next" message with the same subject.
These functions have also been mapped to the normal keyboard keys
F for forward, B for backwards (active in the viewer only, the
editor considers these typing keys :).
o The functions Next and Previous Index Search Match (see the
Navigate menu) have been assigned single key accelerators. You
may use I to move forwards, J to move backwards.
o MR/2 now times-out more reliable. Default is 90 seconds.
o SMTP continuation line processing improved.
o A new command line parameter (perhaps temporary) can control the
tcp/ip READ timout. Since the last version made MR/2 very
sensitive to timeouts, users have reported that the default 90
seconds is sometimes (rarely) not enough. Use /Kseconds to
override this. For example:
MR2I /K120
Starts MR/2 with a 120 second (2 minute) timeout. /K0 will
turn timeout checking OFF and will cause MR/2 to work the "old"
way.
o {Z} Freeform filter specifier enhanced. Previously, this was only
good for testing the SIZE of the current message/article. You may now
add a header tag specifier. Example:
{Z:X-Spam-Factor}100
equates to TRUE if the current header has a tag "X-Spam-Filter", and
then if the data that immediately follows this tag can be evaluated
as a number greater than or equal to 100. By request.
o Ooops. Found another way that folder sort specifications could
be lost. Fixed. Trash folder sort is now saved correctly.
o Resending previously sent mail multiple times now works correctly.
o Issues with initial focus and pre-selected items in list being
in view have been addressed.
o Beep is generated when text search is done and nothing is found.
o Minor filtering inconsistencies fixed. Obscure bug, low impact.
o Mailto.exe now accepts an optional fourth parameter: return path:
mailto filename toaddress smtpserver returnpath
Where toaddress can be simply an "." which tells mailto to send
to the TO address in the message.
Same with the smtp serverparameter; if a "." is specified, the
default is used (from the environment variable SMTP_HOST).
o Memory leak fixed when linking to REXX. A rather significant (3-6k)
block of memory was allocated and never free'd each time REXX was
called as a filter test, filter action or CTRL-Fkey invocation.
Fixed.
o "Mailto:" tags are removed from email addresses when tabbing out of
fields.
o Using +/- keys and all derivations now prevent recursion. This was
causing a crash when paging through packed folders. The system will
beep at you when a key is ignored, signifying it is "busy".
o Formatted printing DATE in footer is now printed correctly.
o Threw in a new @VARIABLE@ for replies and other templates. Similar
to @Headerinfo:Tag@, you may now use @DomainInfo:Tag@. The header
information matching TAG is extracted, and then the DOMAIN for that
data is located and pulled out. If no tag exists, an empty string
results. If no "@" is in the raw header data, the entire string
results. So, using one of my messages as a source when replying,
the template variable @DomainInfo:From@ will result in "secant.com".
Changes included in version 1.2 (since v1.1)
--------------------------------------------
Please note that many of these features have been publicly available
for quite some time via "minor" maintenance release, they are listed
here for the benefit of those preferring to upgrade only for major
releases.
For a more detailed discussion of changes, see the file "history.txt"
in the distribution zip, and also available online via the MR/2 ICE
home page at http://nick.secant.com/mr2ice.htm.
o POP3 manual mode can be specified. In this mode, headers are
fetched from the POP3 server but no bodies. Index entries are
inserted with a new icon. The user can then pick and choose
which full messages are fetched and when, if at all.
This has been labeled "remote control" or "preview mode" in
other mailers.
A header-only entry in the index will show as a round "dot" icon.
You can open this header for inspection, if desired, but the more
common action would be to select one or more index "header only"
entries and "fetch" again. Marked entries will be retrieved in
full.
o PreFetch filters. Filters that control the automated fetching
of messages from the POP3 server. Criteria can be defined based
on a messages header. If the criteria is matched, the user can
specify to have MR/2 fetch the full message, just the header, or
to skip the message entirely.
There are two modes available. When used in normal "non manual"
mode, PreFetch filters can be used to specify message for which
only the HEADERS are desired. For example, messages from a
certain user or over a specified size can be fetched in
header-only mode, letting the user decide if/when to get the
entire message.
o User programmable Custom Mail Drivers. Third parties can now
create drivers that allow MR/2 ICE to read/send with non-POP/SMTP
mail systems. For example, a UUCP/UUPC driver set has already been
created and made available to the public.
o UUPC/UUCP interface via the custom driver interface mentioned
above. Available as a ftp'able add on, see the MR/2 ICE home
page for a direct ftp link (see MR/2 ICE's HELP menu).
o Fax-by-email support!! MR/2 ICE now supports the transport of faxes
and other FaxWork Pro and PMFax-related documents via email, with
the potential to save fortunes in long distance phone calls! This
feature will cooperate with release v3.0++ of FaxWorks Pro.
o MR/2 ICE Ask-The-Experts(tm) Web Page! Yet another way to get
user-based help for what's already the best-supported OS/2 email
available! Simple web interface accepts and email address and
question(s) from the user. This is then emailed to a panel of MR/2
ICE veteran users that have volunteered to share their knowledge.
o MR/2 HELP menus now have links to various MR/2 web pages, including
the home page, the FAQ and the Ask-The-Experts(tm) page. An online
web-based manual with SEARCH capabilites should be available soon
o The MIME subsystem now calls upon WPS Associations when viewing an
attachment. If a viewer is not defined within MR/2 ICE, the
attachment is treated as an "object" and opened via WPS calls.
This feature is implemented via a new DLL. So as not to leave the
existing OS/2 v2.x user base without updates, a special DLL is
provided that allows use under v2.x, less the WPS integration.
o Demand filters added. Filters meant to be called manually by
the user against selected messages.
o Messages may be "redirected" to other users without notably marking
the message as a forward. (AKA "bouncing").
o Improvements to the split-screen editor and copying/quoting
between windows. Pasting w/quote can be performed with a single
click or keystroke.
o Performance of Copying/Moving to folders vastly improved.
o More documentation! Install.txt, keys.txt and readme.1st. The
Readme.1st file describes all documentation files. The file
INSTALL.TXT is loaded into the E editor for reference on the very
first invocation of MR/2.
o Overall performance increases: SMTP interface, Unique file generator,
Reindexing of an index,
o Improved subsystems: Forwarding, MIME, Multiple account logins.
o Some minor attempts to improve workings on DBCS systems.
o Much more in the way of fixes and improvements.
What's New in Version 1.1 (since v1.0)
--------------------------------------
o MIME support. Both incoming and outgoing attachments including
support for configurable MIME associations, allowing you to control
each MIME type. Declare a MIME part as "visible text" or define an
external viewer for it.
o Improved attachment processor. Attachments are handled faster and
with much more flexibility. Files can be dropped on the message
editor to add them as an attachment. RMB over an attachment allows
it to be individually detached and/or "viewed".
o Support for ISO-8859-10 and KOI8-R Russian character sets. Previous
releases already included support for ISO-8859-1 through ISO-8859-9
and US-ASCII. MR/2 ICE now supports 47 code pages / character sets.
o Improved hooks for PGP and other external utilities. MR/2 ICE can
now be made fully PGP capable with the help of some wonderful third
party tools. These tools include a PM based PGP front end and/or
several REXX scripts ... mix and match, providing the most flexible
solution possible. See the MR/2 ICE home page for more information
about the third-party PGP tools.
o Many more configuration options for MIME character sets. See
Options->Settings->Advanced.
o Improved spelling checker and thesaurus.
o MR/2 ICE "server" options have been added that allow MR/2 to be
controlled from other programs. For example, use MR/2 ICE as your
SMTP interface for SLNR. Add message files to MR/2 ICE's outbox
from any application. Invoke a "new message" from any application.
Works with a running copy of MR/2 or a freshly loaded copy.
o Third party tool support - MR/2 ICE is the default external mailer
for the new Black Book v1.0. See the MR/2 ICE web page for links.
o Improved POP3 server message reporting.
o Improved REXX interfaces, both "on demand" and filter interaction.
Have the REXX session loaded in the background, or in the foreground
allowing user interaction. PreSend filters added that allow
modification to any message just before it is sent.
o Any external modifications to a message cause the message index to
be updated to reflect these changes. In other words, editing a
message's SUBJECT data using Tools->Edit Externally or the REXX
interface will force the index to be updated, as well.
o Outbound Filters enabled and enhanced.
o Multiple copies of external editors and other utilities no
longer causes problems.
o Dozens of smaller bug fixes and enhancements. More detail? See
the file "history.txt" in the distribution ZIP file. |
kannegieser.net/veit/programm/protmenu.arj | local copy | |
PROTMENU v. 19980313 (Source code, 13/3/1998, Veit Kannegieser) | ||
kannegieser.net/veit/quelle/protmenu_src.arj | local copy |
This work is licensed under a Creative Commons Attribution 4.0 International License.
Comments
Martin Iturbide
Sun, 11/06/2023 - 16:31
Permalink
Hi. This software should not
Add new comment