home *** CD-ROM | disk | FTP | other *** search
- MR/2 - A QWK Compatible Mail Reader for OS/2. 03/06/93
-
- 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 US. Eventually, the 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.
- ------------------------------------------------------------------
-
-
- Changes included in v1.31
- -------------------------
-
- o Modified the packet select clock display to show centered on the screen.
- It was centered for short month names, but September (it *is* the longest
- name) made it look lopsided.
-
- o ANSI animation is much improved ... I've still got some work to do.
- Some of these ANSI messages are incredible! Toggle MR/2 into 34 line
- or greater mode to read stubborn messages.
-
- o OK, I've enabled "ANSI detect" for News, Bulletins and New Files.
- Actually, if I would have enabled it, this would have worked well in
- version 1.3. Unfortunately, I only tested it with message reading, and
- it didn't make any sense for these - if a message had ANSI codes, it
- was a good bet it wanted full control of the screen, which I didn't
- want to give unless requested by the user (the "A" key). Now I find,
- after sampling several BBS's (Wildcat's were suggested, then I find that
- PCBoards with Graphics menus enabled sends ANSI codes also :), that
- the non-message ANSI stuff tends to be much more behaved. Anyway, test
- it out, let me know of any problems.
-
- o For ANSI animations, had to enable the "blinking" attribute. I then
- set it back off for regular operations.
-
-
- Changes included in v1.32
- -------------------------
-
- o Blinking attribute still didn't work in the message/file viewer. News
- files with blinking text showed reverse video in some starnge color.
-
- o Custom conference search was still started on message entry w/o any
- existing packets (ALT-E from the packet select screen). There are
- no message to search in this mode, but the thread was started and the
- beep would occur almost instantly. This has been fixed.
-
- o Modified the "ShowEmpties" default flag from YES to NO. Set it to
- YES in your INI file if you want empty custom conferences to show.
-
- o KeepMessageMarks would sometimes get corrupted and set to NO. This
- was caused by an error in the INI.CPP code that "dropped" into the
- "K" parameter processing after doing the "H" processing (missing
- break statement). For some reason, the corruption was more sensitive
- to opening a packet using WPS "associations" that direct MR/2 selection.
-
- o But then, there was still a problem with using WPS associations to
- open a packet. Problem also occured whenever simply passing a file
- name on the command line. MR/2 tried to save Bookmark EA's, but used
- an invalid file name. This is now working correctly.
-
- o Added NEWMR2.ICO to the distribution zip. This is an MR/2 icon
- submitted by Dennis Powell. He claims it's better looking than mine,
- and I guess I'll have to agree :).
-
- o The ANSI file viewers would clear the screen to the user-defined message
- color before showing the file/screen. This resulted in the "wrong"
- background color. I now clear the screen to black before showing text
- using ANSI escape sequences.
-
- o Also, MR/2 left all ANSI display routines with the default screen colors
- set to whatever the ANSI display last set. I now set normal white on
- black upon exiting these functions.
-
- o I made some changes to try to speed up the scrolling of selection lists.
- The mods where to the video display routines, but seemed to do nothing.
- I don't really see any slowness, unless I stand on the downarrow key.
- These may be more a case of slow keyboard repeat. I'll see if I can
- modify this somehow.
-
- o When you change the FROM user when editing the reply header, the new
- "from" name is remembered and becomes the default for as long as that
- packet is open. Once the packet is closed, the user name defaults
- back to the one found in the control.dat file of each QWK file.
-
- o I removed survey.txt from the distribution zip. I think I know what
- the majority of folks want, and the zip file needs to be pruned a little.
- Also removed Misc1.Tag, leaving Misc2.Tag and OS2.Tag. These may get
- trimmed or disappear altogether at some time ...
-
- o Also removed MR2.DOC from Welcome.qwk, the default, "I'm lost" new-user
- packet. I've replaced it with a small note about seeing mr2.doc as
- a separate file. This file was actually packed twice, now only once.
-
- That's it for now ... I'll work on adding some actual enhancements as soon
- as I get MR/PM out and somewhat stable ... that'll probably take a week,
- or two, or three. Look for MRPM_095.*
-
-
- Changes included in v1.33
- -------------------------
-
- o Forwarding messages had a problem with taglines. The forwarded preface
- was placed in the edit-header tagline field and could get corrupted.
- Forwarded messages get no tagline; this field now displays blank and
- any entry here is ignored.
-
- o On some messages, lines would be highlighted as quotes that were
- obviously not. This was from ghost characters from previous lines and
- has been fixed.
-
- o Fixed a problem with the MR2.ID recognition routine. Basically, if
- any of my checksums calculated to a CR or a EOF (0x1A), the file would
- not be recognized as valid. This has been fixed.
-
- o If a zero length reply file was for some reason saved, then reedited,
- MR/2 would throw a second tagline on the file. Fixed. I wonder if I
- can reasonably detect the cases where the reply has been saved w/o
- any user-added modifications and warn??
-
- o In the INI file, MouseMode now supports the keyword "Off" in addition
- to SingleClick and DoubleClick. All "Off" does is tells MR/2 to hide
- the mouse cursor (the mouse is still active, just hidden). ... by
- registered user request.
-
- o New INI parameter SuppressVersionInTagline defaults to NO. If
- you're a registered user, you may set this to YES and the version
- number(s) will be suppressed when MR/2 generates a tagline. This
- allows more room for your tagline message, particularly when used in
- conjunction with "SerialInTag" set to NO.
-
-
- Changes included in v1.34
- -------------------------
-
- o The custom conference search "check" keyword ORIGIN has been modified
- to recognize a lines starting as " * " as the "origin". Also sees the
- line as the start of the origin area if the "*" is instead an "X" or a
- ASCII block char (0xFE).
-
- o The 1.33 tagline modifications to suppress the VERSION string worked OK,
- but the new code messed up the non-suppressed version string for
- registered users. This has been fixed.
-
- o Added PMColors to the INI file processor. This adds nothing to MR/2
- classic - this is for the PM version :(.
-
- o Removed the file Read.Me from the Welcome.Qwk default packet. This
- was just a duplication of the file read.me that's distributed
- separately. Duplicating the file just made distribution zip's larger
- and made extra work for me when packing up new versions. Now, all
- that's in the .qwk packet is instructions to read the read.me file.
-
-
- Changes included in v1.35
- -------------------------
-
- o Another control.dat problem was found pertaining to a specific BBS
- (or BBS software/mail door?). A registered user sent me a packet where
- control.dat had the user name padded to about 40 characters max. This
- overwrote some internal variables (specifically, the BBSID) and the
- system tried to create replies in a file named " .msg". This
- is not legal and MR/2 would puke. Since this has now caused trouble
- twice, I've rewritten the routine to handle virtually any length of
- user name.
-
-
- Changes included in v1.36
- -------------------------
-
- o Beeping on personal messages did not always work. The comparing of
- names was case sensitive, and worked only if the message name and the
- user name in control.dat matched EXACTLY. This has been corrected.
-
- o Modified the tagline "random" seeding in an attempt to make things more
- "random". Someone reported that the same taglines were coming up even
- when set to RANDOM. I could not recreate this, but an examination of my
- code revealed that there were only 60 possible seeding combinations.
- (I used time(NULL)%60). I've changed this to offer a broader range of
- starting seeds.
-
- o Tagline style now defaults to PC-Board. This is 3 dashed as a tearline
- and hi-end ASCII block characters as MR/2's signiture delimiters. I
- also added the keyword "TagStyle" to MR2INI.ORG. It's been there for
- a while, but I missed it when documenting and setting up this starter
- INI file.
-
- o Fixed a thread-name formatting problem in the quick thread summary
- logic (originally fixed in MR/2 PM). The very last thread name would
- sometimes be blank or some initial characters missing due to a previous
- "RE:" being detected. This has been fixed.
-
- o Modified the conference "sort" (when Alpha-sorted master conference
- names are requested <the default>). Previously, conference names
- where inserted into the final linked list used by the QWK class in
- insertion-sorted order. In other words, I'd plow through the linked
- list and find the right spot for a conference name and plop it
- there. This was extremely slow for large lists. Now, names are
- recorded (sorted) in a BTREE structure, then transfered into
- linked-list format. The increase in speed (using PC-Ohio's 1000+ and
- Channel 1's 2200+ conference lists as tests) is dramatic. I'm
- happy, I hope you are too.
-
-
- Changes included in v1.37
- -------------------------
-
- o The selection box logic had some problems when working in modes
- with a large number of display lines (e.g., 60 line mode). Pressing
- enter on the 32nd listed entry or beyond was treated by MR/2 as being
- a letter-character command and the "ENTER" would be ignored. This has
- been fixed.
-
- o Added a new member of zEq, the event class. The event function
- rehidemouse() can be used after a video mode change. If the mouse
- flag says it should be hidden, MouRemovePtr() is called with the
- current screen size. If the mouse flag says the mouse is *not*
- hidden, nothing is done.
-
- o The changing of video modes (number of display lines) caused the mouse
- cursor to sometimes become visible when it shouldn't. This has been
- corrected. Also, if MouseMode was set to OFF and you replied to any
- message, the mouse would appear upon return from the editor (the mouse
- flag was reset to "show" upon return). This has been fixed.
-
- o In an early and primitive attempt to support long file names, I've
- switched to the linker distributed with the MS v1.2 toolkit. It seems
- blink (Zortech's linker) doesn't like the LONGNAMES keyword in the
- .def file. Hopefully, nothing strange will happen :)
-
-
- Changes included in v1.38
- -------------------------
-
- o If EditHeader was set to AFTER only and an existing reply was modified,
- "your" name would appear in the TO field as well as the FROM field.
- This was the result of a 9/2/92 patch for AFTER mode, but the patch
- should not effect editing of replies. Fixed.
-
- o While working in Header Editing "AFTER" mode I also discovered that
- the subject of a "Write new" message was often filled in with the
- last read message's subject. Subjects are now blanked out when
- writing a "new" message.
-
- o Write new: conference numbers > 1000 would only show last 3 digits.
- Display now is widened by one and 4 digit conference numbers displayed.
-
- o Conference select when editing the message header has been expanded
- in width by one character to match Write new conference select.
-
- o My testing of BBS's with 4 digit conference support failed to find one
- possibility. It was reported that, at least once, some QWK door produced
- 4-digit index files for conference numbers < 1000. For instance,
- conference 1 would be indexed by 0001.ndx. "Normal" doors seem to use
- 3 digits *until* the conference number grows to 1000 or more. MR/2 now
- supports and auto-detects both types.
-
- o Enhanced the tagline stealer to recognize taglines made by the BlueWave
- mail reader. Added recognition for Speed Reader's method, also.
-
- o A packet was provided to me that had strange, extremelly long conference
- names; actually conference names followed by comment-like descriptions.
- These long names were causing strange screen-wrapping problems. I've
- now got a 60-char maximum box width set for conference names. Names
- longer that this will be truncated ... they won't look pretty, but they'll
- look better than what I just saw :)
-
- o My new/faster btree sorting method would toss out duplicate
- conference names. This wouldn't normally be a problem, but OS/2
- Shareware's QWK door truncates all Usenet news feed names to
- "Comp.Os.Os2.". Versions using the old sort method (or new ones with
- Alpha sorting OFF) would show multiple conferences all with the same
- name. New version show the conference only once, if at all.
- Collisions (duplicate names) are now handles as unique records and
- added - so all conferences show up. They're still named the same.
- I've netmailed OS/2 Shareware with a description of the problem.
-
- o Conference name boxes on "Write new" and header-editing selection now
- adjust their width to accomodate long conference names. (Kind of a
- continuation of the fix above).
-
- o I've been making alot of minor changes and improvements and haven't
- been too careful about remembering them. Let's see, I found a minor
- bug with adding replies. Every time you replied, a 30 byte chunk of
- memory was allocated for the conference listing, and any older conference
- record was never freed. You'd have to make quite a few replies before
- this would create a problem - but it's fixed anyway. The "Read" indicator
- on the message index and quick thread summary has been changed from
- "*" to "√". I think it looks nicer.
-
- o Tagline stealer can now steal wider taglines - 76 chars in length max.
-
- o Added some code to detect "&" symbol in BBS name. This was causing
- the OS/2 CMD.EXE to do strange things when passed to PKZip and PKUnzip.
- MR/2 now wraps all BBSID-based names that contain a "&" in quotes.
-
-
- Changes included in v1.39x - BETA
- ---------------------------------
-
- Folks: I'm calling the next few versions "beta-level" releases. Most of
- my releases are anyway <g>, but the next couple of cuts are going to have
- many new functions and lots of rewritten sections. Most of these are
- scheduled for version 2.0, but I'm thinking that I'll release them in
- steps instead of holding back (i.e., 1.4, 1.5 ... 2.0). Stick with v1.38
- if your craving for adventure is low :)
-
- o INTERNAL: Renamed RemoveKilledReplies() to RemoveKilledMessages(). This
- function will be used to later pack message "folders" and the new name
- better reflects its more generic purpose.
-
- o INTERNAL: Added folderfh to QWK class and modified all message access
- routines to check the freadingfolder flag.
-
- o INTERNAL: new routine fix_path() in INI.cpp. ReplyPath and PacketPath
- now pass through this call, as well as FolderPath.
-
- o INTERNAL: Massively modified Inbasket/Folder logic - I didn't like
- the way it was working.
-
- o Packing of replies has been reworked. Previously, all replies were
- copied to a temporary file, with killed replies being filtered out.
- Then, the reply file was deleted and the temporary file renamed to
- the reply file name. Now the reply file is packed "in place". This
- is faster, does not require a temporary file AND has been made generic
- to allow for future use with folders.
-
- o Mouse is now semi-function on "form" type entry screens. Functional
- as far as clicking on any informational "keystroke" bar will simulate
- that keypress. For example, when saving a message, clicking on "pick
- from list" will simulate an F2 keypress. This was probably more coding
- than it was worth, but it works :) Tagline stealing, save file select
- and reply header editing were effected.
-
- o Added an " ENTER = ESCAPE " key bar to save file name entry to aid in
- mouse use.
-
- o New TagStyle value has been added. If the INI file contains the line
- "TagStyle=TwoLine", then a tagline in the form of:
-
- .. your funny tagline here
- -- MR/2 v1.38 NR
-
- will be produced. Originally, I called this the "BlueWave" style, but
- something didn't sit well with me, so I changed it to "TwoLine" :).
-
- o You can now "Defer" any message to a QWK save area independant of the
- current packet for later processing. This will create an "InBasket"
- conference which will contain all messages for the current BBS that
- have been deferred and never manually deleted. This allows for you
- to reply to the message later, when time permits, without having to
- keep the entire packet around, trying to remember why, and which
- message it was. Press "D" or "/" while viewing the message you
- want to defer.
-
- *** THIS IS BETA-LEVEL CODE - USE WITH CARE ***
-
- ALSO: Inbasket code is subject to change ... read the next version's
- read.me file to make sure inbasket messages saved with this version
- will work with the new. You may have to "clean up" old inbasket
- message with the old (this) version MR/2.
-
- o Added FolderPath as an INI param. This is where folder directories
- will be created. The default is "..\", so that subdirectories off of
- the MR/2 "home" directory will be created.
-
- o ALT-E can now be used to enter NEW messages for any known BBS even
- when the "no packets found" dialog box is displayed. I thought I'd
- done this before, but it wasn't working. Now it does :)
-
- o Forced REPLYLOG variable to NO - this wasn't finished and I'd
- inadvertently documented it in the default INI file. It did very
- strange things. I'll try to finish this off soon so it works the
- way it's supposed to. Sorry?
-
- o The internal editor is now functional. Simply set the Editor
- specification in your INI file to "INTERNAL". The editor is fairly
- simple; press HELP (F1) for a summary of available keys.
-
- NOTE: This is also beta-level code. Expect bugs, but the basic
- editor works OK. Single window, no import/export text functions, yet.
- ALSO!!! Set your word-wrap margins in MR2.INI to *76 or greater* for
- the best results. Smaller numbers work fine, except previous "quoted"
- sections get mangled (at least you can now see this *while editing*
- the message, though :).
-
- The editor is wide open for ideas. I *still* don't want to spend alot
- of time writing editor code, but if an idea makes sense, I'll think
- about it. TELL ME ABOUT YOUR PROBLEMS AND OFFER SUGGESTIONS, PLEASE.
-
-
- Changes included in v1.40x
- --------------------------
-
- Not much feedback on the internal editor yet. I used it for a while but
- switched back to QEdit. I need file import/export capabilities myself; I'll
- be adding that to the internal editor soon.
-
- o Save file wildcarding logic fix. First, if you entered a spec like
- "c:\tmp\*" and pressed ENTER, MR/2 would save the message to that file
- name, which is illegal. No error would be reported. Now, when ENTER
- is pressed and a wildcard is in the file name specified, MR/2 converts
- the ENTER into an F2 keypress and shows a file pick list.
-
- o If "C:\tmp\*" was provided as the save file pick list, and a file was
- selected from the list, the file name returned would be grunged. The
- file name field would be filled with some mutation of the subject line
- from the message display. This was due to the missing ".", which I
- assumed would always be there. This has been corrected.
-
- o New INI parameter: "TemplateFile". This is another one of those
- features that is merely a starting place and has lots of future
- expansion possibilities. Place a file name here that defines a
- template for all message replies. The reply will created using this
- file as a guide BEFORE you edit it. This allows for any necessary
- cleanup. The "template" file I used for testing looked like this
- (note that the variables used will be documented below):
-
- -------------------------------------------------------------------
- Subject: @Subject@
- In a message dated @DATE@, @FROM@ said to @TO@:
-
-
- $BODY
-
-
- Nick Knight
-
- From @from@ reading @CONFNAME@ (@CONFNUM@) on @BBSID@, to @TO@
- Subject: @Subject@
-
- FidoNet: 1:157/2
- Internet: nick.knight@pcohio.com
- Compuserve: 76066,1240
-
- To First: @tofirst@
- To Last: @tolast@
- YYMMDD: @yymmdd@
- Date: @date@
- From First: @fromfirst@
- From Last: @FromLast@
- Msg Date: @msgdate@
- Msg Time: @msgtime@
- Day: @Day@
- Julian: @Julian@
- Time: @Time@
- Time 24: @Time24@
- AM/PM: @AmPm@
-
- Upper: @Upper@@Subject@ @upper@@day@
- Lower: @lOWER@@Subject@ @lower@@day@
- Mixed: @mix@@From@ -> @mix@@to@
- -------------------------------------------------------------------
-
- The quoted version of the original message is inserted at the $BODY
- marker, which is required. NOTE that this is not an appropriate
- template file for use within internationally echoed conferences.
- It's offered here merely as an example.
-
- The section before the $BODY line allows for an "attribution"
- line or section. The area below the $BODY marker works as a
- signoff or signature section.
-
- AGAIN, this feature is under development and may be changed in the
- next couple of versions. My idea is to add more blocks to this file.
- For example, a definition for saved message headers, forwarded
- header definition, etc.,. I've got plenty of ideas.
-
- The reply file generated by my test template file looked like:
- -----------------------------------------------------------------
-
- Subject: NEW ZOO
- In a message dated 03/06/93, DAN HANSON said to ALL:
-
- DH>I saw this in Time Magazine. The New York Bronx Zoo has been
- DH>renamed to the International Wildlife Conservation Park. In
-
- <My reply would be inserted here.>
-
- Nick Knight
-
- From DAN HANSON reading Main Board (0) on PC-OHIO, to ALL
- Subject: NEW ZOO
-
- FidoNet: 1:157/2
- Internet: nick.knight@pcohio.com
- Compuserve: 76066,1240
-
- To First: ALL
- To Last: ALL
- YYMMDD: 930306
- Date: 03/06/93
- From First: DAN
- From Last: HANSON
- Msg Date: 03-06-93
- Msg Time: 14:21
- Day: Saturday
- Julian: 065
- Time: 03:08
- Time 24: 15:08
- AM/PM: PM
-
- Upper: NEW ZOO SATURDAY
- Lower: new zoo saturday
- Mixed: Dan Hanson -> All
- -----------------------------------------------------------------
-
- o Variables are available for use in the template file. They are
- currently only used by the reply file generator. I'll add the
- capability to other areas as I think of them.
-
- The following variables have been provided:
-
- BBSID TIME
- CONFNAME TIME24
- CONFNUM TO
- DATE TOFIRST
- DAY TOLAST
- FROM YYMMDD
- FROMFIRST UPPER
- FROMLAST LOWER
- MSGDATE MIX
- MSGTIME AMPM
- SUBJECT JULIAN
-
-
- The literals UPPER, LOWER and MIX are not actual variables, but
- modifiers. They will convert the case of the NEXT variable
- replacement to either all upper, all lower or mixed case, respectively.
- Mixed case basically lower cases all letters except the first letter
- of each word. See the example above for more detail.
-
- o GREATER CHICAGO Online BBS is now offering a service called the
- "OS/2 Shareware Author Support Program". They are willing to handle
- Visa/Mastercard charges for shareware authors. Starting immediately,
- MR/2 may be registered by "charging" it! You can register online by
- calling Greater Chicago Online BBS at (708) 895-4042. Alternatively,
- you can provide your charge card information to me directly on the
- MR/2 registration form provided (register.doc). There is a $2.00
- handling fee associated with all charged registrations, making the
- total charged registration cost $22.00 US for domestic orders.
-
- Shareware authors may get more information on the OS/2 Shareware
- Author Support Program by calling the GREATER CHICAGO Online BBS at
- the number above (leave a note to the sysop) or by Compuserve mail
- at 70404,3277. Fidonet netmail can be sent to Bill Cook at 1:115/895.
-
-