home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 035 / geob1006.zip / NOTE1006.DOC < prev   
Text File  |  1994-10-06  |  67KB  |  1,431 lines

  1. ----------------------------------------------------------------------
  2.                            TECHNICAL NOTES
  3. ----------------------------------------------------------------------
  4.  
  5. This file contains detailed and often highly technical notes about the
  6. news/fixes/changes of each version.
  7.  
  8. Symbols used:     -   Bugfix.       !   Changed feature.
  9.                   +   New feature.  *   Information/clarification.
  10.  
  11. ----------------------------------------------------------------------
  12.  
  13. *   Welcome to the second 2.50.beta!  Betas will only run for
  14.     registered users, so if you are not one of "The Few, The Proud,
  15.     The Registered", now might be a good time to contact your local
  16.     registration site :-)
  17.  
  18. *   THIS BETA IS WORK IN PROGRESS!  Many important and large-scale
  19.     changes are still being made to the source code at this stage, so
  20.     it is quite possible that things are broken that worked before,
  21.     but haven't been found yet.
  22.  
  23.     Let me know of any problem you come across, but please give me a
  24.     detailed report with a good description of what you did when a
  25.     problem happened. Include cuts from the logfile if relevant.
  26.     Please do me the favor of experimenting a bit to find ways to
  27.     reproduce the problem reliably. Thank you.
  28.  
  29. *   SOME KNOWN PROBLEMS IN THIS BETA:
  30.  
  31.     - Autosave is not yet re-implemented in the internal editor.
  32.     - Renumbering *.MSG areas may mess up the lastread.
  33.     - The statusline clock does not run continuously.
  34.     - Squish netmail may be very slow, especially under OS/2.
  35.     - New mail in an area is not auto-detected while reading it.
  36.     - Not all new language strings are configurable.
  37.     - Very long kludges are not properly wrapped.
  38.  
  39. *   Please note that a new GOLDHELP.CFG is included with this beta. It
  40.     is a reformatted edition of the help file, to take advantage of
  41.     the new full-screen help.
  42.  
  43.  
  44. ----------------------------------------------------------------------
  45. Notes for GoldED 2.50.B1006, BETA release 6. october 1994.
  46. ----------------------------------------------------------------------
  47.  
  48. *   New manual, at last!  The file GOLDBETA.DOC is the first revision
  49.     of the updated manual. All the new GOLDED.CFG keywords are in it,
  50.     but I haven't been over it with a fine tooth comb yet, so there
  51.     may be details that are not fully up-to-date.
  52.  
  53. *   The 386 version is now compiled with Watcom C++ 10.0a instead of
  54.     Watcom C++ 9.5b. This version now expects a newer version of the
  55.     DOS4/GW extender, version 1.97. Available as D4GW_197.ZIP.
  56.     However, it should also be able to run with older versions.
  57.  
  58. -   Fixed long-standing bug in the Squish msgbase code, which made it
  59.     impossible to have blank lines at the top of a msg because they
  60.     were stripped.
  61.  
  62. +   If a "From" or "RFC-From" kludge is found in a msg, the real name
  63.     is now extracted from it, if possible, and used instead of the
  64.     internet address when displaying the name and when replying. This
  65.     improves readability of gated internet newsgroups and e-mail.
  66.  
  67. +   Added support for FidoPCB-style netmail. According to the FidoPCB
  68.     manual, netmail in PCBoard format is supported by specifying the
  69.     first line of the msg to be the to- or from- address in
  70.     parentheses and the second line to be flags (HOLD,CRASH,IMM,INTL)
  71.     in parentheses. The first line can be either to- or from- address,
  72.     but there is no rule to determine when it is what. Here is how
  73.     GoldED deals with it: When you write a netmail, GoldED puts your
  74.     own address in the parentheses. When reading a netmail, GoldED
  75.     looks at the from-name and if it is the same as your first
  76.     USERNAME, the address is taken to be the to-address (written by
  77.     you). Otherwise it is taken to be the from-address (from someone
  78.     other than you. Note that this fails if a netmail is found which
  79.     is written by somebody on your BBS. Is there some way to reliably
  80.     determine that a msg is written locally instead of being imported?
  81.  
  82. -   The new PCBoard msg write code could not correctly create a new
  83.     set of msgbase files.
  84.  
  85. -   Fixed a nasty bug in the Hudson msgbase code. When copying or
  86.     moving more than one msg (using the Copy/Move function) to a
  87.     Hudson area, an internal index was not reallocated to a larger
  88.     size, so GoldED would overrun the allocated memory for the index
  89.     and thereby cause crashes or protection faults.
  90.  
  91. +   New keyword: AREACOPYTO. See GOLDBETA.DOC for details.
  92.  
  93. +   New keyword: AREAREPLYTO. See GOLDBETA.DOC for details.
  94.  
  95. +   New keyword: AREAFREQTO. This is just a new name for the old
  96.     AREAAUTOFREQ keyword for consistency with the new AREACOPYTO and
  97.     AREAREPLYTO keywords.
  98.  
  99. +   New keyword: QUOTECHARS. See GOLDBETA.DOC for details.
  100.  
  101. +   The keywords SEARCHFOR, FORCETEMPLATE and LOADLANGUAGE can now
  102.     also be used globally instead of only in Random System groups.
  103.  
  104. +   New AREAFILE FidoPCB. Supports the FidoPCB PCBoard mail processor.
  105.     It is probably best to use it like this:
  106.  
  107.       AREAFILE PCBoard C:\PCB\
  108.       AREAFILE FidoPCB C:\FIDOPCB\
  109.  
  110.     This way you get the descriptions from PCBoard and the echoids
  111.     from FidoPCB.
  112.  
  113. +   The "Include <filename>" feature of Squish 1.10 is now supported
  114.     in AREAFILE Squish.
  115.  
  116. -   The quotebuffer could not be used with PCBoard.
  117.  
  118. -   AREAFILE PCBoard was a bit messed up.
  119.  
  120. -   In the JAM msgbase, if a subfield of type FTSKLUDGE was 254 or 255
  121.     bytes long, it would overwrite some memory and cause a crash or a
  122.     memory allocation error.
  123.  
  124. -   In the help screen, if there were crossreferences in the help
  125.     text and the page keys were pressed, the crossref cursor
  126.     disappeared.
  127.  
  128. +   Added Squish 1.10 ^aACUPDATE as a built-in known kludge. It is not
  129.     processed in any way. GoldED does not yet support the Squish 1.10
  130.     Broadcast Modify/Delete feature.
  131.  
  132. +   Added FSC-47 ^aSPLIT as a built-in known kludge. It is not
  133.     processed in any way. GoldED does not yet support splitting msgs
  134.     or collecting splitted msgs.
  135.  
  136. -   The internet gating feature that makes use of the FSC-35 kludges
  137.     REPLYADDR and REPLYTO is now only active in netmail areas. This is
  138.     so that replies in gated newsgroups won't be messed up with
  139.     gateway adressing. I hope this was fixed the way people wanted.
  140.  
  141. -   The Ezycom 1.10 USERSEXT.BBS file was not updated correctly and
  142.     instead trashed the extended user record. The LASTCOMB.BBS file
  143.     was not read and updated correctly. These fixes are untested - I
  144.     don't have Ezycom 1.10.
  145.  
  146. -   Boards above 999 in Ezycom 1.02 were not handled correctly. Note
  147.     that Ezycom 1.02 itself has a bug here: It sets the msgbase
  148.     filenames like this:
  149.  
  150.       Board 1023: MSGH102.BBS
  151.       Board 1024: MSGH102.BBS     ; BUG!  Should be MSGH1024.BBS
  152.  
  153.     So don't use boards above 999 with Ezycom 1.02.
  154.  
  155. -   Fixed internal address matching function so that zone 0 does not
  156.     automatically match. A symptom of this bug was that if there was a
  157.     TWITNAME with an address, then in empty areas (that is without
  158.     msgs) a twit msg would be found. Attempts to view the twit msg
  159.     could result in a crash.
  160.  
  161. -   When entering an area with new mail except for the first msg,
  162.     GoldED sticked to the first, already read, msg instead of jumping
  163.     to the next. This was a long-standing (actually it has always been
  164.     there) cosmetic bug.
  165.  
  166. -   Lastread logic fixed so that the Active/New columns can correctly
  167.     display XX active and XX new instead of XX active and XX-1 new.
  168.  
  169. !   Changed the search text functions (Alt-F and Alt-S) so that they
  170.     only search the visible lines. So if kludges/hidden lines are
  171.     toggled off, they won't be searched.
  172.  
  173. -   The Alt-S search text function has now been made to work like the
  174.     Alt-F function so that they will find text in the same way.
  175.  
  176. +   New keyword: AREAKEEPLAST <yes/no>. Defaults to yes. If enabled,
  177.     GoldED will write the file GOLDLAST.LST in the GOLDPATH at exit
  178.     and read it back when run next time. The contents of the file is a
  179.     list of lastread information for each area as it was at last scan.
  180.  
  181.     This new feature is helpful when you know that there have not been
  182.     tossed new mail and don't want to wait for a full msgbase scan.
  183.     Now you can just hit ESC at the startup screen to abort the area
  184.     scan and GoldED will put up the lastread info from the previous
  185.     session.
  186.  
  187.     It also makes the "new mail since last scan" feature even better,
  188.     because the new mail marker now shows which areas that have new
  189.     mail since last session even when scanning areas at startup.
  190.  
  191. +   Rewrote the Random System code from scratch once again. This time
  192.     it should work better and not require as much memory. The previous
  193.     implementation (the new one in B0822) had severe bugs which caused
  194.     all kinds of strange side-effects everywhere. Also all group items
  195.     were kept in memory, which was not so good for those with large
  196.     collections of origins etc. running the DOS version.
  197.  
  198.     This new implementation has some improvements:
  199.  
  200.     + New ENDGROUP keyword signifies the end of a GROUP. It is not
  201.       necessary to use this at the end of every group, because a new GROUP
  202.       automatically ends the previous, but it should be used at least
  203.       at the end of the last group. If not, then any origin etc.
  204.       defined after the last group will end up in that group and not
  205.       in the global lists.
  206.  
  207.     + New MEMBER keyword replaces the ASSIGNTO keyword. It has the
  208.       same function (to name mail areas which belong to the group),
  209.       but the name is hopefully less confusing. In addition, it is no
  210.       longer required to put the ASSIGNTO/MEMBER keywords at the end
  211.       (after all items) of the group.
  212.  
  213.     Example:
  214.  
  215.       Group Danish:
  216.         Member *_R23.*, *.23?
  217.         Template DANSK.TPL
  218.         LoadLanguage GEDLNGDK.CFG
  219.       Group *
  220.         Origin Yet another forgotten area!
  221.       EndGroup
  222.  
  223.     I hope that these improvements has made the Random System less
  224.     confusing to work with. Let me know if you have suggestions to
  225.     make it better.
  226.  
  227. +   Improved error logging in some places. Added logging of
  228.     user-readable information and advices to some error types.
  229.  
  230. +   The DISPMSGLIST keyword can now also be used in a GROUP, so that
  231.     you can choose which areas that should start in the msg list mode.
  232.  
  233. +   GoldNODE is now more flexible when interpreting the nodelist
  234.     extensions. Previously only ".999" indicated a regularly changing
  235.     numerical extension. Now it will accept ".*" and any number (not
  236.     just 999) as changing numerical extension.
  237.  
  238. +   Added ".RAR" as a predefined FRQEXT.
  239.  
  240. -   Fixed some bugs regarding the "activemsgs" field in the JAM
  241.     msgbase. When deleting a msg, the activemsgs field was not
  242.     updated (decremented). When entering a new msg, the activemsgs
  243.     field was set to the number of scanned msgs+1 (including
  244.     soft-deleted msgs which are displayed by GoldED) instead of
  245.     incrementing the existing value. This could also happen when just
  246.     entering and exiting an area.
  247.  
  248. -   Under certain circumstances the userdefined kludges were not
  249.     correctly identified in msgs.
  250.  
  251. !   Changed default LOGFILE name so that each version has its own
  252.     logfile. These are the new default filenames:
  253.  
  254.     GoldED     : GOLDED.LOG
  255.     GoldED/2   : GED2.LOG
  256.     GoldED/386 : GED386.LOG
  257.  
  258. -   Fixed Ezycom access waiting loop so that it won't just exit if a
  259.     file cannot be opened. This could occur when a file was opened in
  260.     exclusive mode (for example by a tosser in another task/network).
  261.  
  262. +   Updated AREAFILE FastEcho to support 16 aka's instead of only 11.
  263.  
  264. +   GoldED now makes sure its internal copy of GOLDNODE.GXL is
  265.     up-to-date before doing a nodelist lookup. This is relevant when
  266.     nodelists are updated in another task or on another computer in
  267.     a network. Before, the updated nodelist extensions caused nodelist
  268.     details to be missing when doing a nodelist lookup.
  269.  
  270. +   Added new menu item to the arealist scanning menu: "Scan
  271.     Matching". When selected, GoldED will scan those areas that match
  272.     the entered "fuzzy search" string. A new language configuration
  273.     keyword has been added for the new menu item: MI_ScanMatching
  274.     (defaults to "t Scan Matching  ").
  275.  
  276. +   Added new menu item to the arealist scanning menu: "Scan
  277.     Unscanned". When selected, GoldED will scan those areas that have
  278.     not yet been scanned. A new language configuration keyword has
  279.     been added for the new menu item: MI_ScanUnscanned (defaults to "U
  280.     Scan Unscanned ").
  281.  
  282. +   Implemented PCBoard msg writing. The PCBoard support is now fully
  283.     functional for both reading and writing messages. However, see
  284.     the manual for important notes about how GoldED implements PCBoard
  285.     support, including some limitations in the current implementation.
  286.  
  287. -   The registered serial number is no longer displayed with leading
  288.     zeroes in the startup screen.
  289.  
  290. +   Added support for GEcho 1.10.
  291.  
  292. -   The group keyword ATTRIBUTES did not work.
  293.  
  294. +   Added a "function tracking" debugging feature. When an error
  295.     occurs, GoldED now logs a dump of recent function tracking. This
  296.     feature enables me to get more detail about how a bug happened.
  297.     The functions tracked are C/C++ functions in my source code. The
  298.     dump is indented to show how the functions are calling into each
  299.     other. By default GoldED keeps track of the last 50 function
  300.     calls, but that can be changed with the commandline option
  301.     -Z<maxtracked>. Function tracking is enabled by default, but can
  302.     be disabled with commandline parameter -Z0. At this time, the only
  303.     functions tracked are in the internal editor, the Hudson and the
  304.     JAM code.
  305.  
  306. -   GoldED now only logs "unfree'd pointers" after a non-error exit.
  307.     Instead a simple count of those pointers is logged. This stops
  308.     those huge logs when GoldED exits because of some error.
  309.  
  310. -   Fixed some problems which occurred with zero-length messages
  311.     (specifially when searching in them or ROT13'ing them).
  312.  
  313. -   Changing the origin after editing a msg caused a pointer overrun.
  314.  
  315. +   The IF/ELIF conditional statement in GOLDED.CFG now accepts "386"
  316.     as a parameter. Example:
  317.  
  318.     IF DOS
  319.       ORIGIN Running the DOS version!
  320.     ELIF 386
  321.       ORIGIN Running the 386 version!
  322.     ELIF OS/2
  323.       ORIGIN Running the OS/2 version!
  324.     ENDIF
  325.  
  326. -   If EDITMENU was set to NO, it was not possible to enter a msg.
  327.  
  328. -   The syntax "USERNAME name, address" did not work in groups. The
  329.     address was not used.
  330.  
  331. +   Improved error reporting of the internal editor range checks.
  332.  
  333. -   When changing or forwarding a msg using the internal editor, a
  334.     range check "_row > maxrow" error could occur if the cursor (or
  335.     top line) position was in a certain place.
  336.  
  337. -   In the PCBoard support, GoldED had reversed interpretation of the
  338.     PCBSetup setting "Double-Byte Characters (Foreign Systems),
  339.     causing it to display the E3h linefeed characters when the
  340.     setting was "N".
  341.  
  342. -   In *.MSG areas, if a message did no longer exist, GoldED would
  343.     exist with an "open error" instead of rescanning the area as it
  344.     did in previous versions.
  345.  
  346. -   When using copy/move/forward and selecting the destination area
  347.     with "fuzzy search" (causing the arealist to be re-sorted), GoldED
  348.     could return to the wrong area or otherwise perform incorrectly.
  349.  
  350. -   When writing a new msg, the second date field (date arrived) was
  351.     duplicated from the first date field (date written). Not exactly a
  352.     bug, but this change was cosmetically undesirable.
  353.  
  354. -   When moving an unsent message, GoldED would popup a menu and mess
  355.     up the screen behind it.
  356.  
  357. -   The 386 version used the .GED extension for the compiled binary
  358.     configuration files, but it should have been .GEX.
  359.  
  360.  
  361. ----------------------------------------------------------------------
  362. Notes for GoldED 2.50.B0822, BETA release 22. august 1994.
  363. ----------------------------------------------------------------------
  364.  
  365. !   The compiled configuration files have changed extension once
  366.     again. The extensions are now:
  367.  
  368.       .GED  For GoldED.     (DOS)
  369.       .GEO  For GoldED/2    (OS/2)
  370.       .GEX  For GoldED/386  (DOS/386)
  371.  
  372.     Before running this version, I recommend that you clean up by
  373.     doing a DEL GOLD*.G* in your GoldED directory.
  374.  
  375. !   The default of the USEINTL keyword is now "Yes". This makes GoldED
  376.     insert the INTL kludge in all netmail, regardless of whether
  377.     orig/dest zones are different or not. IT IS STRONGLY RECOMMENDED
  378.     *NOT* TO CHANGE THIS!  With the INTL kludge in place, programs
  379.     should never be in doubt about the zone in multi-zone setups.
  380.  
  381. +   New keyword: "KLUDGE <kludge-definition>". The definition may
  382.     optionally be enclosed in quotes. A definition must be enclosed in
  383.     quotes if it contains leading or trailing spaces. The KLUDGE tells
  384.     GoldED which kludges it should consider as "known" in addition to
  385.     the built-in known kludges.
  386.  
  387.     Here are a bunch of examples, most of which are kludges generated
  388.     by the GIGO internet gateway software:
  389.  
  390.       KLUDGE "  "                 ; For wrapped kludges
  391.       KLUDGE "Content-Type:"
  392.       KLUDGE "Date:"
  393.       KLUDGE "From:"
  394.       KLUDGE "In-Reply-To:"
  395.       KLUDGE "Message-Id:"
  396.       KLUDGE "Mime-Version:"
  397.       KLUDGE "Organization:"
  398.       KLUDGE "Newsgroups:"
  399.       KLUDGE "Received:"
  400.       KLUDGE "Reply-To:"
  401.       KLUDGE "Sender:"
  402.       KLUDGE "Subject:"
  403.       KLUDGE "To:"
  404.       KLUDGE "X-FTN-From:"
  405.       KLUDGE "ORIGREF:"           ; Gatebau?
  406.       KLUDGE "ORIGID:"            ; Gatebau?
  407.       KLUDGE "RFC-"               ; Seen in NET_DEV
  408.  
  409.     The kludges defined with KLUDGE are not case-sensitive, but when
  410.     GoldED looks for the kludges, it matches to the exact length. This
  411.     means that for example "RFC-" will match all kludges beginning
  412.     with that string.
  413.  
  414.     The Ctrl-A kludge char should not be included in the definition
  415.     string, but GoldED can handle it if you do.
  416.  
  417. +   Added SOT and EOT as known kludges.
  418.  
  419. +   For *.MSG areas, a popup wait/escape window has been added. It
  420.     pops up when a *.MSG file is unaccessible, such as when another
  421.     program is doing something to it (like a renumber).
  422.  
  423. !   The "Random System" (used in GOLDRAND.CFG) has been rewritten. It
  424.     is now possible to put the Random System definitions in GOLDED.CFG
  425.     and drop GOLDRAND.CFG entirely or even INCLUDE it from GOLDED.CFG
  426.     (a common mistake for new users). You can also keep it in
  427.     GOLDRAND.CFG. If GoldED doesn't find any GROUP statements in
  428.     GOLDED.CFG (or files INCLUDE'd from it), it will automatically
  429.     include GOLDRAND.CFG if there is one.
  430.  
  431.     GoldED no longer writes a binary version of GOLDRAND.CFG, so you
  432.     can delete any GOLDRAND.G* file you might have. The binary version
  433.     is now saved inside GOLDED.G*. It is no longer a problem to edit
  434.     GOLDRAND.CFG while in a shell. Previously that would confuse the
  435.     Random System a lot when returning from the shell.
  436.  
  437.     The rewritten Random System should in every other aspect work like
  438.     the old one. If you find that it works differently, please let me
  439.     know.
  440.  
  441. +   New keyword: "DISPMSGLIST <Yes/No>". Defaults to No. If set to
  442.     Yes, GoldED automatically starts the message lister when entering
  443.     an area.
  444.  
  445. +   New keyword: "JAMPATH <Path>". Defaults to the HUDSONPATH if not
  446.     defined. JAMPATH defines the path where GoldED can access the
  447.     NETMAIL/ECHOMAIL.JAM files, which are used by mail processors to
  448.     find and scan out mail written by users.
  449.  
  450. +   New keyword: "JAMHARDDELETE <Yes/No>". Defaults to No. The default
  451.     setting makes GoldED conform to the JAMAPI specifications when
  452.     deleting msgs in JAM msgbases. This means that deleted msgs are
  453.     only marked as such in the message header, not in the index. As a
  454.     result, GoldED will find and display the deleted msgs until you
  455.     run a message pack utility to physically remove the deleted msgs.
  456.  
  457.     If JAMHARDDELETE is set to Yes, GoldED will zap the reference to
  458.     the message in the index when deleting msgs. This way the deleted
  459.     msgs will not show up again later. The drawback of this approach
  460.     is that it is hard to undelete msgs, and may break other software
  461.     which assume 100% to-the-letter conformance to the specs. Note
  462.     however, that the hard-delete method is transparent to normal use
  463.     of JAM msgbases. Probably the only software that might break are
  464.     undelete utilities.
  465.  
  466.     For the techies and programmers, the hard-delete method is simply
  467.     setting both UserCRC and HdrOffset in the index to 0xFFFFFFFF
  468.     instead of only the UserCRC. According to the JAMAPI specs, a
  469.     value of 0xFFFFFFFF in HdrOffset means that "there is no
  470.     corresponding message header". Sounds remarkably like a deleted
  471.     msg, right? :-)
  472.  
  473. +   New keyword: "INPUTFILE <Filename>". The default is "*.*". Defines
  474.     the default name in the internal editor file import function. This
  475.     keyword can be used on its own or in GROUP's.
  476.  
  477. +   New keyword: "EDITSOFTCRXLAT <Char>". No default. If a translation
  478.     char is defined, GoldED will translate the soft-cr character
  479.     (ASCII 141, HEX 8D) while importing a file in the internal editor.
  480.     Example:
  481.  
  482.       EDITSOFTCRXLAT H
  483.  
  484.     This example for Russians translates the soft-cr to an 'H'.
  485.  
  486. +   New keyword: "MENUDROPMSG <Yes/No>". Defaults to No. Defines the
  487.     default selection in the "Drop This Msg?" menu.
  488.  
  489. +   New keyword: "EDITQUOTEMARGIN <Margin-value>". Defaults to 80.
  490.     Sets the right margin for quoted lines in the internal editor. You
  491.     could set this to the same value as QUOTEMARGIN (default 65), but
  492.     then you won't be able to edit quotes as freely as might be
  493.     desirable.
  494.  
  495. +   New keyword: "INTERNETLOOKUP <Yes/No>". Defaults to No. If set to
  496.     Yes, GoldED will check the systemname in the nodelist when doing a
  497.     lookup and if the systemname looks like an Internet address
  498.     (contains an '@' char), the msg will be addressed to that Internet
  499.     address using the INTERNETGATE name/address if defined.
  500.  
  501.     For example, let's say there was something like this in the
  502.     nodelist:
  503.  
  504.       ,999,somebody@somewhere,Whereever,Some_Body,...
  505.  
  506.     And this in my GOLDED.CFG:
  507.  
  508.       INTERNETLOOKUP Yes
  509.       INTERNETGATE 2:230/9316
  510.  
  511.     Then if I did a lookup of "Some Body" and selected the entry with
  512.     the Internet address, GoldED would make a msg looking like this:
  513.  
  514.       --------------------------------------
  515.       From : odinn@winboss.dk     2:236/77
  516.       To   : somebody@somewhere   2:230/9316
  517.       Subj : whatever
  518.       --------------------------------------
  519.  
  520.     Or if my gate was defined as "INTERNETGATE UUCP 2:230/9316":
  521.  
  522.       --------------------------------------
  523.       From : odinn@winboss.dk     2:236/77
  524.       To   : UUCP                 2:230/9316
  525.       Subj : whatever
  526.       --------------------------------------
  527.       To: somebody@somewhere
  528.  
  529.     So what's the use of all this?  It allows you to make a
  530.     nodelist-style list of users with Internet addresses and use it
  531.     with GoldED so that you can do a lookup of normal names instead of
  532.     trying to remember strange Internet addresses. Of course something
  533.     similar could be done using the ADDRESSMACRO's, but with the
  534.     nodelist approach, you could build a "network" of users which have
  535.     offline Internet access via FTN-gate software and distribute the
  536.     nodelist for automatic processing.
  537.  
  538. +   New keyword: "ATTRIBSATTACH <Attributes>". No default. Defines a
  539.     set of message attribute which will be added to the message when
  540.     the file attach attribute is toggled on.
  541.  
  542. -   Many causes of "Range Check" problems in the new internal editor
  543.     (EDITORVERSION 2) have now been fixed. I won't call it "rock
  544.     steady" yet, but it seems to work more stable now. Time and
  545.     testing will tell.
  546.  
  547. +   The block functions in the new internal editor are now at last
  548.     completed and working as in the old internal editor.
  549.  
  550.     A new EDITcopy block key command has been added. It copies the
  551.     marked block to the paste buffer like the EDITcut command, but
  552.     does not cut it from the message afterwards.
  553.  
  554.     A new EDITcopyabovechar key command has been added. It copies the
  555.     character above the cursor and inserts it at the cursor position.
  556.     QEdit users probably recognize this as the "GetPrev" command.
  557.     Recommended key assignment is Ctrl-minus (^-).
  558.  
  559. +   For consistency, the following keycommands have been renamed:
  560.  
  561.       Old: READgotodownlink   New: READgotoreplyprev
  562.       Old: READgotouplink     New: READgotoreplies
  563.  
  564.     A new has been added: READgotoreply1st. It goes to the reply1st
  565.     link, if it exists, regardless of how many links that may exist
  566.     (JAM/Squish only). It was added because a need arose for a way to
  567.     avoid the reply selection menu and just read straight through a
  568.     reply chain.
  569.  
  570.     So in summary, we now have four different replylink related keys:
  571.  
  572.       READgotoreplies     (popup menu if two or more replies)
  573.       READgotoreply1st    (to first replylink)
  574.       READgotoreplynext   (to next reply, JAM only)
  575.       READgotoreplyprev   (to the msg this is a reply to)
  576.  
  577.     I hope this covers everything :-)
  578.  
  579. -   The OS/2 version of GoldED 2.50.A0531 had a very nasty bug which
  580.     could cause msgbase corruption if writing a msg in a JAM or Hudson
  581.     area while another user (or mail processor) wrote a msg in the
  582.     same area before you saved your msg. The bug was located to the
  583.     Borland C++ for OS/2 standard library, which has a bad
  584.     implementation of the filelength() function. It uses an OS/2 API
  585.     function to get the length, but that API function does not work
  586.     correctly when the file is opened in a sharing mode and another
  587.     program changes the file length. The bug is present in both
  588.     version 1.01 and 1.5 of Borland C++ for OS/2.
  589.  
  590.     I have implemented a replacement filelength() function which has
  591.     been tested to work correctly.
  592.  
  593. -   Interpretation of addresses for nodelist lookup was a bit messed
  594.     up, causing some lookups to begin at zone 0.
  595.  
  596. -   There was a memory leak in crossposting and when crossposting the
  597.     lastread got zapped.
  598.  
  599. -   Fixed AREAFILE LoraBBS support, which did not work at all.
  600.  
  601. +   Re-added detection of RA2. Detection was removed at some point in
  602.     2.50.alpha, but I can't remember why I did such a stupid thing..
  603.  
  604. -   A bug in the AREAS.BBS handling could cause crashes or protection
  605.     violations. I frankly wonder how it could work at all before :-/
  606.  
  607. !   The AREAFILE functionality is now back inside GoldED again. The
  608.     GoldCVT utility which was included in previous 2.50.alphas as a
  609.     replacement for AREAFILE has been temporarily put on ice at least
  610.     until GoldED and GoldCVT can work 100% transparently together.
  611.  
  612. +   Added new sort criteria 'F' for the AREALISTSORT keyword. Example:
  613.  
  614.       AREALISTSORT F
  615.  
  616.     This example would cause GoldED to sort the arealist so that all
  617.     areas that match the entered "fuzzy" string come first. See below
  618.     for a more verbose example.
  619.  
  620. +   Added new sort criteria 'M' for the AREALISTSORT keyword. Example:
  621.  
  622.       AREALISTSORT M
  623.  
  624.     This example would cause GoldED to sort the arealist so that all
  625.     marked areas come first.
  626.  
  627. +   Added new sort criteria 'Y' for the AREALISTSORT keyword. Example:
  628.  
  629.       AREALISTSORT Y
  630.  
  631.     This example would cause GoldED to sort the arealist so that all
  632.     areas with unread mail come first (the effect of the new 'Y'
  633.     criteria). The criteria does not work well when used alone, so add
  634.     some other criterias to get a better sort. I personally use "YTUE"
  635.     to get all unread mail at the top (Y), with the unread mail sorted
  636.     into groups of area type (T), with each group sorted by number of
  637.     unread mail (U) and finally by echoid (E).
  638.  
  639. *   Lately I have added some improvements to the arealist sorting.
  640.     There are now three new sort-specs for AREALISTSORT:
  641.  
  642.         F   Sorts all "fuzzy search" matches first.
  643.         M   Sorts all marked areas first.
  644.         Y   Sorts all areas with "new" mail first.
  645.  
  646.     In practice 'M' and 'Y' will usually give the same result, because
  647.     GoldED automatically marks scanned areas if they contain new mail.
  648.  
  649.     I now sort my areas like this: "AREALISTSORT FYTUE". This puts all
  650.     areas with new mail first, then sorts these into type
  651.     (net/echo/local), then into number of new msgs and finally into
  652.     echoid. The 'F' at the start enables fuzzy match sorting, which is
  653.     very handy when looking for an echoid containing a particular
  654.     word. Let's say I want a list of all GOLDED echoes. I can now
  655.     simply type "GOLDED" and then the arealist automagically sorts
  656.     itself so that all echoes with an echoid containing "GOLDED" comes
  657.     first :-)
  658.  
  659. +   Added new experimental feature: A mark in the arealist for areas
  660.     where there is new mail since last scan. This is useful when
  661.     running GoldED for long periods of time under a multitasker. When
  662.     new mail comes in, it's handy to see which areas new mail was
  663.     tossed to. The mark is a '*' char which is placed to the right of
  664.     the number in the "New" column. The placement and character will
  665.     probably be changed in the future. Let me know what you think.
  666.  
  667. -   If the main ADDRESS was a point address, the point number was
  668.     sometimes added to following AKA's with non-point numbers.
  669.  
  670. -   The border/overscan color should now at last be set correctly.
  671.  
  672. -   The internal editor file import function has been slightly
  673.     improved. It will no longer attempt to look in the GOLDPATH if the
  674.     file is not found in the current dir. If the file is not found, a
  675.     popup warning will appear to inform the user of the fact.
  676.  
  677. -   In the arealist, if more than 50 characters were typed in the
  678.     quick find ("fuzzy") field, the area description at the cursor bar
  679.     was added, causing a slightly messed up screen.
  680.  
  681. -   When replying to a msg where aka matching was used, aka matching
  682.     would stop working and get "stuck" with the last match.
  683.  
  684. -   Copying a msg in a Squish area to the same area caused GoldED to
  685.     report that the area was locked.
  686.  
  687. -   It was not possible to define hi-bit characters as keys in
  688.     GOLDKEYS.CFG.
  689.  
  690. -   The color palette is now restored after a shell.
  691.  
  692. -   In the msg lister, the feature to go directly to an entered msg
  693.     number was broken.
  694.  
  695. -   When changing a msg, the MSGID had a tendency to replicate, if a
  696.     domain was used in the address.
  697.  
  698. -   Corrected some potential msg date problems for years >= 2000.
  699.  
  700. +   NEW!  Search strings are now highlighted in the message text!
  701.     To set a special highlight color use: COLOR READER HIGHLIGHT. This
  702.     particular color has not previously been active.
  703.  
  704. +   The PCBoard msgbase format is now supported!  At this point,
  705.     however, only mail reading is supported. You can't write msgs yet.
  706.     GoldED can get area configuration directly from the PCBoard setup
  707.     if you use "AREAFILE PCBoard [path]", but you may prefer to define
  708.     areas manually with the AREADEF keyword, like this:
  709.  
  710.       AREADEF MAIN "Main board" 0 Echo PCB C:\PCB\MAIN\MSGS
  711.  
  712.     In a later release, I plan to support the area configurations of
  713.     FidoPCB and QFront (when I get the structs, hint hint ;-).
  714.  
  715.     Support for writing msgs will be added as soon as possible.
  716.     
  717. -   If some types of template tokens were used in the language strings
  718.     MS_AutoAttachMsg, MS_AutoRequestMsg or MS_AutoUpdreqMsg, a pointer
  719.     overrun or page fault could occur. Long-standing problem. In
  720.     earlier versions of GoldED, this could result in strange crashes.
  721.  
  722. -   Speeded up JAM scan some more. The .JLR file was opened twice.
  723.  
  724. !   It is no longer possible to use address masks such as "ALL",
  725.     "WORLD", "MYNET", "NCxxx" etc. Instead of "ALL", use '*'.
  726.  
  727.  
  728. ----------------------------------------------------------------------
  729. Notes for GoldED 2.50.A0531, ALPHA release 31. may 1994.
  730. ----------------------------------------------------------------------
  731.  
  732. -   If a domain was used in an ADDRESS or AKA, the '@' character could
  733.     be doubled, tripled or worse.
  734.  
  735. -   Hudson "61166" bug found and fixed!
  736.  
  737. -   Speeded up Squish scan a bit.
  738.  
  739. -   JAM areas were double-scanned and lastreads saved after scanning,
  740.     thereby slowing down scanning a whole lot. Not so noticable with a
  741.     good cache, but measurable. Watch it zip through 'em now! :-)
  742.  
  743. -   Toggle marked msgs did not work.
  744.  
  745. -   Renumber in a *.MSG area did not work 100% correct.
  746.  
  747. -   Marking a range of msgs caused a pointer overrun and crashes.
  748.  
  749. -   In GoldNODE, the indexing of some types of names in USERLIST files
  750.     was not working correctly. Long-standing problem.
  751.  
  752. -   In GoldCVT, the QuickBBS converter was broken.
  753.  
  754. -   When replying to another area (Alt-N), GoldED did not look at the
  755.     AREA: kludge if it was there.
  756.  
  757. -   When printing msgs, an extra formfeed was output.
  758.  
  759. -   If a destination address without a zone was entered manually in
  760.     the header, GoldED would ask about zonegating.
  761.  
  762. -   GoldNODE did not correctly handle NODEPATH and TEMPPATH without a
  763.     trailing backslash.
  764.  
  765. -   The new language keyword HD_OF did not work.
  766.  
  767. -   In areas with zero or one msgs, the popup "goto next area" menu
  768.     did not accept the Right key as "yes".
  769.  
  770. -   When running GoldED in a Windows DOS box, there was a large
  771.     blinking block cursor at the bios cursor position.
  772.  
  773. +   Bowing to a large number of user requests, the statusline clock is
  774.     back as an option. New keyword: STATUSLINECLOCK <yes/no>. Defaults
  775.     to "no". In this release, the clock is only updated when the
  776.     statusline is updated (usually when keys are pressed), and stands
  777.     still when not. In a later release, I'll add some optional timer
  778.     trickery so that it will be updated continuously (at the expense
  779.     of performance under multitaskers). No promises when that will
  780.     happen.
  781.  
  782.  
  783. ----------------------------------------------------------------------
  784. Notes for GoldED 2.50.A0528, ALPHA release 28. may 1994.
  785. ----------------------------------------------------------------------
  786.  
  787. *   Not a bug: The Drop anchor, Cut and Paste functions of the
  788.     internal editor do not work. They were never finished for the new
  789.     editor, so I had to disable them. They will be finished soon.
  790.  
  791. !   The bugs in the Hudson msgbase handling are still not located. I
  792.     have added some debugging lines that log some hopefully useful
  793.     data about the Hudson files. To enable the debugging, run GoldED
  794.     with parameter -H. For debugging purposes, I have changed things
  795.     back so that the number 61166 will be displayed again in the
  796.     arealist, if the problem is still there.
  797.  
  798.     If GoldED handles your Hudson areas strangely, please run GoldED
  799.     with Hudson debugging (-H parameter) and send me the relevant
  800.     GOLDED.LOG parts and describe what you did.
  801.  
  802. -   The internal default for EDITMSGSIZE was wrong and caused GoldED
  803.     to display empty msgs (DOS) or exit with an out of memory error
  804.     (386 and OS/2).
  805.  
  806. -   In the EDITSAVEMENU, if an irrelevant key such as Insert was
  807.     pressed at the menu, it would enter an infinite loop of opening
  808.     and closing the menu and the quit msg menu.
  809.  
  810. -   In GoldCVT, the types that read an AREAS.BBS in addition to their
  811.     own setup (such as FrontDoor), didn't get the echoes correctly
  812.     from AREAS.BBS.
  813.  
  814. -   In Squish areas, the msg's own number sometimes occurred in the
  815.     replylink list. This was due to a change in the MsgAPI of Squish
  816.     1.10, which reduced the number of replylinks from 10 to 9, and the
  817.     extra number was used to store the msg own number (UMSGID). GoldED
  818.     is now updated according to the new MsgAPI specs as documented in
  819.     the SQDEV200 Squish Developers Kit.
  820.  
  821. -   Searching in just the header (Alt-Z) crashed GoldED.
  822.  
  823.  
  824. ----------------------------------------------------------------------
  825. Notes for GoldED 2.50.A0526, ALPHA release 26. may 1994.
  826. ----------------------------------------------------------------------
  827.  
  828. +   Speeded up JAM scan a bit. The .JDT file is no longer opened when
  829.     just scanning areas.
  830.  
  831. +   Commandline parameter "-X" added to disable the memory debugging.
  832.     By default GoldED enables extensive memory handling debugging, but
  833.     it slows down execution. When not testing, you might want to use
  834.     this parameter. As a bonus, if memory debugging is turned off,
  835.     GoldED uses less memory.
  836.  
  837. -   The attribute item in the EDITSAVEMENU (the menu after you save
  838.     your msg) as buggy. If you used it, GoldED would mess up its
  839.     windows and crash or freeze the system.
  840.  
  841. -   Due to bugs in the code rewritten to interface with the new
  842.     swapper, parameters to an external editor or utility were not
  843.     passed correctly.
  844.  
  845. -   The file request menu would select both any selected files *and*
  846.     the file the cursor pointed to, if the INBOUNDPATH was incorrect
  847.     (so that a FILES.BBS could not be opened/created there). Fixed. In
  848.     addition, a popup warning has been added to inform the user of the
  849.     problem.
  850.  
  851. -   For some Hudson/Goldbase users, GoldED displayed silly numbers
  852.     like 61166 for both "Msgs" and "New" in the arealist. I have
  853.     discovered the reason for the number, but I'm still baffled as to
  854.     why the situation could occur at all. It never happened here, and
  855.     from looking at the code, it should only be able to happen if
  856.     somehow it was not possible to read the MSGINFO file from disk. I
  857.     can't say that I have actually fixed the bug, but I have made sure
  858.     that the 61166 number will no longer be involved. If the bug is
  859.     still there, zeroes will be displayed instead. Let me know.
  860.  
  861. -   The Hudson/Goldbase code was incorrectly compiled without
  862.     optimization. This only made it run a bit slower.
  863.  
  864.  
  865. ----------------------------------------------------------------------
  866. Notes for GoldED 2.50.A0525, ALPHA release 25. may 1994.
  867. ----------------------------------------------------------------------
  868.  
  869. *   The name of the DOS extended 32-bit version has been changed from
  870.     "GoldED/P32" to "GoldED/386". This is easier to understand and
  871.     similar to the costum of most other programs that are compiled for
  872.     the 386 processor. The GoldED/386 EXE file is now named GED386.EXE
  873.     and GoldNODE/386 is named GN386.EXE.
  874.  
  875. !   Non-english speaking users with special language setups: There are
  876.     probably still some language specific string which I have not made
  877.     configurable yet. If you find any, please report them to me, just
  878.     in case I have overlooked them.
  879.  
  880. !   The shell swapper for the DOS version (EXEC 3.0) has been replaced
  881.     with a newer version (EXEC 3.3), which will hopefully remove the
  882.     reported problems with shelling in previous versions.
  883.  
  884.     As a new feature, you can now execute batchfiles (both BAT and
  885.     BTM) directly without specifying the command processor. If you
  886.     need to run an internal command processor command (such as DIR),
  887.     you can now specify "/c command" to call the command processor for
  888.     the command, instead of specifying the command processor itself.
  889.  
  890.     NOTE: If not enough EMS or XMS memory could be allocated for
  891.           swapping, the disk swapfile will be put in the path there
  892.           the environment variable TMP or TEMP points, or in the
  893.           current directly if they are not defined. In this release,
  894.           the GOLDED.CFG SWAPPATH is not used for swapping.
  895.  
  896.     NOTE: The new swapper has not been tested very thoroughly in
  897.           GoldED, so if you notice any problem, let me know.
  898.  
  899. +   Added two new language strings: ST_STATUSLINEHELP (default "F1
  900.     Help") and HD_OF (default "of"). The first is the string displayed
  901.     instead of the GoldED name and version in the statusline if the
  902.     new keyword STATUSLINEHELP is set. The second is the word "of", as
  903.     used in the header (msg xx of yy).
  904.  
  905. -   Made adjustments to the quote reflow function, so that it will not
  906.     scramble tables nearly as much as before. It will attempt to
  907.     detect when lines begin with the same two characters (for tables,
  908.     typically a line char and a space). This will also help with
  909.     indented text that is hard terminated on each line.
  910.  
  911. +   When writing marked msgs to a file, GoldED will now insert a
  912.     formfeed (ASCII 12) character between each msg in the output file.
  913.     This should aid importing of the mail into Lotus Notes.
  914.  
  915. -   Internal editor: If a line was almost as wide as the margin and
  916.     Ctrl-Right (WordRight) was pressed at the last word on the line,
  917.     the editor would report a Range Check error. Fixed.
  918.  
  919. -   Fixed bug in reading of Ezycom msg attributes. The Netmail Pending
  920.     attribute was not read correctly, which could cause an unsent msg
  921.     to be marked as if was sent, except the Snt attribute was missing.
  922.  
  923. -   Fixed the broken crossposting. Carbon Copy was tested and appears
  924.     to work correctly.
  925.  
  926. +   GoldCVT can now convert the PCBoard area configuration and create
  927.     a set of AREADEF statements for the boards. GoldED does not yet
  928.     support the PCBoard msgbase format, so these definitions will be
  929.     ignored in this version. I plan to add conversion of FidoPCB and
  930.     QFront in a future version of GoldCVT.
  931.  
  932. -   Fixed a few bugs in the new Squish code. Copying marked msgs to an
  933.     empty (no msgs, not even deleted) Squish area caused GoldED to
  934.     crash. Scanning Squish areas caused protection violations in the
  935.     OS/2 version and instability and strange crashes in the DOS
  936.     version.
  937.  
  938.  
  939. ----------------------------------------------------------------------
  940. Notes for GoldED 2.42.A0507, ALPHA release 7. may 1994.
  941. ----------------------------------------------------------------------
  942.  
  943. *   Some notes for this alpha have been edited for the later
  944.     release(s). The alpha was extremely narrowly distributed, so don't
  945.     worry if you never heard of it...
  946.  
  947. !!! WARNING !!! - Crossposting is BROKEN in this release. I have not
  948.     had time to fix it yet. I'm not sure if the bugs can cause harm to
  949.     msgbases, but since they can crash GoldED, it's possible. DO NOT
  950.     USE CROSSPOSTING WITH THIS RELEASE !!!
  951.  
  952.     I haven't tested Carbon Copy lately, but it may also be affected.
  953.     Be careful if you try it.
  954.  
  955. !   Default for EDITCRLFTERM keyword changed. GoldED will now by
  956.     default only terminate lines (paragraphs) with a single CR instead
  957.     of a CR+LF combination.
  958.  
  959. !   The functionality of the AREAFILE keyword has been removed from
  960.     the main GoldED program. Instead that functionality is provided by
  961.     a separate utility program called GoldCVT. Unless all your areas
  962.     are defined with AREA or AREADEF keywords, you will have to run
  963.     the GoldCVT program and add one or more lines in your GOLDED.CFG
  964.     or GOLDAREA.CFG (if you have one). Please run the GoldCVT program
  965.     without parameters to see the commandline syntax and what to add
  966.     in your config files.
  967.  
  968.     The AREAFILE keyword is currently non-functional - it is accepted
  969.     but ignored by GoldED. In a later release, I plan to make GoldED
  970.     optionally call the GoldCVT utility and automatically include the
  971.     output file from GoldCVT as area configuration.
  972.  
  973.     The reason for making the AREAFILE functionality external is that
  974.     very often, new versions of these programs come out with changed
  975.     config structs, or new programs come out and need to be supported.
  976.     Since GoldED is usually not ready to be (re-)released every time a
  977.     new version or new program comes out, GoldCVT program allows me to
  978.     release a new version of just that and not a complete GoldED.
  979.  
  980.     GoldCVT contains new or updated support for FastEcho 1.41, FMail
  981.     0.98, IMAIL 1.50, InterMail 2.27, LoraBBS, QuickBBS (goldbase) and
  982.     minor fixes or modifications to many of the other supported
  983.     configurations.
  984.  
  985.     The first release of GoldCVT is not very smart. It simply converts
  986.     all the areas it can find. It does not exclude/include areas and
  987.     does not sort the areas before writing them to the output file. It
  988.     does not support drive remapping. It _does_ format the output
  989.     nicely in straight columns for easy viewing or manual sorting. If
  990.     it can't determine an address for an area, it uses '.' (dot)
  991.     instead, which GoldED translates to the main ADDRESS in
  992.     GOLDED.CFG. Obviously there is room for improvement, and later
  993.     there will be. For now, it works fairly well.
  994.  
  995.     NOTE: Not all the supported configurations in GoldCVT have
  996.           actually been tested, or have not been tested lately. If you
  997.           find one that does not seem to work, please report it to me.
  998.           Give me sample configuration files if necessary.
  999.  
  1000.     GoldCVT has it's own logfile, GOLDCVT.LOG. Currently the logfile
  1001.     is only used if some problem with memory was detected. If you
  1002.     encounter a problem which causes log to be generated, please send
  1003.     me a report and the relevant log cut.
  1004.  
  1005.     See also GOLDCVT.DOC for more details.
  1006.  
  1007. !   The msgbase code has been almost completely rewritten.
  1008.  
  1009.     The Squish code was 100% rewritten - the original Squish MSGAPI is
  1010.     no longer used. The new Squish code is 100% compatible and has
  1011.     improvements in the automatic "max msgs" msg re-use feature, so
  1012.     that the .SQD file does not grow nearly as much as the original
  1013.     Squish MSGAPI allows it to. It also maintains the .SQI index file
  1014.     better.
  1015.  
  1016.     The *.MSG (FTS-1/Opus) code was rewritten for better scanning
  1017.     speed. The lastread file now uses a 2-byte record for the lastread
  1018.     number instead of a 4-byte record. This may affect multi-user
  1019.     setups if *.MSG areas are shared. If this is the case, make sure
  1020.     all users have read all the msgs in *.MSG areas before switching
  1021.     to this release, otherwise the lastreads might seem to be messed
  1022.     up a bit. Maximus userfile wildcard lookups is now supported in
  1023.     *.MSG echo/local areas.
  1024.  
  1025.     JAM areas no longer need SHARE loaded or "SHAREMODE 0" in
  1026.     single-user setups.
  1027.  
  1028.     Hudson/Goldbase now use a completely different scanning method. It
  1029.     is not as quite fast as the fastest old methods, but more flexible
  1030.     (at least for me as programmer ;-)  The new scanning method scans
  1031.     each area in turn and not all areas at the same time. This is the
  1032.     same way all other formats are scanned. The board numbers in
  1033.     MSGIDX are no longer checked as mentioned for an earlier release,
  1034.     but this scanning method is not affected by invalid board numbers.
  1035.  
  1036.     The Ezycom userfile is now supported for wildcard lookups in
  1037.     echo/local areas.
  1038.  
  1039.     For all formats, improvements were made for better and safer use
  1040.     with networks and multitasking. Share/lock capability is now
  1041.     determined for all msgbases by attempting to lock a temporary file
  1042.     in the GOLDPATH.
  1043.  
  1044.     NOTE: While the rewritten msgbase code has been tested by me and
  1045.           seems to work well on my system, there may still be bugs
  1046.           left to find. In a worst-case scenario, your msgbase or
  1047.           msgbases could be trashed or damaged, maybe beyond repair.
  1048.           Damage may not make your msgbase(s) completely unreadable or
  1049.           unfixable, but irrecoverable damage may occur to specific
  1050.           msgs. In my own testing, I have _very_ _rarely_ trashed a
  1051.           msgbase completely, so I consider the new code fairly safe
  1052.           at this time.
  1053.  
  1054.     NOTE: The Ezycom code has not been tested much, since I don't use
  1055.           Ezycom myself. Let me know of any problems.
  1056.  
  1057. !   With the new rewritten msgbase code, it was finally possible to
  1058.     rewrite the copy/move function. As you probably know, copying or
  1059.     moving many marked msgs was done v--e--r--y slowly. This was due
  1060.     to the fact that an inefficient program structure forced GoldED to
  1061.     open, scan and close the source and destination areas for each and
  1062.     every msg copied or moved. Naturally this was extremely slow. Well
  1063.     no longer!  Now GoldED can simply open both the source and
  1064.     destination areas and copy or move very very much faster :-)
  1065.  
  1066. +   Improved quoting of msgs with internet addresses in the TO: or
  1067.     FROM: fields in the header. Specifically, the initials in the
  1068.     quote string is only taken from the part of the internet address
  1069.     _before_ the '@' character. The template tokens now detect the
  1070.     name "UUCP" in the TO: header field and automatically replace it
  1071.     with the internet address in the TO: line.
  1072.  
  1073. +   New keyword: INTERNETGATE [gatename<,>]<address>. Defines the
  1074.     local internet gate you use when sending netmail to internet
  1075.     users. This option is activated when you write an internet address
  1076.     in the TO: field in the header display. GoldED detects the
  1077.     internet address by looking for the '@' character. If detected,
  1078.     GoldED puts the gate address from INTERNETGATE in the TO: address
  1079.     field. If you have defined the optional gate name (typically
  1080.     UUCP), GoldED also replaces the typed internet address with the
  1081.     gate name and puts the internet address in a TO: line in the
  1082.     message body. Some gate software accepts the internet address
  1083.     directly in the header, while other software may need the special
  1084.     (UUCP) name and a separate TO: line. Examples:
  1085.  
  1086.       INTERNETGATE UUCP, 1:105/42     ; Standard, with gate name
  1087.       INTERNETGATE 2:230/9316         ; My uplink runs GIGO software
  1088.  
  1089.     The INTERNETGATE keyword can be used either globally in
  1090.     GOLDED.CFG, if you only ever use one gate, or in GROUP's for
  1091.     specific areas in GOLDRAND.CFG if you have multiple netmail areas
  1092.     and regularly use more than one gate.
  1093.  
  1094. +   New keyword: INTERNETREPLY <yes/no>. Default is Yes. When
  1095.     INTERNETREPLY is enabled, GoldED always uses the FSC-35
  1096.     REPLYADDR/REPLYTO kludges to gate replies to msgs from internet
  1097.     correctly. If disabled, GoldED only uses the FSC-35 method if the
  1098.     internet address is too large to fit in the max-35-character TO:
  1099.     header field. Some gate software requires that the FSC-35 method
  1100.     is used, while other software accepts internet addresses directly
  1101.     in the header.
  1102.  
  1103. +   GoldED can now display more than one reply link message number in
  1104.     the header display for those formats that support it (JAM and
  1105.     Squish). Usually all links can be displayed, but the the numbers
  1106.     are long and/or there are many links, the layout of the header
  1107.     display may cause some link numbers to be overwritten by the
  1108.     attributes display. In order to make the most of the limited space
  1109.     up there, a slightly more compact layout is used for the link
  1110.     number display.
  1111.  
  1112. +   Added a replies selection menu like the one in timEd. In JAM or
  1113.     Squish msgbases, GoldED will now show a menu of replies to the
  1114.     current msg, if there is more than one reply to it. This works
  1115.     similar to the one implemented in timEd, but this one is much
  1116.     better. In addition to message number and name, it also shows the
  1117.     origin address and message date/time.
  1118.  
  1119.     The Squish format supports up to 10 replies to a msg, but the
  1120.     built-in linker in SquishMail (1.0x) does not support it (but 1.10
  1121.     does). You might want to try 3rd party programs such as SQLink or
  1122.     QQLink, which links based on the MSGID/REPLY kludges instead of,
  1123.     or in combination with, subject linking.
  1124.  
  1125.     The JAM format uses a tree-like replylinking method, which is not
  1126.     limited to a specific number of replies. JAM linkers by definition
  1127.     links on MSGID/REPLY kludges.
  1128.  
  1129.     The other formats (*.MSG, Hudson/Goldbase and Ezycom) do not
  1130.     support multiple replylinks.
  1131.  
  1132. !   The keyboard code has been rewritten to remove so-called "polling
  1133.     loops". GoldED now only uses "blocking" keyboard calls. This
  1134.     improves performance in multitasking environments, and eliminates
  1135.     the need for "timeslicing" (GoldED uses 0% CPU when waiting for
  1136.     keys). The only drawback is that the time dependent functions in
  1137.     GoldED had to be removed. This includes the clock in the
  1138.     statusline, the timeout exit, the screenblanker (no more "Midnight
  1139.     Bug"! :-) and the editor backup autosave. The editor autosave will
  1140.     be re-implemented in a different way in a later release, but the
  1141.     rest will probably not. Anyway, there are many TSR's out there
  1142.     which can give you nice clocks and screenblankers if you need it.
  1143.  
  1144. +   New keyword: STATUSLINEHELP <yes/no>. Default: No. If enabled,
  1145.     GoldED will replace the "logo" in the left side of the statusline
  1146.     with a text saying "F1 Help". This is for use in "point package"
  1147.     setups where the user may be a complete novice, maybe even to
  1148.     computers, and who needs to be guided to the help screens. In a
  1149.     later release, the actual "F1 Help" text will be made
  1150.     configurable.
  1151.  
  1152. !   The help screen has been expanded to fill the entire screen. This
  1153.     makes it possible to write a better online help. The existing help
  1154.     files will still work, but will look bad with the new help screen.
  1155.     A new preliminary example help file with better layout has been
  1156.     provided.
  1157.  
  1158. !   The soundcard (SB, SBPRO etc.) support has been removed. I cannot
  1159.     support and fix it well enough at this time, so I prefer to just
  1160.     remove it. Multimedia features will return some day, when more
  1161.     important and relevant features have been done first...
  1162.  
  1163. !   The ANSI screen output mode has been removed. Too slow to be
  1164.     useful. Too buggy. Wasted bytes in the exe file.
  1165.  
  1166. !   There is now again only one version of the internal editor in
  1167.     GoldED. The old editor was removed to save space and to force me
  1168.     to do something about the new editor. Some minor fixes have been
  1169.     made to the new internal editor, but it still does not work
  1170.     perfectly. It WILL be fixed completely before the next full public
  1171.     release. The EDITORVERSION keyword is now obsolete, but will be
  1172.     maintained for a while, just in case...
  1173.  
  1174. +   New keyword: LOGFORMAT <fd,max,bink,qbbs,db>. Default is "fd"
  1175.     (FrontDoor-style). Defines the log format GoldED should use when
  1176.     writing to the logfile.
  1177.  
  1178. +   Enhanced logging of memory errors. This release contains special
  1179.     memory debugging code, which traces and checks memory allocations.
  1180.     If a problem is detected, GoldED write in the log file about it.
  1181.     The data written in the log provides me, the author, this vital
  1182.     information about the problem, and often enables me to find the
  1183.     bug fairly quickly. However, it probably does not tell you, as the
  1184.     user, anything useful. Just send the log to me with a report about
  1185.     that happened and what you were doing, and I will see what I can
  1186.     do.
  1187.  
  1188.     NOTE: The memory debugging code slows GoldED down a bit. In a
  1189.           later release, there will be an option to turn off most of
  1190.           the debugging for better speed.
  1191.  
  1192. +   For a demo pre-view of the upcoming "main menu" (not setup), add
  1193.     this line to your GOLDKEYS.CFG:
  1194.  
  1195.       ^M          READmainmenu
  1196.  
  1197.     Then press Ctrl-M when in reader mode.
  1198.  
  1199. -   The MSGID address interpreter code assumed that the address was a
  1200.     FidoNet-style address if it started with a non-zero number.
  1201.     Unfortunately some internet-style addresses also start with a
  1202.     non-zero number. The code is now changed so that it assumes a
  1203.     FidoNet-style address if it starts with a non-zero number _and_
  1204.     the first character after the number is a ':' (indicates a
  1205.     FidoNet-style zone).
  1206.  
  1207. -   Aka matching now works with carbon copies.
  1208.  
  1209. -   The exit errorlevels were not set for JAM areas.
  1210.  
  1211. -   If there was a FLAGS kludge in a msg you replied to, GoldED would
  1212.     mistakenly also treat it as if it was a REPLYADDR kludge and added
  1213.     an internet-style TO: line at the top of the reply msg.
  1214.  
  1215. -   The message attributes in the Hudson/Goldbase msgbase were mixed
  1216.     up a bit. This caused mail processors such as GEcho to (very
  1217.     correctly!) report unreliable data in NETMAIL.BBS or ECHOMAIL.BBS.
  1218.  
  1219. -   The DOS version had a problem in the arealist, where it could put
  1220.     garbage (harmless) on the screen if you paged down, then cursored
  1221.     down and then paged up twice.
  1222.  
  1223. -   The DOS and 386 versions did not reset the cursor correctly at
  1224.     exit. On some setups, this could produce a large block cursor.
  1225.  
  1226. -   The internet fix for the addressmacros unfortunately broke the
  1227.     normal functionality.
  1228.  
  1229.  
  1230. ----------------------------------------------------------------------
  1231. Notes for GoldED 2.42.A0321, ALPHA release 21. march 1994.
  1232. ----------------------------------------------------------------------
  1233.  
  1234. *   Some notes for this alpha have been edited for the later
  1235.     release(s). The alpha was fairly narrowly distributed, so don't
  1236.     worry if you never heard of it...
  1237.  
  1238. !   The GoldED nodelist index now supports up to 65500 nodes in all
  1239.     versions, including the regular DOS version!  Hopefully it will
  1240.     take a few years before anyone hits that limit! :-)
  1241.  
  1242.     The new index is not 100% compatible with the old indexes, so I
  1243.     have changed the index file extensions once again. These are the
  1244.     new nodelist index files:
  1245.  
  1246.       GOLDNODE.GXA    Address index (index into .GXN).
  1247.       GOLDNODE.GXL    List of nodelist files + timestamps.
  1248.       GOLDNODE.GXN    Name index.
  1249.  
  1250.     The old index files are obsolete and should be deleted to save
  1251.     space. This NOT done automatically. These are the files that
  1252.     should be deleted:
  1253.  
  1254.       GOLDNODE.?IX    (.AIX .LIX .NIX)  Old 16-bit indexes.
  1255.       GOLDNODE.IX?    (.IXA .IXL .IXN)  Old 32-bit indexes.
  1256.  
  1257.     The new index is a hybrid of these two. It's a 16-bit index (.GXA
  1258.     contains index values in the range 0-65499 which fit into a 16-bit
  1259.     unsigned integer), but uses the same name index (.GXN) and list of
  1260.     nodelists (.GXL) as the 32-bit index. The advantage of staying
  1261.     with the 16-bit index is that it uses less memory in the regular
  1262.     DOS version.
  1263.  
  1264.     I'm sorry to disappoint those who want GoldED to support V7 and FD
  1265.     nodelist indexes directly. I am researching the possibilities for
  1266.     supporting these indexes. It is likely that I will support them in
  1267.     a future version, but they both suffer from design flaws that
  1268.     makes it difficult to support full nodelist browsing on both name
  1269.     and address. I'm investigating ways to work around that. We'll see
  1270.     what the future brings.
  1271.  
  1272. +   Added support for the FSC-0035 REPLYADDR/REPLYTO kludges. When
  1273.     replying to a message with these kludges, GoldED automatically
  1274.     generates the TO: line from the REPLYADDR kludge and uses the
  1275.     REPLYTO data for the destination. GoldED does not yet attempt to
  1276.     interpret the internet-style control lines such as FROM:.
  1277.  
  1278. -   Fixed problem with the addressmacros, when used with internet
  1279.     addressing. GoldED did not remove the leading '@', when the syntax
  1280.     "@gatename/name@domain.location.etc." was used.
  1281.  
  1282. -   Fixed the search function, which seemed to be erratically
  1283.     case-sensitive, even though searches are always case-in-sensitive.
  1284.     I have replaced the entire search function (a modified Boyer-
  1285.     Moore-Gosper pattern match function from the msged source) with
  1286.     another I found in the C_ECHO snippets archive (a case-insensitive
  1287.     Boyer-Moore-Horspool pattern match function).
  1288.  
  1289. -   In the new IE, the overwrite mode did not work correctly. It
  1290.     allowed overwrite past the end of the line, which could cause a
  1291.     crash or protection violation.
  1292.  
  1293. +   If you tried to Copy/Move/Forward to a read-only area, GoldED
  1294.     would let you do it without asking for permission. This security
  1295.     hole has now been closed.
  1296.  
  1297. !   GoldED now checks the Hudson/Goldbase MSGIDX.* file for invalid
  1298.     board numbers while doing the initial scanning during startup. If
  1299.     any invalid board numbers are found, GoldED exits with an error
  1300.     message and tells you to run a msgbase fixing utility.
  1301.  
  1302.     In previous releases, GoldED could crash or cause protection
  1303.     violations if there were invalid board numbers in the index.
  1304.  
  1305. +   It is now possible to carbon copy to more than one person with the
  1306.     same address. Useful for a moderator who wants to notify both a
  1307.     BBS sysop and a user on the BBS about something.
  1308.  
  1309. -   If you had AREAAUTONEXT disabled, and hit Alt-J to jump to next
  1310.     area, the auto-next feature would be enabled until you exit
  1311.     GoldED. Fixed.
  1312.  
  1313. -   The quotebuffer feature (ctrl-w) did not work with JAM areas.
  1314.  
  1315. -   Fixed the cursor hide function to work properly under DESQview,
  1316.     when running in a DV window with a 50 lines text display.
  1317.     This is an experimental fix. Let me know if it breaks cursor
  1318.     hiding in your setup.
  1319.  
  1320. -   Fixed the setting of the border (overscan) color.
  1321.  
  1322. +   GoldED now understands definitions of JAM areas in an AREAS.BBS
  1323.     file. JAM areas in an AREAS.BBS file are marked with a '!' in
  1324.     front of the msgbase filename.
  1325.  
  1326. !   GoldED now gives an error message if it finds a random item
  1327.     outside a GROUP, while compiling GOLDRAND.CFG.
  1328.  
  1329. -   If a random item was defined in GOLDRAND.CFG _before_ any GROUP
  1330.     statement, GoldED could crash or cause a protection violation.
  1331.     Fixed.
  1332.  
  1333. !   GoldED now uses the defined FIDOMSGTYPE for *.MSG areas in
  1334.     AREAFILE GEcho, except if the GEcho version is 1.02 or newer.
  1335.     FIDOMSGTYPE defaults to Opus format. By using the Opus format, the
  1336.     garbage zone/point in the msg headers is eliminated. If you use
  1337.     GEcho 1.02 or newer, and see garbage zone/point in msg headers,
  1338.     you should enter GSETUP and change Miscellaneous, GEcho options,
  1339.     MSG compatibility to Opus.
  1340.  
  1341. -   If you tried to ROT13 in an empty area (zero msgs), GoldED could
  1342.     crash. Fixed.
  1343.  
  1344. +   Added new keycommand: READgotoreplynext. This keycommand is only
  1345.     valid for JAM areas. Suggested key assignments:
  1346.  
  1347.       *       READgotoreplynext   ; Press '*'
  1348.       @Right  READgotoreplynext   ; Press Alt-Right
  1349.  
  1350.     So what does this keycommand do?  In JAM areas, there are two
  1351.     reply links: Reply1st and ReplyNext. Reply1st points to the first
  1352.     message that is a reply to the current message. ReplyNext points
  1353.     to the next message that is a reply to the message that the
  1354.     current message is a reply to. Confusing?  Right!
  1355.  
  1356.     The Reply1st link is similar to the replylink we are used to from
  1357.     other msgbase types - it allows us to follow a chain of replies.
  1358.  
  1359.     The ReplyNext link instead allows us to see all replies to a
  1360.     particular msg.
  1361.  
  1362.     Still confused?  Yeah, well, try it out. Read the JAM specs for an
  1363.     example of how JAM replylinks work. It's a tree-like structure,
  1364.     linked on the MSGID/REPLY kludges, instead of a simple chain based
  1365.     on the subject.
  1366.  
  1367.     The existing keycommand READgotouplink (usually assigned to '+'
  1368.     and/or Ctrl-Right) moves you to the Reply1st link only, and
  1369.     READgotoreplynext moves you to the ReplyNext link only.
  1370.  
  1371.     In the header display, a '+' signifies a Reply1st link, and (new!)
  1372.     a '*' signifies a ReplyNext link.
  1373.  
  1374. +   When commandline parameter -VV is used, GoldED now also reports
  1375.     what it finds in GOLDRAND.CFG.
  1376.  
  1377. !   For registered users, the main address is no longer displayed
  1378.     together with the name and serial number in the startup screen.
  1379.  
  1380. !   When a search is made, the bookmark is now only set if something
  1381.     was actually found. If a search is successful, you will be placed
  1382.     at the msg, and the bookmark is set to the msg you were at before,
  1383.     so that you can return there.
  1384.  
  1385. +   Added two new template tokens: "@setfrom" and "@setto". They work
  1386.     similar to "@setsubj", to set the FROM: and TO: names in the
  1387.     header.
  1388.  
  1389. -   If an AREAS.BBS file was used, and the configuration compiled,
  1390.     GoldED could hang the system or cause an exception error upon exit
  1391.     (DOS), or cause an access violation (OS/2). Fixed.
  1392.  
  1393. -   Fixed some inconsistencies with the JAM scanning files:
  1394.  
  1395.     The NET/ECHOMAIL.JAM files were updated, even when only the Rcv
  1396.     attribute was set. The NETMAIL.JAM file was updated for every msg
  1397.     read. The SEMAPHORE EXPORTLIST was updated for JAM areas.
  1398.  
  1399.     The NET/ECHOMAIL.JAM files are now only updated for a msg, if the
  1400.     msg is marked "local but not sent". The EXPORTLIST is no longer
  1401.     updated for JAM areas, because ECHOMAIL.JAM is used for that
  1402.     purpose instead.
  1403.  
  1404. -   GoldED is now a bit more tolerant of errors in the JAM subfields.
  1405.  
  1406. +   Added new parameter to the IF/ELSEIF conditional directive. The
  1407.     new parameter is "INOS2" and it is always true for GoldED/2 and
  1408.     true for GoldED/DOS when OS/2 is detected. I use it to include a
  1409.     special set of colors when running under OS/2.
  1410.  
  1411. -   Fixed several bugs in the Goldbase support:
  1412.  
  1413.     Mistake in the MSGHDR.DAT structure. Due to an oversight while
  1414.     converting the Pascal structures, my implementation was two bytes
  1415.     too short. This caused GoldED to report index errors when used on
  1416.     a correct Goldbase msgbase.
  1417.  
  1418.     Board numbers above 255 were truncated internally to a number
  1419.     below 256, when writing a msg to the msgbase.
  1420.  
  1421.     The lastread number was alway reset to zero when leaving an area.
  1422.  
  1423.     After copying msgs from some other msgbase types (like Squish) to
  1424.     a Goldbase area, the Goldbase area looked strange, until it was
  1425.     scanned again.
  1426.  
  1427.  
  1428. ----------------------------------------------------------------------
  1429.           These notes start where GoldED 2.42.G0214 stopped.
  1430. ----------------------------------------------------------------------
  1431.