History:
v1.10	 	2nd February 2003
		Added command-line interface for use with DirSync.   If program is called with -noicon option it will then expect the names of the two files to compare to be supplied as the following options on the command-line, e.g. "Run <SideDiff$Dir>.!Run -noicon IDEFS::4.$.temp.Ch07 IDEFS::4.$.Text.Documents.B7.NotToKnow.Textfiles.Ch07"
		If run under the -noicon option, SideDiff will display no iconbar icon and will quit as soon as its main window is closed.   If -noicon is not specified, any further command-line arguments will be ignored and the program will start up on the iconbar as normal.
		Window no longer resizes to maximum when you drag in files to one or the other pane - the annoyance value of not being able to see the full pathname is far less than that of obscuring the Filer window you were about to use for the next file!
v1.11	 	26th March 2003
		Altered !Run file to default to using Internal copies - otherwise it's just too confusing for new users, who expect the program simply to work first time.
		Allowed -noicon option to take only one filename parameter. If only one filename is supplied, this is expected to be the name of an existing diff file (for use with CVS)
v1.12	 	30th March 2003
		Fixed window redraw on later WIMPs

v2.00	 	(24th May 2003) **MASSIVE UPDATE AND BUGFIX**
		Improved standard display.   Filenames are now held in right-aligned icons above the display panes, so that the leafname is always visible.  Window no longer pops to the front, obscuring Filer windows, whenever a file is dragged into it.   Massive changes to redraw code should provide faster horizontal scrolling and eliminate virtually all flickering.
		Implemented 'landscape' display mode for Jeremy C.B.Nicoll - the two panes are displayed one above the other, giving a wider potential display at the loss of some other features.
		Implemented editing facilities, by popular request.   Sections can now be selected with the mouse and copied from one file into the other by clicking on the new 'transfer icon', selectively eliminating existing differences.  This requires a third GNU utility, 'patch', which has thus been added to the Resources directory.   Also implemented editing of BASIC files via a slightly different mechanism.
		Implemented line numbers, by popular request.   The line numbers column may be removed altogether or dragged to a configurable width.
		Removed support for configuration via system variables in !Run file, and added an extensive range of configuration options in a new Choices window, which can be saved permanently to file.   This includes redefining all colours used in the display panes.
		The 'diffs' generated when files are dragged into SideDiff can now be saved out for later use or inspection.
		The paths for each of the GNU utilities are now set individually, instead of in a list via SideDiff$Internal/External.
		Major changes to menus to conform with Castle's new guidelines.Set up various 'info' system variables (SideDiff$Title, SideDiff$Running, etc.)
		Multiple copies no longer overwrite/delete one another's scrap files.
		Improved handling of 'softwrapped' paragraphs (paragraphs consisting of a single long line like the ones in this file!)   Sections from the middle of these are no longer falsely displayed as lines common to both files.
		Removed support for passing command lines without DDEUtils.   SideDiff now *requires* DDEUtils (if you don't own the module, you'll have to get a copy of one of the freeware clones).
		Got rid of bug where attempting to enlarge a window at maximum size instead caused it to progress leftward across the screen - toggle size also now works as expected.
		Improved percentage display - no longer gets stuck and then 'jumps' over large chunks.
v2.01	26th May 2003
		Changing display mode when an error message was displayed could cause a crash - fixed.
		SideDiff ignored a configured landscape display on start-up - fixed.
		Control characters in input could produce weird display effects - added machine code filter routine to check all strings before displaying them.
		It is no longer possible to save out a 'diff' if the comparison has failed.
		Yet more changes to try to avoid panes going funny under extreme conditions.
v2.10	13th October 2003
		No longer requires new SharedCLibrary to be loaded
		No longer requires bascat utility - SideDiff now does its own detokenisation
		'Refresh' menu entry will force the window to be updated with a fresh comparison between the files currently being displayed (i.e. if they have been edited by some other means since the last diff was taken)
		Preserves scroll offsets after a patch or refresh operation -  no need to scroll back to previous position
		Shift-clicking on a line of text in either pane will open a throwback window displaying just that line, which can be used as a quick & nasty way of opening the relevant file at that line
		Context header regexps (defining what is considered to be a start-of-section line when generating the context header display) are now enclosed with quotes before being passed to the command line, allowing a wider range of regexps to be used without causing errors.
v2.11	7th November 2003
		When BASIC files are being compared, 'Refresh' now reloads *original* files rather than detokenised versions in !Scrap (since the BASIC copies are the files displayed by the Shift-click throwback mechanism, and the only ones the user is likely to be altering using another application!)   Note that this means any changes made in the interim by saving 'patched' versions out as BASICtxt will be forgotten.
		'Auto' width of line number display now takes into account the current desktop font width on RISC OS 3.5+
v2.20	13th March 2004
		Ctrl-L now correctly toggles the 'Link scrollbars' option again, instead of triggering a refresh.
		Implemented the ability to scroll up/down to the start of the next chunk or the next altered line.
		Added toolbar to allow mouse control of this.
		Added new Compare window which appears when files are dragged to the iconbar, to allow the user to select which files to compare without the desktop's being obscured when the main display pops up.
		Throwback now works even when 'normal' editing is disabled.
		Moved save/cancel/set icons to right-hand side of Choices window, by request, and removed visible pane border.
		The 'Save diff' menu option is now greyed out when an existing diff file is loaded from disc (rather than offering to 'save' what would be the results of the previous diff!)
		The 'Refresh' menu option is now greyed out when the files referenced by the diff file being displayed no longer exist (rather than giving an error and blanking the window)
		Added "show whole file" option, which overrides and hence greys out the 'lines of context' options.
		Key shortcuts:   Ctrl-PageUp/PageDown - go to next/previous chunk, Space - go to next altered line, Hyphen - go to previous altered line, Ctrl-T - reopen floating toolbar, F3 - save out diff file, F1 - open help file
		Pressing TAB to toggle input focus between the panes now works even if 'Link scrollbars' is selected.
		Now uses a cream background for the slider above the pane with the input focus, providing a visible cue as to which is currently selected.
		Added 'Discard data' menu option to allow the user to reclaim memory after creating/displaying a large diff file.
		ADJUST-click on iconbar now opens Choices window.
		Toggling between the two sections of the Choices window no longer causes the window to lose the input focus.
		Fixed bug in machine code when detokenising GOTO lines
		Hardwrapped Help file to 78 columns to make it compatible with Web browsers (a deplorably retrograde step!)
		ADJUST-clicking on close icon now opens parent directory of pane with input focus (rather than always using the left-hand pane)
		Removes iconised windows from Pinboard before reopening them
		Increased Wimpslot by 4k
v2.30	18th July 2004
		Added outline font capability.  Display submenu allows font name, size (x and y res) and height (y res only) to be selected, plus new section with preview icon in Choices window allowing default font setup to be saved
		Added support for copying data out to global clipboard
		Added Selection submenu with key shortcuts
		Fixed bug where ADJUST-click on close icon caused crash if SideDiff window did not have input focus
		Moved hard-coded Compare window title (created from within program) out into Messages file to allow for translation if desired
		Added extra Choices... menu entry to main window menu when SideDiff is invoked with '-noicon' option (e.g. from within DirSync program). This allows access to regexp options, etc.
		Fixed bug where saved window background colour configuration was ignored in favour of default grey
		Choices window now restores input focus when closed
		Increased Wimpslot again
v2.31	October/November 2004
		Patched problem with DrWimp->Zap scrap transfer (affecting clipboard copying)
		Added option to allow the user to disable automatic backups, by request
		Made font size/height icons in Choices window writable
		Altered DrWimp version to 4.10
		Now copes more gracefully when the configured default/in-use outline font is unexpectedly unavailable!
		Fixed bug which could lead to *both* panes' appearing to have input focus after Choices window closed
		Now works properly if Messages file is edited to customise font size/height menu
		Altered default global clipboard behaviour to retain selection after copy operation;  added option to override this for my own use!
v2.32	3rd December 2004
		Pop-up menus in the Choices window now appear at the correct relative position.
		Fixed a bug where group box labels would display any sprite of the same name from the Wimp sprite pool.
v240	27th March 2005
		Fixed bug where using the -noicon option to display the result of an external 'diff' command that yielded an error message (e.g. where both files were the same) would delete the input file and leave the program running after the main window was closed.
		Error messages are now displayed using the user-defined colour for 'unchanged text' (to ensure that they show up against the user-defined background) rather than in an arbitrary dark colour.
		Altering program choices while an error message was displayed caused an address exception, due to the presence of text lines but absence of line numbers(!)
		Enabling of 'Refresh' entry on main menu is now simply dependent on the contents of the filename icons  - if paths are displayed for both panes, then it is possible to refresh the display (e.g. even if the original comparison resulted in a error message, the error having subsequently been fixed).
		'Auto' width of line display where the last line in one pane was unnumbered (i.e. a 'catch-up' line) had been broken since the upgrade to outline font support.
		Shortened interactive help text for 'expand tabs' option to cope with change in DrWimp message-handling
		Pressing Return in the font sample icon had no effect.
		Altered filter code to substitute plain spaces for control characters instead of zero-width zero bytes!
	General overhaul of dragging/diff detection procedures:
		Improved auto-detection of diff files dragged in, and added feature for Jeremy C.B.Nicoll, overriding detection altogether if CTRL key is held down - diff files will be treated as ordinary data.   This allows comparison of one diff file with another if desired.
		SideDiff is now much more strict about what is and is not a valid diff file, and will give an error if it thinks it is parsing a diff and comes across something unexpected.   This may cause problems.
		Reversed selection/null-poll handling - now *always* waits for a null poll before dragged files are interpreted.   As a result, no longer crashes when a selection of more than two files is dragged(!)
		No longer pops up dropbox after displaying diff when diff arrives as *last* file in a selection (can't do much about unwanted behaviour when it arrives as first, unfortunately)
		No longer re-tests for presence/absence of original files every time MENU is pressed - this makes it usable, finally, for viewing diffs created on other computers without causing perpetual 'insert disc' prompts!
		Now allows you to 'save out' copies of diff files dragged in from elsewhere on disc as well as those created by SideDiff itself.
v2.41	2nd April 2005
		Now uses --strip-trailing-cr option to allow it to compare correctly files where one or both have DOS-style line endings.
		Attempts to compensate for diff files created (externally) without this option.
		Added new option to override new diff file syntax checks if preferred.
v2.42	17th May 2005
		Wrote entirely new line input routine to replace BASIC's GET$. Removed --strip-trailing-cr option (program now does its own stripping and disables editing & warns if it has done so - possibility of corrupting original files).   Removed other complex code added to this area in v2.41(!)   Ability to display diff files originating on DOS machines (accidentally removed in v2.41) restored.
		Added new option to override warning error box above, as I suspect it could get irritating.
		It is now possible to *select* text even when editing is disabled (landscape/long lines/CR-detected modes).   This allows the use of the clipboard.
		Upgraded to v2.11 of ResFind (copes with long country names) on the offchance that someone might some day want to write some foreign resources for SideDiff....
v2.43	22nd May 2005
		Improved command-line error handling.   When the program is invoked from the command-line with the name of a single file passed as a parameter, it now gives a error if this does not seem to be a diff file.   If a 'Diff file format not understood' error occurs later during the parsing of this file, the program quits (instead of failing to open its window and having to be killed from the Task Manager)!
		SideDiff can now read its parameters via the DDEUtils extended command-line if called in this manner.
		Otherwise, SideDiff can now handle command-lines that expand to more than 255 characters.
		Bug fix: program no longer causes other applications to lose the input focus when its own main window is closed.
v2.44	5th September 2005
		Disabled command-line error checking again;  SideDiff now displays the contents of any single non-diff file passed using the 'noicon' parameter in its window, on the assumption that it's probably an error message generated by an external call to 'diff'.
		Upgraded DrWimp to version 4.30 to fix issue affecting new A9Home machines.
		Bug fix: for consistency, reloaded diffs of BASIC files can now be used to apply patches just as reloaded diffs of plain text files can.   (Detokenised copies of the originals are made in !Scrap before patching, just as was done before taking the diff in the first place - they may have been altered and no longer match saved diff, but this is a risk we already take with plain text files....)