home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
m
/
mr2_141.zip
/
MR2.HST
< prev
next >
Wrap
Text File
|
1992-08-13
|
30KB
|
575 lines
MR/2 - A QWK Compatible Mail Reader for OS/2. 07/09/92
Copyright (c) 1992, Knight Writer Software Company.
All rights reserved.
===================================================================
N O T I C E
===================================================================
This IS a shareware package, and does require a registration fee if
you choose to continue using it after 30 days. The registration
fee is currently $20. Eventually, the final product MAY have a
"begging" screen with a key-file that will register the software
and suppress it. The more interest I get, the more likely I am to
continue with improvements.
------------------------------------------------------------------
KNOWN BUGS AND STUFF
====================
Mouse support is missing from some of the "inform user" screen.
The TEMPORARY directory MUST remain a subdirectory of the MR2 home dir.
You can't use "\" or "&" as part of any search text (since MR/2 uses them
as delimiters).
You can't cancel a search until the first "hit" is displayed. This is
particularly irritating when soundex searching, since soundexing is
noticably slower.
If you set "SkipReadMessages" to true, you cannot gain access to a
conferences where all messages have previously been read.
I don't supply an editor. You'll have to find your own or use E or EPM.
QEdit for OS/2 works nice as an inexpensive, character-mode editor
You can't send ADD/DROP conference messages yet. This seems easy enough,
so I should be able to add it in soon.
ANSI support is not provided in a limitted fashion and @variables
are not converted. Sorry, maybe later.
Other frills that have not yet been addressed: Bulk marking, forwarding
messages, carbon copies, twit filter, function key assigning. There are
probably others. Feel free to bombard me with requests.
No long file name support. Since QWK is a DOS thing, the only place I can
see using it is for packet names (if the user renames it). Any ideas?
Changes included in v0.96
-------------------------
o MR/2 is now WINDOWCOMPAT, which means it can be run in an OS/2
character mode Window. If you can find an editor that also runs
in a window (e.g., QEdit for OS/2 does) - you can take advantage of
the cut/paste capabilities of the clipboard.
o Warning that MR2.INI does not exist (very first time MR/2 is invoked)
has been expanded. More explanation is given as to what happens
if you choose to create MR2.INI.
o Responding "N" for "NO" when asked if you wish to create and edit
your initial MR2.INI file no longer hangs. There's an apparent bug
in the Zortech's fopen() call where NULL is not returned if the file
does not exist. I've bypassed this.
o Mouse cursor is now hidden before the screen is cleared when exiting.
o If you searched for text, then replied, the reply logic trashed the
search string. If you would press "N" to search for the next, it
would fail, and since the screens flashed so quickly, you couldn't
see the word you're search for isn't correct. Anyway, it's fixed.
o All individual help files have been combined into a single help
source, "MR2.HLP". This seems to have slowed the help system down
somewhat - I'll optimize later.
o When viewing messages, the message header is frozen at the top of the
screen and no longer scrolls with the message.
o From the packet selection list, you can now use ALT-D to delete a
packet (after confirmation) or rename a packet with ALT-R. Minimal
error checking is performed - rename only works within the original
packet directory.
o Again, while on the packet selection list, you can use ALT-C to edit
the MR2.INI file. The editor used will be whatever is currently
configured (in your MR2.ini file, or the "E" editor, if none has been
specified). The .ini file is reloaded when control returns from the
editor. (Screen clears to all red momentarily - close your eyes for
just a second until I fix this :)
o Searching for text was only checking the body of the message. It now
also checks the Subject, To and From fields.
o Do you like to keep your editor open in another window? If you set
your editor name up to be "NONE", MR/2 will post a "waiting" message
instead of chaining to an editor. This lets you switch to a window
with your editor loaded, edit, and switch back. When all done, press
a key in MR/2, and your edited file will be processed. This REALLY
works great with QWIKSWCH, or in 2.0 with just two sessions active
(MR/2 and your editor). NOTE: no check is made to see if the file
was actually changed. I will provide some code to detect and warn
of this situation later. REMEMBER: Reply.Msg is in a tmp$$\ directory.
o A new MR2.INI option has been added to enable the setting of extended
attributes for reply files. This saves some time when using the "E"
editor, as you won't have to set "Plain Text" them when you save the
file. Options are:
Attributes=NONE or
Attributes=Extended
Changes included in v0.97
-------------------------
o A new key has been enabled from the packet selection screen. Alt-N
will update the file list (showing any new files).
o "P" will now "print" the displayed message to "prn". Message will
be formatted just like a "saved" message.
o Mouse operations have been cleaned up and the cursor is hidden when
the mouse is not available for input. Correct selection and menu
entries are highlighted and selected (previously, mouse cursor and
highlight bar did not correspond). I still need to add mouse input
capabilities to the messages display screen.
o Previously, when creating a new messages, "ALL" was filled in as the
TO field automatically, and the cursor was placed on the subject line.
After personally typing several netmail messages to ALL with the user
name on the subject line, I've changed this. The "ALL" is still
defaulted, but the cursor stays in the TO field. Tabbing out will
keep "ALL" unmodified - type over "ALL" and it will "Auto-clear".
o When saving a message to disk, MR/2 now prompts for a file name,
providing the previously used file name as a default. Currently,
changes made to the save file name are remembered only during the
current session. MR/2 still reloads the name of the default save file
from the MR2.INI file each time it is invoked.
o The Zortech "event" class that monitored the keyboard and mouse while
on a selection list would continuously poll these two devices until
something was available. This would slow down other sessions
considerably. I've now put a DosSleep call in place that cleans
this up nicely.
o When an "empty" packet list is found, the previous error message did
little to explain the problem. The new message does a more thorough
job and offers the chance to edit the .ini file and reload.
o ReplyPath and ReplyFile are now functional in the MR2.INI file. You
can now place your reply packets in a directory separate from your
QWK packets. Also, you can control the naming of the reply temporary
file (which was previously hard-coded to be "reply.msg"). This makes
editing in a separate window simpler, as you don't have to path into
MR/2's work directory. The ReplyFile specification will except full
path names, so "C:\Reply" is totally valid. The .ini parameter
"QuoteToFile" was redundant and has been removed.
o The BBS ID is now included in a message "saved" to an ASCII disk file.
o If you forget the closing "\" on your PacketPath or ReplyPath, MR/2
will append one for you (if these values are not empty).
o Extremely limited color configuration has been added - you can set
the colors for the message reading screen only (this also changes the
file viewer colors and BBS Welcome backdrop under the main menu). The
method is primitive and not the final solution, but it should satisfy
some, as this should be where the most time is spent. See the Color=
option in MR2INI.ORG and be prepared to do some thinking in hex.
o Another new MR2.INI option has been added. HeaderEditing allows you
to perform the editing of the message header from the default of
both before and after editing the message. You may now select from
before, after, or the default of both.
o The problem with the screen flashing red mentioned above (v0.95) was
a QEdit-only problem. Qedit, as I found through experimentation,
checks the color at (0,0) upon entry, and clears the screen to this
color on exit. I now place a black space at (0,0) before calling
any editor. (This is why QEdit leaves an OS/2 screen blue on exit -
it reads the OS/2 command line message (blue) and clears with this).
o Most of the "beeps" have been removed from the message viewer.
Scrolling or paging through messages or files will no longer beep
at beginning or end of file.
o A minimal Welcome.QWK file is included in the distribution file.
The default pack path, if not changed, should show this packet.
Instructions are included in the packet on how to correct the
packet path.
o The packet selection list now sorts in descending date/time order,
so the most recent packet will always be at the top of the list.
Previously, files were listed alphabetically.
o You may now use ALT-P from the packet selection screen to change the
packet path for the session. The existing path is displayed as the
default.
Changes included in v0.98
-------------------------
o MR/2 version now displays at the top of the packet selection screen.
o Text searches are now multithreaded. While you're reading the first
matching message, MR/2 reads ahead and loads anything it finds into
a pipe. "Previous" hits are supported via a stack-like structure
that can hold up to 200 hits. You can move backwards and forwards
through matching messages freely. The previous "Searching" screens
that appeared when you pressed "N" or "L" have been suppressed. This
still needs some thorough testing ...
o Pressing 'I' to select messages by header had a problem when pressed
on any of the first 8 messages in a conference. Usually, the current
message is centered within the selection screen. When the message was
one of the first 8, the current message would appear on top. Now,
the listing starts from the first message in the list.
o I added another color option to the primitive MR2.INI "Color" parameter.
You can now add two more hex digits (making this the 5th and 6th)
to control the color in the message header area.
o Another event-class problem fixed. Errors returned from mouse calls
were being ignored and, if no mouse was installed, "ghost" mouse
events were still being processed. This caused MR/2 to flash a screen
or two, then exit immediately. Now, if the mouse-open call fails, no
other mouse calls are significant. I tested this by booting OS/2 1.3
from floppy (Disk #1) and exiting at the IBM screen. Things still seem
to work well under 1.3.
o Two more keys have been enabled during message reading - "T" will read
forward from the current message by subject ("thread"). "B" will
move backwards. These functions use the old single-threaded search
code, with the "Searching..." message.
o Errors encountered by the packer/unpacker command lines will be reported
before MR/2 exits. It still exits, but it shows the failed command
first.
o Errors encountered by your defined editor command line will also be
more clearly reported. You will not, however, be booted out of the
program.
o The reply packet path will now default (if not specified in MR2.INI) to
the reply path. If neither are specified, the packet path defaults to
the current directory (which would be the MR/2 home directory), and the
reply path defaults to the same (actually to "..\", but replies are
handled while you're in the tmp$$ dir). The previous beta probably
confused a few people when replies were put into the MR/2 home dir
instead of the old method of placing them with incoming packets.
o Instead of adding searching capabilities to file viewing (new files,
bulletins, system news), I added direct access to the defined editor.
If your using a pre-loaded editor (Editor=NONE), this will not work.
If you are using a spawned editor, then while viewing any of the
mentioned files, you can press "E" and your editor will be loaded
with the file being displayed. From here you can search, cut/paste to
other files or whatever. You can make changes - but MR/2 will do
nothing extra to save them.
Changes included in v0.99
-------------------------
Didn't get as much done as I had hoped with this release. There may be
a version 0.99a before I call it 1.00. If you're going to report a bug
or request an enhancement, now's the time!
***********************************************************************
PLEASE: fill out and send me the answers to my survey contained in the
file SURVEY.TXT. I will use any responses to help plan the future
development of MR/2 - AND I will offer the results to any other OS/2
mail reader authors that I become aware of.
***********************************************************************
o Searching status now says (0 hits) or (1 hit) or (>1 hits).
o Multithreaded searching problems fixed with regards to freeing memory
BEFORE calling DosExit(). Also added some code to use the "reading
message" semaphore when canceling a search, so as not to cross wires
while cleaning up.
o Messages > 100 lines are now split up. If more than 100 lines exist,
splitting occurs at line 95, a "continued" message is appended and a
additional message(s) are generated with "(Cont'd)" appended to the
subject line.
o If the first message in a conference happened to contain the previously
specified "search string", the message viewer would position the text
as if a search "hit" was found. This has been corrected.
o Mouse support has been added to the message viewing screen. Click on
the bottom "status" line works the same as hitting ENTER. Click on the
next line up (last display line) and you've simulated "spacebar". Any
other line on the bottom half of the message area is a page-down. Click
on any line in the top half of the message is the same as a "page up".
Click on the "==" header dividing line and you've requested the previous
message ("G" or "-"). Click on "Subject:" pages forward by thread,
"Conf:" brings up the index and on "Hit" (or where it should be displayed)
for the next search. You still can't acknowledge a few of the
"informative" message boxes with the mouse yet ... I'll get these next.
o New MR2.INI option: SkipReadMessages. If set to YES, MR/2 will do its
best not to show you previously read messages. Any time you move
forward "normally" (using ENTER, spacebar or "+"), any message marked
previously as read will be skipped over. You can still select any
message by index, or page backwards with "G" or "-". Searching and
threading will always reread a message. Problem: using "G" moves
back sequentially ONE message - if messages were skipped, this may not
be the message previously read. Problem: You can't get into any
conference that has been completely "read".
o New MR2.INI option: QuoteBody. Can be used to control the quoting used
when creating an initial reply file. If set to "%i>" (enclosing the
string in quotes is suggested), then the %i is replaced by the
from-user's initials, and any other text is duplicated as specified
(spaces may be used to pad). An additional parameter may be appended to
the end of the quote string, separated from it by a comma. This parameter
may be EachLine or FirstLine. Each line prefixes each quoted line with
the quote string, FirstLine prefixes only the first line of the quote,
then indents all other lines to align with the first. If not specified,
the default is EachLine.
NOTE: %i is the only special string parameter supported at this time.
It may be ommitted from the quote string, if desired (e.g., "->").
o New MR2.INI option: OldQuoteDetect. When this parameter is set to YES,
MR/2 attempts to identify any previously quoted text when building
a reply file. Any text suspected of being a previous quote will not
be prefixed with the quote body string. Blank lines are also not
quoted. This often results in a cleaner quoting style.
o New MR2.INI option: HeaderInQuote. If YES is specified, a copy of the
original message header (in a format similar to a saved or printed
message) is inserted at the very beginning of an initial reply file.
This allows for the creation of clever editor "macros" that can mold
the header infromation into quoting styles not supported directly
by MR/2. Make sure this area is removed from the reply before it is
saved as MR/2 makes no effort to detect and remove it.
o Searching for text now supports multiple-word "or" searches. If you
want to search through a conference for messages that contain OS/2,
IBM or "Nick Knight", simply fill in the search form with
"OS/2\IBM\Nick Knight" (less the quotes). The backslashes are the
delimitters, and, no, you can't search for anything with a "\"
character in it. Searching is done in one pass and only the first hit
in any one message counts.
o In older versions, the reply packet retained all killed messages
and would depend on the mail door to discard these messages. When
editing a reply, MR/2 would create a "new" message and kill the old
version. If you edited a message multiple times, you would have a
packet with an "invisible" copy of each older version. First,
it was pointed out certain doors don't check the status flag and post
these messages anyway. Then it was pointed out to me that not all users
are accessing the board locally, and uploading inactive messages is
causing longer connect times. While I actually consider the former a
mail door bug, the latter point hit home. MR/2 now filters out all
killed messages just before packing it into the .rep file.
o Not sure how to spell "Bernoulli", or don't trust other message writers
to spell it correctly? No, I haven't included a spell checker - but
searches can now use "soundexing", or phonetic spelling. This code will
undoubtably be tweaked over time, but the base algorithm is very sound.
If you prefix any search word with a "&", soundex checking will be
performed. Searching for "burnully" WILL find "Bernoulli" and all
spellings that soundex to the same value. Another example, "Windows"
will see "windoze" as a phonetic match. WARNING: "OS/2" doesn't
create any kind of realistic soundex key. Results will not be usable
with short words - you'll get more matches that you can track. The
longer the search string the better. Note that this type of search
is MUCH slower than straight character matching - good thing it's
multithreaded :)
Changes included in v0.99b
--------------------------
o When editing a previous reply, a new option assigned to F9 exists
for saving header (to/subject/conference) changes without having
to edit the actual reply.
o You can now hit ALT-F from the conference selection screen to search
through all conferences. When viewing messages in this mode, many
of the regular keystroke options are not available. Pressing ENTER
"T" or "N" will bring up the next search "hit". Pressing "G", "-",
"B" or "L" will display the previous search hit. Pressing "F" will
allow you to search ALL messages for another string. The "I" key is
not implemented in this mode, and will tell you so if pressed. Any
undefined key will move to the next search hit.
o I've started to add the ability to ADD or DROP conferences,
although it doesn't really work yet. It appears that each mail door
can decide to do this its own way. My research continues ...
o The status of each message is now preserved through the use of
extended attributes attached to the packet. Exiting a package and
later reloading it will not destroy the read/replied/saved state of
each messages. You must have KeepMessageMarks set to YES in the .ini
file.
o There was a bug that occurred when editing a reply or new message
header and ESCAPE was pressed by accident. If you would then press
ESCAPE again to deny aborting the message, the TO field would get
changed to match the FROM user. This has been corrected.
o The helpful little instruction lines at the bottom of the screen are
back. I had tons of trouble with Zortech's screen classes handling
(they were always there, and were supposed to be showing up, but rarely
did), so I did a little bypass surgery and things work nicely now.
o Some of the confirmation "boxes" were confusing, as the options were
always OK and CANCEL. I've added some variations that provide more
sensible choices (e.g., "YES/NO" and "KEEP/DELETE").
o The INSERT key now functions just like the "I" key while viewing a
message. It will invoke the message header "index" screen. Many
DOS readers use the INSERT key in this way.
o Priority is now set lower on the background search process. Previously,
if you attempted to reply to a search-hit while the search continued,
the background thread would fight for the machine and cause a noticable
delay.
o Related to the previous note - if you replied to a search "hit" while
the search continued in the background - the messages checked/hits
counter would show through to the editor, overwriting the bottom line
of the screen. This has been suppressed - although searching will
continue while in your editor.
o When viewing a message, you may press the "O" key to access an OS/2
command line. You will need to use the "EXIT" command to return to
MR/2. I will enhance this to modify the prompt (to remind you you're
shelled-out of MR/2), and I hope to provide access to this feature
nomatter where you're at. Currently, though, it works ONLY while
reading a message.
o The quoting of the source message sometimes left a high-end ASCII
character at the end of teh reply file. This has been fixed.
o Finally! I'm 99% sure I found the last (?) nasty critical-error
type bug. It had to do with reply to a search "hit". If you would
later go back to review your replies, a protection violation ocurred
the minute you selected the "replies" conference. This was
non-destructive (your replies were always there when you reloaded
MR/2), but it was extremelly irritating.
Changes included in v0.99c
--------------------------
------------------------------------------------------------------
*** KEYS ASSIGNMENTS HAVE BEEN CHANGED SINCE VERSION 0.99B ***
T was next message by thread - it's now steal tagline.
Use H to move ahead by thread
When replying, F2 used to toggle from/to - now it selects taglines.
Use F3 to toggle from/to
------------------------------------------------------------------
o When replies were killed, some previous versions would not display the
status as "killed". This has been corrected.
o Tearline has been changed to "___" from "---" so as not to confuse
Fidonet mail processors.
o Some more problems with read/saved/replied/killed status not showing
up correctly have been fixed.
o Lines longer than 80 columns would sometimes cause display problems
for messages and file listings. This has been corrected. The most
common indication of this problem was the status/instruction line
being overwritten with message text.
o MR/2 now sets the video state so that high-intensity background colors
can be used. This means that blinking attributes won't blink any
more, but provides for more color choices.
o When you edit the packet path from the packet selection window, the
full file specification being used is displayed for editing.
Previously, only the directory was shown and modifiable. Now, you
can change the directory and/or the wildcard filename qualifier. This
done partially as an aid in debugging (one) problem-prone installation.
o When displaying the Welcome and Goodbye screens, MR/2 now attempts to
detect and display ANSI escape sequences. If the first character in
the source file is an ESCAPE character, then ANSI displaying is enabled.
o The SAVE to file function has been enhanced. When prompted for the
save file name, you may now press F2 to select from a list of existing
save files. You may place a wildcard specification in the form
before pressing F2 to control which files are displayed. If no
wildcards are found in the default name, MR/2 derives a specification
from the default file's path and suffix. From the save file selection
list, you may optionally use ALT-E to "edit" any displayed file name.
o Taglines have been enhanced. You can now load a list of taglines from
a file by specifying "@filename" for the MR2.INI "TagLine" parameter.
The "@" sign says to treat the line as a file name. A new parameter,
"TagMode" is now available that can be set to RANDOM or SEQUENTIAL.
Random will skip around the tagline file for each reply, SEQUENTIAL
randomly jumps to the first tagline, then progresses through them in
order for subsequent replies. NOTE: Editing a reply causes a new
tagline to be chosen for the original message. You must hand pick a
tagline to control this. Three sample tagline files have been included,
OS2.TAG, Misc1.Tag and Misc2.Tag. I have a 166k Misc3.Tag, but I felt
it was too large to include.
o When replying, the FROM/TO toggle has been moved to F3. F2 now invokes
tag line selection. Use this to "hand pick" a particular tagline for
the current reply.
o When reading message, the "T" key previously would move forward by
thread. This has been reassigned to the "H" key. The "T" key now
attempts to "steal" the currently displayed messages tagline. The
line selected by MR/2 is displayed for editing. You may also "hand
pick" any line from the original message by using the up/down arrows
to scroll through message lines. This will aid "stealing" when MR/2
can't properly identify the correct line containing the tag.
NOTE: Stealing and selecting taglines will change the "sequential"
progression of auto-rotating taglines (in SEQUENTIAL mode only).
o The end-of-list logic has been modified slightly for selection list
screens. Now, when you press END while selecting from a list, not
only does the display jump to the last page, but the last element is
highlighted. Along the same lines, pressing PAGE DOWN when on the
last page of a list display will move the highlight to the last entry.
o The HeaderInQuote option reported the "To" user to be the same as the
"From" user. This has been fixed.
Changes included in v1.00 (Note: .99c was not widely distributed)
--------------------------------------------------------------------
o Internal: replaced hand-written copying of initial .ini file with a
call to DosCopy().
o Opening a packet will now cause the packet's control file to be copied
into the MR/2 home directory as bbsname.CFG. This file will be used by
the logic for entering messages without a packet. You should see a
.cfg file for each unique BBS from which you read QWK packets.
o From the main packet selection screen, you may now press ALT-E to enter
messages for any BBS that MR/2 has ever encountered. A list of ".cfg"
files is displayed (see previous note) for selection. When one of these
names is picked, MR/2 creates a partial packet and allows entry of new
messages, and reviewing of these message (and any previously existing
replies).
o Ooops. The background searching was being set to "idle" priority. This
worked great, until a DOS app/hog using a polling loop was loaded (for
example, WordPerfect). The search would tend to freeze and MR/2 would
lock up. Priority for the search thread has been left "regular", but
changes to a lower priority "level".
o I've actually written a manual! It's not as good as I'd like, but I'll
work on that later. I have to figure out how to do table of contents
and an index in WordPerfect. I'm used to Ventura Publisher, but that
won;t print to an plain ASCII text file. See MR2.DOC and again,
comments and suggestions are always welcome.
o MR/2 now recognized the existance of a properly checksummed MR2.ID
file. This will be the file sent to registered users and will remove
the "NR" markings from their taglines. When this file is present, the
registered user also has the option of including their serial number in
each tagline.