ACCC Home Page Academic Computing and Communications Center  
Accounts / Passwords Email Labs / Classrooms Telecom Network Security Software Computing and Network Services Education / Teaching Getting Help
 

THE - The Hessling Editor
History of releases

 

The following table contains a list of release information for all versions of THE. Click on the version number to get additional information pertaining to a release.

Version Date of release. Released.
2.7 December 27, 1998 Yes
2.6 November 14, 1998 Yes
2.5.2 July 31, 1998 Yes
2.5.1 July 28, 1998 Yes
2.5 June 30, 1998 Yes
2.4 February 1, 1997 Yes
2.3 December 17, 1996 Yes
2.2 May 26, 1996 Yes
2.1 June 24, 1995 Yes
2.0P1 February 11, 1995 Yes
2.0 January 26, 1995 Yes
1.5 December 1, 1993 Yes
1.4 September 1, 1993 No
1.3 August 15, 1993 Yes
1.2 June 27, 1993 No
1.1 May 17, 1993 Yes
1.0 August 16, 1992 Yes


Version 2.7 27-Dec-98

Bug fixes:

  • On some systems, THE would crash after the first several keystrokes.
  • On some systems, blank lines would match every string target.
  • Printing blank lines sometimes produce junk.
  • Version information on WinNT was incorrect, as was some documentation files.
  • Use of OSREDIR command in profile file when suspended on Unix would cause THE to stop.
  • Compilation errors with non-ANSI compilers fixed.
  • Included extra HTML documentation courtesy of Franz-Josef Wirtz.
  • Re-released 16bit Windows THEdit shareware package.
  • THE now works on QNX.

Version 2.6 14-Nov-98

Bug fixes:

  • The screen would not be refreshed as a result of issuing Rexx commands via THE's REXX command. It now does.
  • The implied extract functions; colour.n() (not the color.n() functions) were failing.
  • SLK display line was not being refreshed when it was overwritten.
  • SLK OFF was unsupported despite the documentation saying it was.
  • EXTRACT FMODE would return "1" instead of the drive letter.
  • The first row of the message line was not being cleared after a QUERY command on some platforms.
  • THE would not compile on AIX 4.2 with "standard" curses, due to some changes in IBM's curses code.
  • Under some Unix platforms, THE would crash on exit when an error or warning message was displayed.
  • Return code from SET ETMODE ON|OFF with no following parameters now returns correct value; 0.
  • Column commands such as CINSERT, CAPPEND would leave a null character, 0x00 at the end of the line.
  • The fix in 2.5.2 for editing a file from the DIR.DIR file, when the file is a symbolic link, didn't work when the symbolic link was an absolute path.
  • Fixed MARK STREAM command. STREAM blocks now supported for following commands: LOWER, UPPER, FILLBOX, DELETE, CHANGE. Still to do, COPY and MOVE.
  • inblock() function now works for STREAM blocks.
  • SOS TABWORDB and SOS TABWORDF now respect SET WORD ALPHANUM.
  • Printing under OS/2 should now work.
  • THE now configures correctly on HP-UX 11.0.

Changed commands or behaviour:

  • When UNTAA is ON, the default value for certain commands like DELETE, REPEAT etc. is 1. This resulted in unexpected and undesirable behaviour. Commands that have an explicit default of 1, now have an explicit default of +1, to overcome the UNTAA behaviour. Thanks to Arthur Poole for pointing this out.
  • A small performance increase should be expected for Rexx commands assigned to function keys, using the DEFINE key REXX commands... In previous versions, THE would pass the source specified as an "instore" macro and ignore the returned, tokenised code. THE now saves the tokenised code and passes this to the Rexx interpreter. The first time the key is pressed may in fact be slightly slower, but subsequent executions should be faster. How much of a performance increase you get depends on how efficient your Rexx interpreter's parsing abilities are.
  • Extended curses support now only allowed for AIX 3.x. As AIX 4.1 and above now has System V curses, this is the prefered curses library for the character mode version of THE.
  • The Rexx indicator of the STATUSAREA, which used to be a space or 'R' to indicate if Rexx support was enabled has been changed slightly. When Rexx support is enabled, instead of 'R' being displayed, one of the following characters is displayed to indicate which Rexx interpreter support THE was compiled with. Values are:
    R - Regina
    O - Object or OS/2 Rexx
    Q - Quercus Personal Rexx
    W - Enterprise WinRexx
    I - Rexx/imc
    U - uni-REXX
    6 - REXX/6000
    T - Rexx/Trans (Rexx Translation package)
    

  • FILLBOX now allowed for LINE BLOCKS.
  • What constitutes a word with the MARK WORD and DELETE WORD commands has now changed. It now matches the SOS TABWORDF definition of a word.
  • READV now sets 4 Rexx variables, the new fourth value is the shift status associated with the key being pressed.
  • A new optional parameter has been added to the MACRO command. Specifying this; a '?', enables Rexx macros to be interactively traced with TRACE ? in the macro file. In previous versions, this was the default for MACRO, but it involved a significant processing overhead. Now, Rexx command files assigned to keys should execute quicker.

New features:

  • Added new SET command; CLEARERRORKEY. This enables you to specify which particular key clears the message line. Default behaviour is that any key pressed will clear the message line. Also added CLEARERRORKEY to query/extract/modify.
  • Added query/extract/modify for DIRINCLUDE.
  • Added new SET command; TIMECHECK. This enables you to specify if THE checks the timestamp of a file when you SAVE or FILE it. If TIMECHECK is ON and the modification time of the file has changed, THE will not save the file. You can force the save of the file with SSAVE or FFILE. Also added TIMECHECK to query/extract/modify.
  • The PRINT command in Win32 now can specify fonts, font size, paper orientation etc.
  • New command line options; -l and -c. These specify the starting current line and column respectively for all files edited from the OS command line.
  • A new SET command has been included; STATOPT. This controls what internal variables are displayed on the status line. Any value that can be obtained via the implied extract functionality can be displayed. e.g. the default options displayed are NBFILE.1 and WIDTH.1.
  • Added new boolean functions ALT, ALTKEY, CTRL and SHIFT.
  • Added EXTRACT LASTKEY
  • Added KEDIT command.
  • THE can now allows stdin as a profile file. When specifying the profile file on the OS command line with -p, the filename is '-'. Thus; the -p - file_to_edit takes macro commands from stdin. This feature is only allowed when the -b (run in batch) switch is also specified!! This feature is useful for porting XEDIT/REXX programs like:
    /* CMS */
    queue 'top'
    queue 'c/this/that/ all'
    queue 'file'
    'X THIS FILE A'
    

    The equivalent for THE with Regina is:

    /* THE/Regina */
    queue 'top'
    queue 'c/this/that/ all'
    queue 'file'
    'LIFO> the -b -p - this.file'
    


Version 2.5.2 31-Jul-98

Bug fixes:

  • Fixed problem with unaligned access problems on 64bit machines.
  • Also fixed a few compiler warnings.
  • Editing a file from the DIR.DIR file, when the file is a symbolic link, now correctly edits the file pointed to by the symbolic link.

Changed commands or behaviour:

  • STATUS command now displays in 6 columns. On 25 row screens some status information was likely to be lost.

Version 2.5.1 28-Jul-98

Bug fixes:

  • Fixed problem with compiling without Rexx support.
  • Fixed the Win32 port mouse support. Mouse support would only work until a Rexx macro or an operating system command was called and then mouse support would be disabled.
  • Fixed bug in COMPAT XEDIT mode where the behaviour of the "enter" command in the FILEAREA would behave like INPUT command rather than SOS ADDLINE/LINEADD.
  • Fixed bug in display of cursor when in insert mode under several platforms.

Changed commands or behaviour:

  • SOS ADDLINE/LINEADD under COMPAT XEDIT now works more like XEDIT.

Version 2.5 30-Jun-98

Bug fixes:

  • Fixed problem with DIR or THE/XEDIT/EDIT command in a profile. THE would go into an infinite loop.
  • LSCREEN values were not available as implied extract functions.
  • Specifying 0 for row or column with CURSOR SCREEN/ESCREEN now causes an error.
  • lastmsg.1 not being set when MSGMODE is OFF
  • fixed bug with SET AUTOSAVE in profile
  • fixed cursor positioning bug when an "edit" command was issued for a file already in the ring from a macro or key
  • fixed error with alteration counts not being reset when saving a file under AFS.
  • ALL command on a file with no lines caused THE to crash
  • return codes from THE macros called by other macros should now be returned
  • EXTRACT /INBLOCK/ now correct for all marked blocks (except STREAM)
  • CINSERT will now insert spaces.
  • Implied extract functions, such as alt.1(), will fail if called when no files are in the ring.
  • EXTRACT RESERVED did not include attribute modifiers when run on mono monitor.
  • Fixed error with ACLs under HPUX where if the file system did not support ACLs, files could not be saved.
  • Fixed error in PRESERVE/RESTORE where changes to the layout of the displayed screen were not being restored.
  • Made changes to support API changes in Regina 0.08c.
  • SET COMPAT would reset ALT settings.
  • A command consisting of blanks returns an error; now simply ignored.
  • With STAY OFF, PUT now moves the current line to the target line if in COMPAT XEDIT(feel) mode.
  • EXTRACT /CURSOR with cursor in prefix area, now returns the file's line number in cursor.3.
  • THE can now handle messages via MSG and EMSG commands > 160 characters.
  • Fixed problem with dir() Boolean function to return correct value.
  • EXTRACT /RING in COMPAT XEDIT(feel) now returns the number of files in the ring in ring.1. For COMPAT THE and KEDIT the number of files is returned in in ring.0.
  • With HEX ON, LOCATE /x'00' would match every line in the file.
  • When an attempt to edit a file with a line width > the current WIDTH setting, THE would not close the file. On some platforms this meant that file was no longer accessible until the edit session was ended.
  • Under Unix, THE now attempts to preserve the file's user and group ownership ids. This should work fine for the file's owner and for root, but probably won't for other users.
  • Use of interactive trace in a THE macro would not work under OS/2, DOS or WIN32. Should now.
  • Commands that are very long, particularly those issued from macros used to crash THE. Now they shouldn't.
  • Fixed behaviour of CMATCH in COMPAT XEDIT mode.
  • Fixed bug in COMPRESS command.
  • Corrected SOS DELLINE and SOS ADDLINE behaviour when issued on cmdline.
  • In COMPAT XEDIT, SET TABSIN caused the current line to be moved to the bottom of the file.
  • THE now compiles on Digital Unix 4.0
  • In COMPAT XEDIT mode, THE would allow characters from the prefix area to display in the gap between the prefix area and the filearea.
  • THE now removes multiple, consecutive slashes from a filename. E.g. /usr///include//stdio.h is now interpreted as /usr/include/stdio.h
  • Fixed typo in INSTALL file --with--curseslibdir changed to --with-curseslibdir
  • Fixed an error with EXTRACT. If a space appears before the first item name to extract, an error was displayed and the last item was not extracted.
  • Use of UPPER or LOWER commands did not set the LINEFLAG to changed.
  • An invalid hexadecimal or decimal value in a string target now only results in one error message, rather than one per line of the file.
  • The OS family of commands now return the return code from the operating system command.
  • The definitions and behaviour of CURSOR SCREEN/ESCREEN row col were reversed.
  • Fixed cursor positioning problems with SOS DELLINE when the *** Bottom of File *** line was the current line.
  • Any commands that saved a file with a different name to the file being edited; e.g. PUT, SAVE and FILE, always kept the same attributes as the original. This has been changed so that any new file takes on default attributes (and ownerships) as would a new file.
  • Several documentation corrections, particularly in the HTML source. Thanks to Franz-Josef Wirtz for reporting these.
  • Fixed error with SET COLOR. The NONDISP colour would always get changed.
  • Fixed a problem with unknown keys, such as decimal 226 (A-B), using ncurses. These now can be assigned commands with DEFINE (e.g. DEFINE \226 TOP) and will display their correct assignment when using SHOWKEY.
  • Trailing spaces on the command line will now be passed to macros.
  • Fixed a bug on some System V R4 curses and ncurses, where the cursor would disappear after toggling the INSERTMODE to ON. This was caused by a lack of the terminal's capability to display the cursor in a high visibility mode, instead it would not display it at all.

New features:

  • Added new SET commands; FILENAME, FNAME, FEXT, FTYPE, FMODE and FPATH.
  • Added COLOR option to EXTRACT and QUERY commands.
  • Added WIDTH display to status area.
  • Added [SET] SLK to allow user to define soft label keys.
  • Added SLK to [SET] COLOR.
  • Added new command line option; -k to enable soft label keys support.
  • HTML'd the HISTORY file.
  • Added [SET] WRAP
  • Added [SET] WORD
  • Added [SET] WIDTH This enables the maximum width of a line to be set within an edit session.
  • Added [SET] FULLFNAME to specify if the file's fully-qualified filename is displayed on the IDLINE or the name of the file as entered by the user is displayed. This command may change to include settings for whether the file's fully-qualified name is used when writing the file.
  • On Unix platforms, if THE suffers a core dump, THE will attempt to autosave all files that are currently open. (Thanks to Ian Collier for this good suggestion)
  • Added a new SET command; UNTAA. This is an ancronym for "Unsigned Numerical Targets Are Absolute". This SET command affects ALL numerical targets, not just the LOCATE command!
  • Added SET COLOR/COLOUR GAP to enable the colour of the gap between the prefix area and the filearea to be specified. By default, COMPAT XEDIT will display the gap in the same colour as the filearea, COMPAT THE in the same colour as the prefix area.
  • Added [SET] DEFSORT command to specify how files should be sorted in the DIR.DIR file. Also added DEFSORT as a valid option for EXTRACT.
  • Added EDITV command for setting and retrieving persistent macro variables.
  • Added SET SPAN, SPILL and TRUNC. They don't do anything yet.
  • Added REXX command to allow Rexx instructions to be run from the command line.
  • Included the Regina memory management routines into THE to increase its performance.
  • Added SOS PASTECMDLINE SETTAB INSTAB STARTBLOCK and ENDBLOCK.
  • Added EXTRACT FIELD.
  • Added shadow() boolean function to determine if the cursor is on a shadow line.
  • Under Win95/NT, THE can now use Object Rexx, Personal Rexx, Enterprise Rexx and uni-REXX interpreters in addition to the default interpreter, Regina.
  • Added support for uni-REXX 2.7.0 under Unix.
  • Added QUERY and EXTRACT COLOUR (alternate spelling for COLOR)
  • Added [SET] UNDOING to enable the saving of changed lines to be avoided. This makes large changes or deletes slightly quicker at the expense of not being able to RECOVER those lines affected while UNDOING ON is in effect.

Changed commands or behaviour:

  • EXTRACT RESERVED format has now changed. Originally the format of the returned string was:
    line-number foreground background modifier text...
    eg. -1 red white normal This is a reserved line
    

    The new format of the returned string is: line-number modifier [modifier[...]] foreground on background text...

    eg. -1 red on white This is a reserved line
        -2 bold reverse white on black This is a reserved line
    

    This new format now ensures that the contents of the reserved line can be extracted from the returned value. The following example is guaranteed to work on colour or mono displays.

    Parse Var reserved.1 . 'on' . text
    

  • Added FULL as optional parameter to LEFT and RIGHT commands.
  • Changed the behaviour of cursor movement in COMPAT XEDIT to be more consistent.
  • Slight change in the way THE determines the name of a macro to execute. Assuming the value of MACROEXT is "the" and you have a macro called fred.the in the current directory, then the following commands are equivalent:
    ====> macro fred
    ====> macro fred.the
    ====> fred          /* assumes IMPMACRO is ON */
    ====> fred.the      /* assumes IMPMACRO is ON */
    

    In previous versions, THE would always append the MACROEXT, so macro fred.the would attempt to find the file fred.the.the.

  • There is now only one help file; called THE_Help.txt rather than one for each platform/terminal type. THE_Help.txt replaces the *.hlp files. The only difference between these files was the default key definitions. These are now in the one table.
  • Changed the comm.the and uncomm.the sample programs to support HTML comments.
  • Changed the match.the sample program to support LaTex begin/end pairs.
  • Added [Column|CURSOR] options to SPLIT and JOIN commands.
  • Inserting of lines greater than WIDTH setting, either via INPUT or JOIN are now truncated, and the message "Truncated" displayed.
  • Blank lines are now saved for use with RECOVER command.
  • With the addition of the SET FNAME, FILENAME etc commands, it was necessary to change the value returned for EXTRACT /FNAME. Prior to this release, EXTRACT /FNAME returned the full filename of the current file. EXTRACT /FNAME in this release, returns the filename portion of the full file name; excluding the file's extension. To achieve the same functionality as before, use EXTRACT /FILENAME.
  • Added a new make target; help. This builds the THE_Help.txt from the source code.
  • QUERY command now ignores the current setting of MSGLINE and displays all lines without scrolling, provided they all fit on the screen!
  • SET POINT did not allow numeric values. Now SET POINT .12 works as expected.
  • Removed extraneaous screen displays in CANCEL, CCANCEL and SOS EDIT commands.
  • File dates displayed in a DIR.DIR listing now have 4 digits. The result of this is that file names now start in column 38 instead of 36. If you have any macros that rely on this position, they will need to be changed.
  • In previous versions, the setting of SET MSGMODE for a new view of a file would be obtained from the setting of the view from which the file was edited. Thus if MSGMODE was OFF in the current file, and another file was edited, then the value of MSGMODE for this file would also be OFF. This has now changed so that the the default setting of MSGMODE will be ON irrespective of the setting of MSGMODE in the current file. Obviously, if SET MSGMODE OFF is in your profile and SET REPROFILE is ON, then the new file will have a MSGMODE of OFF.
  • Fiddled around with the colours GREY (and GRAY) and WHITE to try to get WHITE not be BOLD WHITE and GREY to be BOLD BLACK.
  • Added OFF option to SET TABS to turn off all tab settings.
  • The COMPAT command has changed slightly when the third parameter is not supplied (function key compatibility). Previously, if the parameter was not supplied, the default key mapping for the current compatibility mode would reset, removing any customised key definitions. The behaviour now is to leave any key definitions intact.

Version 2.4 01-Feb-97

Bug fixes:

  • Fixed problem with key defined as SOS DOPREFIX EXECUTE and supplied l.the prefix macro.
  • SPLIT command issued with cursor after the end of line now does not core dump.
  • SOS EDIT on blank line now no longer core dumps.
  • Fixed bug with "the -h" on OS/2.
  • Fixed major problems with PRINT command; it ignored effect of SET SELECT. Also corrected printing of marked blocks to only print the contents of the block. ZONE settings are also noew respected for the PRINT command.
  • Fixed various documentation bugs principally in EXTRACT section.
  • SORT command did not respect SCOPE; now does.
  • SHIFT command now respects a marked block.
  • Fixed some problems with cursor positioning in prefix area when the prefix area includes a gap; as in COMPAT XEDIT.

New features:

  • First release of port for DOS with VCPI. This executable also runs as an OS/2 program.

Version 2.3 17-Dec-96

Bug fixes:

  • Fixed syntax error with [SET] ARBCHAR, now allows specification of ON or OFF without optional arbchar characters.
  • Fixed cursor positioning errors with DUPLICATE and COPY BLOCK when new focus line would not be in currently displayed lines.
  • Fixed multiple key definitions for the "DEL" key. Now each different key that could represent a "delete" key is called a different name; DEL, REMOVE, DC.
  • Disable [SET] AUTOSAVE on psuedo files.
  • Change commands with a parameter of '*' for number of occurrences to change, will use the file's line width to determine the maximum number of changes to make rather than 2147483001. The use of the rather large number made it appear that THE was stuck in an infinite loop.
  • Fixed bug with HEX string targets.
  • Fixed bug with segmentation fault caused by:
    ====> the file.one
    ====> statusline off
    ====> the file.two
    

    This fix also fixes the error where if you have set STATUSLINE OFF and then run SET COMPAT, which turns STATUSLINE ON.

  • Fixed "feature" with exit codes from Unix commands called from the run_os() function. All exit codes were multiples of 512.
  • Fixed bug with CDELETE command, positioning cursor incorrectly on line after deleting characters.
  • Fixed bug with CAPPEND, CREPLACE and CINSERT which did not allow for leading or trailing spaces in text argument.
  • Fixed bug with default file types displayed in DIR.DIR file. The documentation for [SET] DIRINCLUDE states that the default is *; ALL file types, but the actual default setting was NORMAL, ARCHIVE and DIRECTORY files. This caused me an hour of debugging when I couldn't see any files on a CD :-(
  • Fixed bug with all SET commands that use the M (middle) position specifier. Commands like CURLINE, SCALE, TABLE etc. would core dump under Unix.
  • Fixed minor bug with error messages displayed for invalid file name and/or file path.
  • Fixed a problem with PUT command. If PUT was issued while in a read-only directory, the temporary file could not be created. The temporary file now is created in a known, writable directory.
  • A bug with CLOCATE and an absolute target. If the cursor was located in the filearea and to the right of the current column position, the new current column position as specified by the absolute target would not be changed.
  • Fixed a long-standing bug with block prefix commands. When one block prefix command is entered, and another prefix command (not the other end of the block prefix command), the block prefix command executes as though the other end of the block prefix command was entered.
  • Fixed bug with [SET] CMDLINE OFF when run from profile file.
  • Fixed bug with ETMODE default settings when running with XCurses.
  • Fixed error message that is displayed when READV CMDLINE is called with no command line.
  • Fixed implied extract functions; position.2() amd position.3(). They now produce the correct results.
  • Fixed core dump when using GET command and file contains lines greater than maximum width.
  • Worked around bug in ncurses; the cursor would disappear when in insert mode.
  • Fixed cosmetic bug when marking a block in one view with an existing marked block in the other view in split screen mode.
  • Fixed bug with X and XX prefix commands when current line was to be excluded.

New commands:

  • Added PREVWINDOW command; complement of NEXTWINDOW; to move to the previous file in the ring.
  • Added [SET] ALT command to allow the alteration counts to be changed.
  • Added REPEAT command.
  • Added [SET] MOUSE command and new options to QUERY, EXTRACT and MODIFY commands.
  • Added [SET] HIGHLIGHT command and new options to QUERY, EXTRACT and MODIFY commands.
  • Added PRESERVE and RESTORE commands.
  • Added SET MACRO command.
  • Added COMPRESS command.

New features:

  • Multiple arbchar character matches now work in targets. Thanks to Regis Bossut for implementing this! ARBCHAR support in the CHANGE command still to be done :-(
  • In mouse-supported ports, Right Button Press on the IDLINE will execute PREVWINDOW command. Also, double-clicking the Left Mouse Button on a file in the DIR.DIR file, will execute SOS EDIT.
  • In memory REXX macros now supported with optional [REXX] keyword in DEFINE command. In REXX supported ports, you can now do something like:
    ====> define f1 rexx if after() then 'sos firstcol'; else 'sos endchar';
    

    This will then do the same as the SOS STARTENDCHAR command.

  • Added Win32 platform support. THE now runs as a native, console application under Win95 and WinNT. The mouse is supported as are long file names.
  • Added ability to reassign mouse events via the DEFINE command.
  • Selectable highlighting of lines now available. It is possible to display selected lines in a diferent colour. See [SET] COLOUR for new HIGHLIGHT and CHIGHLIGHT options.
  • Changed the file display in DIR.DIR under Unix platforms to show symbolic links as 'ls -l' shows them.
  • Added support for changing the default behaviour of THE where the behaviour of XEDIT and KEDIT differ. eg. COVERLAY command.
  • Added support for ACLs under AIX.
  • High-order characters in the Latin-1 character set can now be entered with a "compose" key under XCurses port.
  • THE error messages are written to the pseudo REXXOUTPUT file immediately after the command that caused the error.

Changed commands or behaviour:

  • When multiple files are in the ring and you exit from one of these, the file in the ring PRIOR to the file exitted will become the new current file. The previous behaviour was to make the NEXT file in the ring the current file. The new behaviour is more intuitive, particularly when editing files from the DIR.DIR file and there are other files in the ring.
  • QUERY RING has changed to report files in the ring beginning with the current file rather than the first file edited.
  • Commands that can result in multiple lines being changed, like CHANGE, LOWER, UPPER, etc. will now update the alteration count once per command rather than once per line that has changed.
  • Added support for the System V compiler under SunOS. If /usr/5bin is in the PATH before running configure THE, and you do not have gcc or acc, then the System V compiler (and curses) will be used.
  • Allowed greater range of punctuation characters to be used as string target delimiters.
  • Altered parsing of command line to allow for commands and arguments to abut one another. This allows for 'next 5' to be specified as 'n5' and also more obscure command syntax like 'upper$fred'; equivalent to existing 'upper /fred'. The downside of this is that macros which begin with a valid THE command abbreviation, and follow with a delimiter will be treated as a THE command, NOT as an implicit macro. eg. Suppose you have a macro called upp.fred, you have IMPMACRO ON, and you attempt to call that macro from the command line implicitly with ====> upp.fred, THE will attempt to execute the UPPER command with a target of the named line; .fred rather than your macro.
  • Added support for multiple ?s in ? (retrieve) command. eg. specifying ??? will now return the third last command entered on the command line.
  • The SOS ENDCHAR and SOS STARTENDCHAR commands now work while in the prefix area.
  • CHANGE command, when the target is a BOX BLOCK, will now change strings within the column bounds of the BOX, rather than all occurrences on the line.
  • DEFINE command now has option to assign functionality to mouse events. The syntax for this includes a specification of which THE window the mouse event is to be executed in. See the default mouse event assignations for valid window names. These names are a subset of the valid areas that can be changed colour with the [SET] COLOUR command.
  • SHOW command now displays mouse event assignations.
  • Added new subcommand to CURSOR; MOUSE. This command moves the text cursor to the last position that a mouse event occured. This command is intended for use when redefining mouse events.
  • Added HIGHLIGHT and CHIGHLIGHT options to [SET] COLOUR command.
  • Added LINEFLAG and INPUTMODE options to QUERY, EXTRACT and STATUS.
  • Changed the behaviour of the ENTER key while in the FILEAREA. Originally, when INSERTMODE was ON, the ENTER key would add a blank line, and when INSERTMODE was OFF, the ENTER key would simply move down a line. The behaviour now is determined by the setting of INPUTMODE. With INPUTMODE OFF, the cursor always moves down a line. With INPUTMODE LINE, the default, a new line is always added when the ENTER key is pressed. INSERTMODE FULL, which is intended to be be similar to XEDIT power input mode has not been implemented yet.
  • The CHANGE command can now be run with no parameters, to re-execute the last change done.
  • Added extra, optional parameters to [SET] COMPAT command. The first new parameter allows the user to change the feel of THE to mimic the default behaviour of XEDIT, KEDIT or THE. The second new parameter determines the default function key binding to be used, again compatible with THE, XEDIT or KEDIT. The first parameter of the [SET] COMPAT command determines how THE will look; the second how THE will feel, and the third the default function key bindings.
  • Added extra parameters to [SET] PREFIX command to allow the user to specify the width of the prefix area and any gap between the prefix area and the filearea.
  • With the addition of more punctuation characters as valid target delimiters (including the underscore character '_'), the CONTROL_CHAR command has been renamed to CONTROLCHAR.
  • Several values returned by EXTRACT now respect XEDIT compatibility when in COMPAT = XEDIT. They are: CURLINE, LINE, LINEFLAG, POINT, SELECT
  • OVERLAYBOX now supports line blocks.
  • The A and I prefix commands now move the cursor to the file area.

Version 2.2 26-May-96

Bug fixes:

  • Fixed a small memory leak when quiting from a file.
  • Some colours were not behaving consistantly. This was corrected. eg REVERSE is now BLACK on WHITE, NOT reverse of the current colour. WHITE is now a bright white. The original WHITE is now GREY or GRAY.
  • Fixed bug with SOS TABWORDB. When the first word in the line started in column 2, the cursor would go to column 1.
  • Fixed bug with 'EXTRACT /POINT */'. This, or any parameter with arguments, would only work if it was the last parameter in the list of parameters to EXTRACT.
  • Fixed small bug with MACROPATH.
  • Fixed [SET] RESERVED to respect spaces after the last attribute specifier. Now it is possible to have spaces preceding the reserved text.
  • under OS/2 (and probably DOS), when a DISK FULL error occured when writing a file, the file could not be closed and therefore could not be removed while returning the file to its original state.
  • box commands COPY BLOCK and MOVE BLOCK now respect scope.
  • Fixed bug with trailing spaces on command line. (Introduced in 2.1)
  • Fixed bug under HP-UX with ACLs on NFS mounted disks. Files can now be saved, but any ACLs are lost on the original files.
  • If CURLINE M was in effect, and MOD CURLINE was issued, the response would be SET CURLINE M+0. M+0 is an invalid specification.
  • SET SCREEN now adjusts CURLINE setting when screen size changes.
  • MODIFY command would always append a space after the SET command returned.
  • Fixed problem with setting RESERVED, SCALE, TABL or HEXSHOW lines the same as CURLINE. You get an error if the position is the same as CURLINE. Similarly it is an error to set CURLINE to a position which is already occupied by one RESERVED, SCALE, TABL or HEXSHOW.
  • Fixed bug with SET PREFIX OFF when issued from CMDLINE or from PREFIX area.
  • Fixed bug with macros calling other macros. If an EXTRACT was issued from within one macro after calling another macro, the command would be rejected.
  • Fixed bug with REXX macro containing REXX SAY command with no arguments and REXX output captured to a file; a line of junk would be inserted into the REXXOUTPUT file.
  • Changed output of Q TABS to respond to INCR n if tabs were set with INCR option.
  • Fixed problem with TABS output from 'STATUS file' to not truncate the tabs string.
  • Fixed bug with contents of cmdline.3 after EXTRACT /CMDLINE/.
  • Fixed bug with end() and blank() not returning correct values in certain circumstances.
  • The retrieve last command command; ? retrieved the wrong command.
  • Fixed core dump when attempting to edit a file in a directory that doesn't exist from the OS command line. eg
    % the xyx/abc
    

    where the path xyz does not exist

  • Fixed core dump when issuing SET SCREEN with no operands.
  • Fixed up CURSOR ESCREEN when issued in split screen mode. It wouldn't move to the correct place.
  • On some platforms, a core dump would occur when trying to edit a file with lines longer than the maximum line length.
  • Fixed bug with negative offset paragraph indents.
  • Fixed bug with CURSOR FILE when display had been scrolled horizontally.
  • Editing with split screens is more stable.
  • PUT now respects SET STAY
  • REDRAW command now redraws screen correctly.
  • Fixed problems with moving WORD and COLUMN blocks.
  • Fixed a bug that showed up in SET COMPAT where the redefinition of the ENTER key would cause a core dump.
  • Fixed minor bug in parsing various [SET] commands. More than one space before a parameter would invalidate the parameter.

New commands:

  • Added [SET] CURSORSTAY to set the behaviour of the cursor when scrolling the file with FORWARD or BACKWARD. Originally, with the cursor in the filearea, when a FORWARD or BACKWARD command was executed, the cursor would move to the current line (unless SET COMPAT XEDIT/KEDIT was in effect. The default behaviour is now to leave the cursor on the same screen line when the file scrolls (CURSORSTAY ON). This command allows for the original behaviour; with COMPAT THE, to be selected.
  • Added new EXTRACT option; SHOWKEY. This option allows the macro writer to extract the commands assigned to a key after having run a READV KEY command.
  • Added a new sample macro; spell.the. This provides spell checking capabilities in THE. This macro requires International Ispell Version 3.1 or above and REXX support.
  • Added a new sample macro; demo.the. This macro is a self-running demonstration of THE concepts and commands. It requires REXX support. Run it via: the -p demo.the demo.txt
  • Added FIND, FINDUP, FUP, NFIND, NFINDUP and NFUP commands.
  • Added CLOCATE and CDELETE commands, but with no string targets.
  • Added COLUMN option to QUERY and EXTRACT commands.
  • Added BLOCK option to QUERY (already in EXTRACT) command.

New features:

  • This release is the first to run as a native X11 application. Features unique to the X11 version include; resizing of the X window by dragging the window border and mouse support, including cursor positioning, marking blocks etc.
  • The method of reading files from the command line and processing the profile file has changed dramatically. This was done to enable the processing of all commands from the profile file. As a result, a new comand line switch; -b, is required to execute a profile file against a file (or files) in batch mode. This is particularly necessary when run as a cron job under Unix.
  • Added new external function; run_os(). This function enables macro writers the ability to run an OS command with stdin coming from a REXX "array", and stdout and stderr going to a REXX "array".
  • Added [SET] XTERMINAL to specify which program to run when an OS, DOS or ! command is executed without arguments.
  • The source distribution has been reconfigured with GNU autoconf. This should make configuring on different Unix platforms simpler.
  • Added APPENDIX 2 to explain how THE handles the keyboard.
  • Added APPENDIX 3 to document the default mouse behaviour.
  • Added -u display_length command line switch to allow THE to be used as a non-line mode editor.
  • A HTML version of THE reference manual can be generated from the source code. Run "make html" to build the HTML reference files. Start at index.htm.

Changed commands or behaviour:

  • The name of the key associated with the curses KEY_RETURN has been changed from "ENTER" to "RETURN".
  • Rationalised the naming standard for function keys. This could break existing profile key definitions. Check APPENDIX 2 for details.
  • Added the optional argument; ALL to SHOWkey. This will create a new "pseudo" file showing all key default key definitions followed by any redefined keys. The format of the display is suitable for using as a macro to set all key defintions to the state they were in when the SHOWkey ALL command was issued.
  • Default for MSGLINE is now ON 2 5 OVERLAY.
  • Added * OFF option to [SET] RESERVED
  • Added * option to 'EXTRACT /RESERVED */'
  • Added TYPEAHEAD to output from STATUS, and allowed it as a valid QUERY and MODIFY option.
  • Added CMDLINE option to READV command.
  • Default setting for CURLINE in THE compatibility now M; same as for XEDIT and KEDIT compatibility modes.
  • Added SCREEN to QUERY, MODIFY, and EXTRACT.
  • Removed source files: extcurs.c, bsd.c
  • When displaying 2 views of the one file, both views are updated simultaneously.
  • Added RING option to QUERY and EXTRACT commands.
  • Some default key definitions have changed; notably the default assignments for F6, F11, and F12 to be consistent across platforms and because '?' command now works :-)
  • The CONTROL_CHAR and FILLBOX commands, will now leave the cursor positioned in the file rather than at the end of the message line.
  • Changed the format of colour specifiers; THE now supports the optional "on" between foreground and background colours. eg: red on blue, is now allowed, as well as: red blue
  • In XEDIT compatibility mode, it is now possible to move the cursor onto the *** Top of File *** and *** Bottom of File *** lines. This was done to enable the cursor to be moved with the mouse when the mouse is pressed above or below the file limits.
  • The output from SHOWKEY ALL, now has commands enclosed in double quotes (") instead of single quotes ('). This was done to allow for key definitions that contain hex strings.
  • Added NONE option to [SET] EOLOUT
  • Expanded [SET] ETMODE ON to allow for specifying exactly which characters are to be displayed as themselves. This will be beneficial to non-english language users.
  • Cleaned up the documentation and enabled generation of an HTML version of the THE manual.
  • Allowed CMATCH command to be executed from command line, and more importantly, from within a macro.
  • Added optional command to be executed after LOCATE command.
  • Changed the key mapping significantly to provide the most logical key mapping for commonest keyboards; those with 12 function keys. See Appendix 2 for key mappings.
  • SPLIT, SPLTJOIN and JOIN commands now work from the command line and act from the current focus column.
  • More performance improvements have been made; LOCATEing a string with a trailing space is up to 7 times faster CHANGEing lines in a large file is also significantly faster.

Version 2.1 24-Jun-95

Bug fixes:

  • Bug fixed with ALL followed by DEL *
  • Could not find a named line if the named line was the "Bottom of File" marker.
  • Fixed cursor positioning errors if [SET] SCALE, TABLINE or RESERVED were executed while in filearea and the cursor was on the line where the scale, tab or reserved line is to be displayed.
  • copying lines from one file (with SELECT 1 - from ALL) copies lines NOT selected. SCOPE ALL also ignored in copy.
  • PUT and PUTD did not copy the correct number of lines after ALL command
  • QUERY TABKEY and SET TABKEY were not consistant. QUERY TABKEY returns settings as per SET TABKEY.
  • OVERLAYBOX now respects SCOPE
  • Fixed a core dump bug with implied extract under OSF/1.
  • Scale line was not displaying past the end of ZONE.
  • SOS DELWORD now positions the cursor correctly
  • bug with 'c /x //' on some systems fixed.
  • DUPLICATE, when assigned to a key, caused cursor to move strangely
  • LEFT and RIGHT commands allowed in read-only mode.

New commands:

  • Added OSREDIR command.
  • Added a new sample macro; compile.the. This is a macro that will compile the current C program, and enable the stepping through, backwards and forwards, each error message, making each line associated with an error the focus line. Normal editing is still possible, although slower.
  • Added CAPPEND,CFIRST,CINSERT,CLAST,COVERLAY,CREPLACE commands.
  • Added COLUMN option to CURSOR command.
  • Added LSCREEN option to EXTRACT command.

New features:

  • HP-UX version will preserve Access Control Lists (acls) on files if the file is saved with the same name. The directory list (DIR.DIR) also indicates if a file has acls accociated with it by displaying a '+' at the end of the file permission string.
  • The OS/2 version preserves Extended Attributes on files if the file is saved with the same name.
  • the 'pseudo' files DIR.DIR and REXX.$$$ are now REALLY pseudo files. No actual file is created as a result of the DIR/LS commands or from REXX output. Also the filename details displayed on the idline reflect the contents of the file.
  • THE can now read Apple Macintosh text files.
  • Although not strictly a new feature in this release, it should be mentioned that THE will work with both REXX/imc and REXX/6000 on each platform that each of these interpreters is available.

Changed commands or behaviour:

  • SOS MAKECURR now correctly does nothing if executed from the command line
  • Added another option to [SET] EOLOUT; CR, to write out files compatible with the Apple Macintosh.
  • Several performance improvements have been made: Reading and writing of files is now up to 3 times quicker. Operations towards the end of files with many lines is now quicker.
  • GET command now has the options, FROMLINE and NUMLINES to read a portion of a file.
  • Default width reduced from 2048 to 512
  • all commands should now allow trailing spaces on the command line
  • Using BSD curses now incurs a penalty; the bottom line of the screen is not used. This is because BSD curses automatically scrolls the screen when a character is displayed in the bottom right corner. Now that THE can be configured to have different portions of the editor displaying on the bottom line, it was easier to reduce the number of lines rather than try to cater for all combinations of configurations.
  • [SET] TAB can now use specific tab columns as well as INCR and QUERY TAB, and STATUS now display the actual tab columns in effect.

Version 2.0P1 11-Feb-95

Bug fixes:

  • Fixed cursor positioning error when screen was scrolled to the left using CURSOR LEFT and SET VERIFY n m (where n > 1) was in effect.
  • Changed MSG and CMSG so they work from within the profile file.
  • Refresh the screen before accepting keystroke in READV.
  • Allow minimum abbreviation for BOTTOM command to be B.
  • Allow minimum abbreviation for [SET] SCALE command to be SCAL.
  • Fixed problems when using COMPAT command in a profile.
  • Fixed some problems with prefix macros.
  • Fixed Extended Curses port so that a screen of other than 80x24 is now possible.

New commands:

  • Added HIT command.
  • Added FILE option to CURSOR command.
  • Added a new sample macro; l.the. This is a prefix macro that can be used as a template for other prefix macros.

Changed commands or behaviour:

  • Profile processing. Under Unix, THE now executes a "global" profile file from $THE_HOME_DIR and then the "local" profile file in $HOME.
  • The order of Line, Col, Size on the IDLINE has changed in XEDIT compatibility mode to Size, Line, Col.

Version 2.0 26-Jan-95

Bug fixes:

  • Fixed cursor positioning error when screen was an odd number of columns wide.
  • Fixed problem with previous file's contents and command line remaining displayed when editting another file. (Only reported under AIX).
  • Changed code again to handle multiple commands on the command line AND to ignore commands issued when no files are in the ring (excluding any 'edit' commands).
  • Fixed DEFINE to not clear a key defintion until the validation of the new command(s) was complete.
  • Fixed problem with core dumps when a command was passed to the operating system from within a profile file.
  • Fixed bug in CURLINE when specfying a negative position. (Due to changing unsigned char to char)
  • Fixed bug in displaying extended characters in ETMODE.
  • Fixed bug in executing prefix commands after a TABPRE command.
  • Fixed bug in SHIFT LEFT when the length of the line being shifted was < first column of ZONE.
  • Text entered into the main window is displayed with the correct attributes.
  • Fixed bug in entering prefix commands when in the last column of the prefix area; the cursor would wrap to the next line; now it stays in the last column of the prefix area.
  • extracting values using an item abbreviation would result in the REXX macro being set to the abbreviation rather than the full name of the item. The full name of the extracted item is now used.
  • fixed a bug when moving a box block.
  • SPLIT, JOIN, and SPLTJOIN did not account for any pending prefix commands or marked block.
  • Changed all references to keyboard return values from short to int. This is for support of DEC OSF/1 platform.
  • The use of hex strings as an argument to the TEXT command defined to a key, caused problems. ie DEFINE F1 TEXT X'84' was altered after the first use of F1 key.

New commands:

  • Added [SET] DISPLAY, SELECT, SHADOW, SCOPE.
  • Added ALL command.
  • Added CURSOR command.
  • Added LEFT, RIGHT and RGTLEFT commands.
  • Added CURSOR option to EXTRACT command.
  • Added TABL,SCALE,X,XX,S prefix commands.
  • Added [SET] RESERved , [SET] SCALE and [SET] TABLine commands.
  • Added [SET] COMPAT command, to attempt to mimic the default behaviour of XEDIT and KEDIT.
  • Added extra SOS commands: LEFTEDGE,RIGHTEDGE,PREFIX,QCMND,TABFIELDF,TABFIELDB, FIRSTCHAR,FIRSTCOL,LASTCOL,BOTTOMEDGE,TOPEDGE,CURRENT, MARGINL,MARGINR,PARINDENT,TABB.
  • Added new macros, rm.the to delete from disk the file on the focus line of the DIR.DIR file, and words.the to count the number of words to a target.
  • Added COLUMN and WORD options to MARK command.
  • added READV to enable a REXX macro to obtain keystrokes from THE.
  • added [SET] TYPEAHEAD, [SET] HEXSHOW commands
  • added [SET] STATUSLINE, [SET] MSGLINE, [SET] IDLINE commands
  • added [SET] POSITION command

Changed commands or behaviour:

  • Default command for Alt-M/Ctrl-V is now MOVE BLOCK RESET not MOVE BLOCK.
  • FORward 0 now makes the "Top of File" line the current line.
  • BACkward 0 now makes the last line of the file the current line.
  • When the "Bottom of File" line is the current line, FORward will make the "Top of File" line the current line. Similarly for BACkward when on "Top of File".
  • [SET] CMDline OFF option added.
  • [SET] ARBchar now supports multiple character matches
  • In previous versions of THE, any line in a macro file, or profile file, that began with '/*' was treated as a comment line and the line ignored. For implementations of THE without REXX support, execution of a REXX macro caused mayhem. To overcome this situation, any macro file that is used with THE without REXX support must have as its first line the following comment string starting in column 1:
    /*NOREXX*/
    

    All other comments throughout the file can be valid REXX comments (ie. start and end with /* */)

  • A new boolean function incommand() has been added which has the same functionality of the previous command(). The boolean command() function now returns 1 if the command line is on.
  • Reinstated SOS EXECUTE command.
  • the valid_target() external function now returns two values; the first line affected by the target and the number of lines affected by the target. If the target is an invalid target ERROR is returned. If the target is valid, but the target is not found, NOTFOUND is returned. Sample macros altered to use new features.
  • NEXT and UP commands do not support negative relative targets. eg. NEXT -5 , UP -* are now invalid commands. This is to be consistent with XEDIT and KEDIT.
  • ADD command now can be specified as just "A" and when issued from the command line, moves the cursor to the first blank line added.
  • The default behaviour of the ENTER key has changed. When the ENTER key is hit while in the prefix area, if there are any pending prefix commands, they are executed, otherwise the cursor is moved to the first line of the next line as it used to do.
  • [SET] TABSIN ON in the profile file will not increment the ALT count, nor include the changed lines in the recovery list.
  • The SOS ENDCHAR command was incorrect in that it would move the cursor to the start of a line if the cursor was past the end of the line as well as moving the cursor to the end of the line if it wasn't past the end of the line. The correct behaviour of SOS ENDCHAR is to move to the end of the focus line no matter where the cursor currently is. For those of you (like me) who are used to the old behaviour of SOS ENDCHAR, a new SOS command; STARTENDCHAR has been added to THE.
  • [SET] BACKUP now has TEMP and KEEP options.
  • The FILE command behaviour has been changed. Previous versions would not write out a new version of the file if the alteration count was zero and no filename was specified. FILE now behaves the same as XEDIT and KEDIT.
  • Added ability to specify individual tab columns in SET TABS command.

New features:

  • Changed the method of displaying the screen. This was done to cater for shadow, tab,scale and reserved lines and to increase performance.
  • Added "-r" command line switch to operate THE in readonly mode. This is a real readonly mode; it is not possible to change the contents of the file.
  • Repeating targets with boolean operators are now supported.
  • The targets BLANK and ~BLANK are now supported.
  • A command can now follow a target on the command line without requiring a linend character separating the target and command.
    eg. :3 del
    is a valid command. You can even enter
    3 3 3 3
    on the command line to move the current line 12 lines.
    

  • Colour settings are now stored with the file, so different files can have different colours.
  • Wordwrap behaves like KEDIT wordwrapping. When the right-most character of the line exceeds the right margin, the last word wraps to the next line.
  • No limit (apart from available memory) on the number of prefix commands that may be entered. Used to be a limit of 20.
  • Key names no longer need to be expressed in exact case. C-A and c-a are equivalent. Also, where appropriate, keys have the same name across platforms.
  • THE now can be compiled with AIX Extended Curses. This enables colour support when run in an aixterm window.

Version 1.5 01-Dec-93

Bug fixes:

  • It is now possible to issue the commands; EDIT,THE and XEDIT from within a macro or profile file.
  • [SET] CASE settings now inherited by subsequent files editted.
  • [SET] CASE now does not reset settings to default if they are not specified; it leaves the values as they were last set.
  • default value for ZONE end is now the maximum line width not 32766 (maximum possible line length)
  • Bug in CHANGE command. If specifying a trailing space to change a string at the end of a line to null, one too many characters were removed. eg. c/_N // * 1 a line ending in "abc_N" ended up ending in "ab" When changing text at the end of a line and specify more than one space at the end of the target, the target is never found. eg. c/_N // * 1 a line ending in abc_N will not be found Handling of spaces after the real end of the line handled correctly now.
  • Fixed a bug on Unix systems where a key that returned nul would execute 'add 1'.
  • Changed the default handling of 'sos delback' and 'sos delchar' under UNIX. The default key sequences of these keys has been reversed. If you prefer to keep the old definitions, define OLD_DELCHAR_DELBACK on the compile line. This option will disappear in a future version so if you are really attached to the old behaviour, you had better let me know and have a good reason :-) Thanks to Andreas Schott for pointing this out!
  • Added SRC line to makefile for SystemVR4 block.
  • The default value for THE_HOME_DIR under Unix is /opt/THE, if SYSVR4 is defined when compiling or /usr/local/THE otherwise. The major change is the uppercasing of THE (THE's correct acronym)
  • [SET] MACROPATH now sets the correct path value.
  • Fixed bug with prefix command like 'aa'. The A command would be executed with a large number of lines added or you would get a core dump :-(
  • After bringing a suspended THE session to the foreground, THE correctly refreshes.
  • When shelling out, the screen attributes are returned to NORMAL, at least on some platforms;
  • Fixed the occasional strange behaviour of the command line having some of the contents of the prefix area. (It was VERY obscure!)
  • SOS DELWORD would increment ALT and not allow SOS UNDO to work.
  • C-ENTER now valid for DOS and OS/2 versions.
  • Ignore any command issued from a macro file if no more files are left in the ring.
  • Changed the method for splitting a path and filename under DOS and OS/2. Hopefully fewer problems with ending up in the wrong directory. This has also worked around the bug in BCOS2.
  • Reexecute command,= should now reexecute the last statement correctly.
  • Printing under Unix more than once now works.
  • Fixed a few bugs with PUT and GET.

New commands:

  • Added TERMINAL, LASTMSG, MONITOR, POINT [*], PREFIX [SYNONYM name|*] PENDING, GETENV and BLOCK extract options.
  • Added REXX macro for summing the contents of a marked BOX block.
  • Added REXX macro for matching paired words like #ifdef/#endif.
  • Added SORT command.
  • Added [SET] LINEND command to support multiple commands on a line.
  • Added [SET] ETMODE to indicate if extended characters should be displayed. This is designed to handle foreign languages that use the ASCII characters > 127.
  • Added [SET] NONDisp to specify what character is displayed if extended characters are not to be displayed.
  • Added [SET] PENDing to assist with writing block prefix macros.
  • Added [SET] IMPOS/IMPcmscp to allow operating system commands to be executed from the command line without the need to prefix the command with OS or !.
  • Added COMMAND command (Just for Ian Collier ;-))

Changed commands:

  • Added extra argument to [SET] CASE to determine case significance in SORT command.
  • The order of EXTRACT /VERSION/ and QUERY VERSION options has changed.
  • BOTTOM command makes the last line of the file the current line instead of the *** Bottom of file *** line.
  • INPUT [text] command results in the line becoming the current line instead of the previous line, when issued from the command line.
  • Overhaul of commands that add a new line to fix a few bugs.
  • STATUS now displays in 3 columns; I was starting to run out of space with 2 columns. The item name is also highlighted.
  • When compiled with REXX support, [SET] PREFIX now supports prefix synonyms.
  • PUT and PUTD now work with BLOCK as the target.
  • [SET] TABKey changed to be simpler.
  • [SET] ARBchar, TABSIn, TABSOut changed to allow their second parameters to be specified with the OFF option.
  • STATus command now has optional filename parameter.
  • [SET] TABS now has 'INCR' as first operand when EXTRACTing or Querying the value.
  • MODIFY/QUERY of CMDLINE does not contain 2nd operand. This value is only returned as a result of EXTRACT.
  • There is no need to supply a final '/' with the EXTract command.

New features:

  • REXX support for DOS is now available. This version, supplied as a separate archive, contains the THE executable linked with a DOS port of Regina. This version contains a DOS extender, so only runs on 386s or above. This version was compiled with DJGPP, a DOS port of GNU gcc. Included is go32.exe, which is the DOS extender.
  • By default all THE macros are expected to have a file name ending in ".the". The value for the macro file extension can be changed with the [SET] MACROEXT command. This default extension is only applicable to macros searched for in the THE_MACRO_PATH.
  • Added defines.h to specify limits which can be safely changed in the source code.
  • Added ability to execute multiple commands from command line and to assign multiple commands to a key.
  • Now have the option to display extended ASCII codes on Unix platforms.
  • Prefix macros can now be executed. Thanks to Dave Rittenhouse (david@ecst.csuchico.edu) for adding this feature.
  • Prefix synonyms are also definable for REXX macros and standard prefix commands.
  • THE now compiles and runs with BCOS2.
  • Added -n command line switch to enable THE to be run without any profile file.

Warnings:

  • There is an inconsistency with Regina 0.05h in that the use of implied extract with some functions will corrupt values in THE. Implied extract functions that have been observed to corrupt, are fname.1() and fpath.1().

Version 1.4 01-Sep-93 (Not officially released)

Bug fixes:

  • Changed the method for determining the filename of a backup file under OS/2. Originally, if drive type not = FAT, .bak was appended to full file name. Now only if drive type = HPFS is .bak appended.
  • Alteration count was being set to zero when saving a file and the file could not be saved.
  • Fixed a few minor bugs in DUPLICATE command.

New commands:

  • Added support for semicolon specifying an absolute line target

New features:

  • Added support for ncurses under linux. ncurses still has a bug (I believe) that causes some characters to not be cleared.
  • emx 0.8g port now has REXX support
  • DUPLICATE 1 BLOCK assigned to Alt-D (DOS/OS2) and ControlD (UNIX)

Version 1.3 15-Aug-93

Bug fixes:

  • Fixed bug with line block delete and cursor positioning.
  • Number of files being edited no longer gets out of sync when an attempt to edit a new file is aborted (usually because line is too long)
  • Fixed bug in uppercase/lowercase when target was "BLOCK".
  • sos tabwordb, SOS tabwordf, and SOS delword now correctly go the start/end of the word if that word exceeds the width of the screen.

New commands:

  • SOS CURSORAdj
  • SOS DELWord
  • [SET] MARgins
  • [SET] WORDWrap
  • SPlit
  • Join

New features:

  • Changed the highlighting of "non-printable characters" under Unix.
  • emx 0.8g compiler support now working (excluding REXX)
  • word-wrap has been added

Changes:

  • The names of environment variables and the location of default help and profile files has changed. See the file appendix.1 or Appendix 1 of the.man for details.

Version 1.2 27-Jun-93 (Not officially released)

Bug fixes:

  • Previous command line contents were remaining when SOS undo' was executed on command line.
  • THE core dumped when a 'DELETE' command was present in a profile file.
  • THE now displays line numbers > 32k correctly.
  • Display of long filename in window wider than 80 chars now correct.
  • [SET] CURLine now works when called from a profile file

New features:

  • THE now handles either forward (/) or back (\) slashes in path names and converts them automatically. So you can specify d:/path under DOS and OS/2 or \usr\bin under Unix. All paths are displayed on the idline with the default OS path separator.
  • Added new external function, valid_target() to simplify REXX macros
  • added new single character indicator on right end status line to indicate if REXX support is present. Meanings of indicators:
    First character: (colour support)
      C - curses library supports colour and so does monitor
      c - curses library supports colour but monitor doesn't
      M - curses library does not support colour
    Second character: (REXX support)
      R - THE compiled with REXX support
        - (blank) THE compiled without REXX support
    


Version 1.1 17-May-93

Bug fixes:

  • A file with no end of line character on the last line, the last line would not be included in the file.
  • Characters that are in blocks retain their highlighting now.
  • Fixed schange under DOS and OS/2. Cursor is now positioned correctly.
  • Writing out a file will now produce an error if the disk is full and not write part of the file.
  • GET and PUT now recognise ~ in Unix version.
  • PREFIX ON now no longer requires the LEFT|RIGHT option. Defaults to LEFT.
  • TABPRE (to tab between main and prefix areas) now does nothing if PREFIX is OFF.
  • 'bleeding' through of one file to another on BSDish systems now fixed.

New commands:

  • BOX BLOCK COPY/MOVE/DELETE/FILL/OVERLAY
  • LINE BLOCK COPY/MOVE/DELETE
  • FILLBox
  • SOS_makecurr
  • [SET] DIRInclude
  • [D]OSNowait/[D]OSQuiet
  • = (re-execute command)
  • [SET] CMDArrows
  • [SET] CMDline
  • [SET] NEWlines
  • [SET] MSGMode
  • [SET] MACROPath
  • [SET] IMPMACro
  • [SET] NUMber
  • [SET] HEX
  • [SET] CLEARScreen
  • [SET] Point
  • [SET] REXXOUTput
  • [SET] CLOCK
  • [SET] HEXDISPlay
  • SOS DOPREfix
  • the target ALL has been implemented. This is NOT the ALL command.
  • MACRO - execute commands from a file
  • UPPercase, LOWercase
  • SHift
  • DUPlicate
  • EXPand
  • Status
  • Query
  • EMSG
  • SUSPend
  • REDRAW
  • MODIFY
  • TEXT
  • prefix commands: a,i,c,m,d,",<,>,/,cc,mm,dd,"",<<,>>,.xxxxx

Changed commands:

  • insertmode now requires a parameter: ON|OFF|TOGGLE
  • spltjoin now correctly aligns the new line under the focus line
  • SOS_* commands have been changed to separate SOS commands
  • REFRESH command now consistent with XEDIT and KEDIT. Use REDRAW for old REFRESH functionality.

New features:

  • REXX support under OS/2 and Unix(with Regina 0.05)
  • argument passing to REXX macros/profiles
  • EXTRACT
  • Capture REXX trace and Say output to a file in the ring.

Commands removed (temporarily)

  • SCREEN

Version 1.0 16-Aug-92

Released

  • First release to the unsuspecting public.
  • Sent to SIMTEL and comp.binaries.os2.

Return to the index.


The Hessling Editor is Copyright © Mark Hessling, 1990-1998 <M.Hessling@qut.edu.au>
Last modified: April 8, 1999
 


2000-2-16  document@uic.edu
UIC Home Page Search UIC Pages Contact UIC