                LyneWriter version 2.3 readme file.
    
    Started work in April 1990
    Primary coding completed on 28th October 1990
    Completed testing, debugging and minor mods 7th January 1991
    Bug fixes since 7th January are at the end of this file.
    
    The LYNE.DOC file on this disk is formatted into 50 line pages with
    form feeds. To print it type:
    
         COPY LYNE.DOC PRN:
    
    at the DOS prompt. It can be loaded into LyneWriter if FSIZE=/2000/
    or greater.
    
    * Printer configuration files:
    
    LYNE.CFG - a non functioning 'skeleton' which is only useful for
    putting LyneWriter into black and white mode for mono users - it
    contains all the keywords with comments attached.
    
    LYNE.EPS - For Epson (9 and 24 pin) printers and all compatibles.
    
    LYNE.HPL - Hewlett Packard (Lasers and Inkjets) and compatibles.
    
    LYNE.DBL - Diablo and compatibles (untested)
    
    LYNE.PRO - Proprinter compatibles
    
    Version 3.0 is still in the works, still to be written in Modula-2 and
    WILL be the next release!!
    
    Roger Cope
    7th January 1991
    
    21st January 1991
    Fixed problem in File mode which caused sections of a file to appear
    in the dead area above the edit window when a menu was closed.
    
    24th February 1991
    Corrected bug which prevented the ruler line updating when you
    cursored off a long line to a short one (causing a screen scroll).
    
    Also fixed a problem which stopped the User Codes pop-ups clearing
    themselves if you pressed [ESC]. I caused this bug myself by doing an
    11th hour 59th minute change to clear the User Codes pop-ups before
    displaying the Printer Macros dialogue box if you pressed [RETURN].
    Serves me right!
    
    3rd March 1991 
    Fixed a nasty bug with two effects: If you had a line containing
    printer control codes and shifted the left margin to the right leaving
    the PCCs to the left of the new margin then LyneWriter lost track of
    the actual cursor position and any more typed characters on that line
    would display in the wrong place. Attempting to put more PCCs into the
    line would produce undocumented error #5 and probably loop requiring a
    reboot to fix.
    
    Also rewrote the logic associated with reformatting paragraphs. The
    main effect to the user is that, after moving the left margin
    rightwards, you can now press [F4] and bring the whole of the
    paragraph text within the new margins. Note that version 2.3 is unable
    to do the equivalent when you move the left margin leftwards as it
    thinks that each line of the old paragraph is indented with respect to
    the new margin. Version 3.0 should fix this(!)
    
    6th March 
    Rewrote some of the paragraph/line ending code. LyneWriter had no
    trouble coping with unbroken lines as they were typed in, but if you
    attempted to format (F4) a line with no spaces in it, it gave up with
    an undocumented error. It now breaks the line at the right margin.
    
    10th March
    LyneWriter 3.0 work in progress release 2.
    
    The LYNE30.EXE file enclosed on this disk demonstrates the proposed
    menuing system of LyneWriter 3.0. It is written in JPI Topspeed
    Modula-2.
    
    Start the demo using a command line form of:
    
         LYNE30 /C=config filename1 filename2
    
    Where config is the name of a configuration file (without the .CFG
    extension) in the current directory or the directory pointed to by the
    LYNE environment variable if set. filename1 and filename2 are full
    pathnames of text files. All parameters are optional and can be
    supplied in any order (LyneWriter 3.0 will use your existing LYNE.CFG
    if no other file is specified). An example:
    
         LYNE30 /C=MYCFG \TEXT\FILE1 \TEXT\FILE2
    
    When loaded, you get past the opening screen in the normal manner and
    if you specified any filenames on the command line you will see the
    names of the files printed on a screen which resembles the LyneWriter
    edit window. (No other action is taken with the filenames - at present
    you can put gobbledygook in their place!)
    
    The menu system is called up with [ESC] in the usual manner. All menus
    are movable using the left and right cursors for horizontal movement
    and [CTRL]+up and [CTRL]+down for vertical movement. When closed, the
    menus remember their last position for when you open them again.
    
    I intend to implement everything on the menus, but at present the demo
    is completely non-working. Exit by using the QUIT option on the FILE
    menu.
    
    5th April 
    While daydreaming about the printer control sequence handling in
    version 3.0, I suddenly woke up wondering what happened in 2.3 if a
    user in overtype mode typed over a printer code. Unfortunately, the
    answer was that LyneWriter crashed in a variety of ways. Insert mode
    worked fine.
    
    The debugged version of LyneWriter works like this:
    
       If the cursor is on the character before a printer code in overtype
       mode and you press a key, you overtype the character at the cursor
       as expected. The cursor moves rightwards 'onto' the printer code
       and the name of the code is displayed in the usual place. If you
       continue typing you will continue to overtype existing characters
       as expected, but you will now be typing AFTER the code. Note that
       the code is NOT overwritten and remains in the same place in the
       text as before.
    
       If that seems confusing, I advise you to just try it out, but the
       bug is now fixed anyway.
    
    18th April
    When loading a new configuration file through the Options menu the
    'toggle' keywords (INSRT, HPGLN, NOBEP) will not get toggled off if
    they are currently on. This is due to my oversimplification of the
    LYNE.CFG file. In version 3.0 ALL keywords will be required to take
    parameters.
    
    19th April 
    The line spacing, micro spacing and page length printer sequences were
    not working because of a silly coding error. Fixed.
    
    11th May
    I am pleased to say I am now a full member of the Association of
    Shareware Authors - UK. This ASP affiliated body wants to be sure that
    Shareware works for you. To this end it has an Ombudsman who can help
    resolve problems between author members and the public. If you are
    unable to resolve a dispute or problem with an ASA-UK member by
    contacting the member directly, he may be able to help.
    
    Please write to the Ombudsman, ASA-UK, PO Box 26, Bracknell,
    Berkshire, RG12 4WA UK.
    
    24th May
    Fixed an extremely nasty bug which crashed LyneWriter with an
    'Error 242' message when the utility was started in typewriter mode
    (SMODE=/001/ in the configuration file).
    
    This error should have been easily found in testing so knuckles have
    been wrapped (ouch!) and for a penance I've done a lot of work to the
    mode switching area of the program. Previously, starting LyneWriter in
    typewriter mode and switching to one of the other two modes might have
    left the cursor in odd places on the screen. The cursor is now always
    located in the left margin of row 1.
    
    27th May 
    While writing the file loading routines for Version 3.0 I looked at
    the equivalent code for 2.3 and noticed that there didn't seem to be
    any printer control code handling. A quick test confirmed that if a
    file is loaded which contains a printer code on line 1 to the left of
    the left margin LyneWriter will give out undocumented error 4. Fixed.
    
    That was an obscure bug. While testing the fix I came across
    undocumented error 5 (which looped, forcing a reboot) and spent some
    time tracking it down. For some unaccountable reason I didn't put
    control code handling in the up and down cursor movement code and
    moving up or down onto a line containing a control code upset
    LyneWriter. I cannot think how I and others have managed to miss
    this for so long. Fixed.
    
    Also made minor adjustments to the up/down scrolling routine.
    
    2nd June
    Oh dear. Returned to the supposedly fixed cursor movement and made
    more adjustments to the code to reflect the difference between the
    logical and physical cursor positions.
    
    22nd June 
    I am now on CompuServe. Please send support or general questions to
    Roger Cope - ID: 100010,277. I am also available on the PDSL Fidonet
    bulletin board (Fido address:  2:440/65). I'm on as Roger Cope, though
    how you get hold of me I'm not completely sure!
    
    26th June 
    Now that LyneWriter is getting wider distribution, some shareware
    librarians have remarked that I should update the version number to
    mark maintenance releases. I have been reluctant to do this until now
    as I do not want to give the impression that maintenance releases
    contain new functionality. However, I appreciate that many libraries
    employ a version tracking system and I am introducing revision
    numbering as of now.
    
    I have chosen to append a letter to the version number (e.g. V 2.3a)
    and have decided that the opening screen of LyneWriter will remain
    unchanged, but the sign-off copyright message will contain the
    revision number. The current revision is 'a'. 
    
    Note that this README file contains details of ALL bugs found to date,
    but a formal maintenance release is a rare event and bundles several
    fixes together. Therefore you should not expect to see the revision
    letter increment after each bug fix.
    
    Registered users get all maintenance releases free. Revision 'a' is
    the second for version 2.3 and was dated (without the revision letter)
    2nd June.
    
    10th July
    Added LYNE.AIF, .PIF and .ICO for running LyneWriter with Windows and
    altered the default LYNE.CFG to actually display white on black(!).
    
    19th October
    Working on version 3 wordwrap and discovered that the version 2.3
    wordwrap code didn't take account of embedded printer codes when there
    were no spaces on a line. This was a pretty obscure bug, but it's
    fixed.
    
    3rd November 
    Uploaded to CompuServe. Work on version 3 is coming along well, but it
    looks like there may be a version 2.4 as PowerBASIC is having a major
    upgrade and LW 3 won't be ready for some time yet. New features are
    dependent on enhancements to PowerBASIC, but I am not anticipating
    major changes to the wordprocessing functions.
    
    23rd November
    While writing a document with several control codes on a line, I got a
    total crash (QEMM exception 13). After much investigation, discovered
    that the routine that 'hides' the printer control codes relied on
    recursion and I was getting stack overflows after 12 codes had been
    placed on a line. Rewrote routine without recursion.
    
    19th January 1992
    Extremely minor alterations to the source code to reduce screen
    flicker (not that you could see any anyway - but now there's less!)
    
    9th February
    While writing a document with several control codes, I noticed that if
    the [DEL] key 'pulled' a control code onto the cursor position no
    codename was displayed on screen. A subsequent [DEL] press put up the
    'Delete xxxxxx Y/N?' prompt as normal. Slightly rewrote the control
    code display logic to make LyneWriter always display control code
    names when necessary (and reduced the code size a bit!)
    
    Also discovered that if there were control codes in the left margin,
    cursoring left at the margin didn't move you to the end of the line
    above. Fixed.
    
    23rd June
    Moved house. Tweaked LyneWriter to increment the version number to
    2.3b (freezing development on this version) and took the opportunity
    to amend the various copyright banners. Updated documentation for new
    address. Keep a look out for versions 2.4 and 3.0!
