<section id="changelog/index">
  <title>Change log</title>

  <section id="changelog/0-36">
    <title>Version 0.36 - 6 September 2003</title>
    <simplelist>
      <member>Added -dontproxy to RunFilerAc.</member>
      <member>Added -priority switch to all the IconSprites related menus and commands for Select 3.</member>
      <member>Added Castle recommended system variables to !Run</member>
      <member>Added error checking to DoClose (used in combination with Switch)</member>
      <member>Added language translations the Director module and Info window. (with thanks to J&eacute;r&ocirc;me Mathevet for the French translations and code testing)</member>
      <member>Added RISCOS 4 service table to all suitable modules.</member>
      <member>Added routine signatures to all modules.</member>
      <member>Added support to the -maxwimpslot and -minwimpslot options for an 'm' or 'M' suffix (for megabyte).</member>
      <member>Adjusted templates so that they look nicer in Select3.</member>
      <member>Close can now accept a command line argument of a window handle.</member>
      <member>CommMenu fixed to handle '|' chars from the output of a *command.</member>
      <member>Corrected module header for AddRes and modified it so that it can add single files to Resources:$ .</member>
      <member>FilerMenu copes with objects which don't exist.  (J&eacute;r&ocirc;me Mathevet)</member>
      <member>Fixed !Run file to reduce the Description length (for pre-RISC OS 4 machines)</member>
      <member>Fixed DoClose so that it terminates the Iconize WIMP message. (Harriet Bazley)</member>
      <member>Fixed the bug where &quot;*DirectorWindow &lt;window&gt;&quot; followed by another *DirectorWindow operation on the same window without a Wimp_Poll inbetween caused Director to fail.   (Richard Hallas)</member>
      <member>Fixed up BinPL so that when it deleted entries they weren't send to Recyclone under Select 3.</member>
      <member>Internal changes made to the build process.</member>
      <member>MenuMenu now handles Resources:$ and other FSes which end in :$ (i.e. are without drive numbers).  (J&eacute;r&ocirc;me Mathevet)</member>
      <member>ModVersion now handles the situation better if the module in question isn't present.</member>
      <member>Now builds two Director modules, one for RISC OS 3.1 and one for RISC OS 3.6+ for language translations.</member>
      <member>Stopped OldMenu: from generating an 'Illegal window handle' error under certain conditions.</member>
      <member>Switch no longer mangles window title bars with '&lt;untitled&gt;' in them. It also handles window title bars which include the '&lt;' character, correctly.</member>
    </simplelist>
  </section>

  <section id="changelog/0-35">
    <title>Version 0.35 - 1 June 2003</title>
    <para>This release was pulled due to potential issues with the Director module.</para>
  </section>

  <section id="changelog/0-34">
    <title>Version 0.34 - 15 April 2003</title>
    <member>Fixed preservation of flags in Filters.</member>
    <member>Fixed AddRes (it now produces working modules).</member>
  </section>

  <section id="changelog/0-33">
    <title>Version 0.33 - 5 April 2003</title>
    <simplelist>
      <member>32-bitted Director and associated utilities</member>
      <member>Added French resources, with thanks to J&eacute;r&ocirc;me Mathevet</member>
      <member>Added RISC OS 5 Sprites.  (Richard Hallas)</member>
      <member>Checks for pre-RISC OS 5 before setting up the BackIcon filters.  (Richard Hallas)</member>
      <member>Added -maxwimpslot to DirectorOptions.</member>
      <member>Added CVSMenu and added support for this into MenuMenu.  (Dan Ellis)</member>
      <member>Expanded FilerMenu and added support for this into MenuMenu.</member>
      <member>TreePick can now accept multiple filetypes in one go.  (Lenny)</member>
      <member>miscellaneous MenuMenu changes.  (Harriet Bazley)</member>
      <member>Fixed Memoriser to handle badly formed data open messages.  (Matthias Faust)</member>
      <member>Fixed the &quot;Close Filers&quot; menu option and removed its keyboard shortcut.  (Harriet Bazley)</member>
      <member>Fixed handling of long system variables under RISC OS 3.1 (Harriet Bazley)</member>
      <member>Bug in DirectorEdit fixed.</member>
      <member>Bug in DirectorURL fixed (and other changes to DirectorURL).  (Lenny)</member>
      <member>Bug fixed if there is an error when starting Director.  (Harriet Bazley)</member>
      <member>Other miscellaneous bugs fixed.</member>
    </simplelist>
  </section>

  <section id="changelog/0-32">
    <title>Version 0.32 - 17 December 2002</title>
    <simplelist>
      <member>Added NewIcons command alias.  (Philip Ludlam)</member>
      <member>Added DirectorOptions command. See NewDocs for more information.  (Philip Ludlam)</member>
      <member>Added IfCommand utility (not documented yet).  (Philip Ludlam)</member>
      <member>Added WinLogo and WinMenu as keys which Director understands (OS dependant).  (Philip Ludlam)</member>
      <member>Added ModVersion utility.  (Philip Ludlam)</member>
      <member>Changed format for bin to YYYY-MM-DD.  (Jrme Mathevet)</member>
      <member>Udated IfX utility.  (Philip Ludlam)</member>
      <member>After loading Director checks the status of MenuProcessing. If it is off then the user is informed.  (Philip Ludlam)</member>
      <member>Fixed bug if AddSprites wasn't present.  (Martin Dann)</member>
      <member>Fixed repeated EndMenu's causing internal errors.  (Philip Ludlam)</member>
      <member>Fixed a couple of bugs in TreePickSM and TreePick.  (Lenny)</member>
      <member>Fixed bug in FindDrives and possible bug in ExpPath.  (Chris Manning)</member>
      <member>Minor changes to make Director happier with RISC OS 4.33/Select2i3.  (Philip Ludlam).</member>
      <member>Fixed a few other bugs.  (Philip Ludlam)</member>
      <member>All BASIC assembler files changed to ObjAsm format.  (Philip Ludlam)</member>
    </simplelist>
  </section>

  <section id="changelog/0-31">
    <title>Version 0.31 - 14 August 2002 (beta release only)</title>
    <simplelist>
      <member>Added CDVolume.  (Martin Dann)</member>
      <member>Added ModuleInfo.  (Steve Johnson)</member>
      <member>Added Quit option to Tasks menu.</member>
      <member>Added NewDocs directory.</member>
      <member>Expanded Backdrops, Icons, Palettes and Tools menus.  (Lenny)</member>
      <member>MenuProcessing is now nestable.</member>
      <member>All directory menus (menu click on a Filer title bar) are sorted alphabetically, rather than by ASCII value.  (Lenny)</member>
      <member>Directory menus (menu click on a Filer title bar) and MenuMenu menus should now work for Pipe:$</member>
      <member>Improved DirectorURL to support the ANT/InetSuite protocol for launching URLs (still needs minor work though).</member>
      <member>DirectorEdit can force a text editor to be loaded to edit a file.</member>
      <member>FindDrives supports the -default command line option which sets the default display option. Fixed other bugs in FindDrives.</member>
      <member>Rationalised the Modules menu.  (Harriet Bazley)</member>
      <member>Fixed occasional start up errors.  (Harriet Bazley)</member>
      <member>Files operated on by MenuMenu are now also added to the Memoriser.  (Harriet Bazley)</member>
      <member>Fixed a couple of bugs in displaying free memory/free drive space.  (Harriet Bazley)</member>
      <member>Fixed 'Option -dash'.  (Harriet Bazley)</member>
      <member>Fixed Dash with no previous Option.</member>
    </simplelist>
  </section>

  <section id="changelog/0-30">
    <title>Version 0.30 - 01 May 2002 (beta release only)</title>
    <simplelist>
      <member>Re-implemented FindDrives (it still needs work though).</member>
      <member>Added support for displaying the free space of a drive under DirectorIcon.</member>
      <member>Director should canonicalise the path of any directories/files it opens. For instance instead of it opening Files:WebSites it willnow open ADFS::HardDisk4.$.Files.WebSites .  (Harriet Bazley)</member>
      <member>Added RMSave utility which can save a module to disk.  (Jamie Temple)</member>
      <member>The Switch utility in past versions never listed windows opened by Nettle and any 'Edit mail message StrongED/Messenger(Pro)' windows.</member>
      <member>Expanded DirectorWindow.</member>
      <member>Partially removed the Info window and replaced it with a DirectorWindow. See !Commands file for initial details of the DirectorWindow command.</member>
      <member>Fixed a problem with the CD drive icons.  (Matthew Somerville)</member>
      <member>Fixed a few DirectorIcon bugs.</member>
      <member>Added source code for AddRes.</member>
      <member>Other internal changes have been made.</member>
    </simplelist>
  </section>

  <section id="changelog/0-29">
    <title>Version 0.29 - 3 March 2002</title>
    <simplelist>
      <member>Trims module help strings if greater than 255 characters (Reuben Thomas)</member>
      <member>Fixed list of module SWI calls, when the module is PrintQFS.  (Matthew Somerville)</member>
      <member>Fixed Unknown operand error when clicking menu over a CDFS icon.  (Andrew, James Carey)</member>
      <member>Added filters for the backicon icon on windows (J.Wright):
  Adjust:         brings window to the top
  Shift + Select: moves window down one
  Shift + Adjust: moves window up one</member>
      <member>Stopped MenuMenu's using sexed quotes in menus as this caused some problems with certain fonts.  (Lenny)</member>
      <member>Added, changed and removed some MenuMenu items.  (Harriet Bazley)</member>
      <member>Added 'Close All (app)' option to Close window section.  (Jon Wright)</member>
      <member>Added initial support for launching URLs from Director with the command DirectorURL. See the Docs.!Commands for more details.</member>
      <member>Altered !!SetVars to make an intelligent guess about the which is the main hard drive (partition) on a system.  (a4)</member>
      <member>Altered the Paths menu to include Run$Path.  (Lenny)</member>
      <member>Cleaned up the System menu.  (Lenny)</member>
      <member>Fixed support for RISC OS 3.1 within Switch (and co.).  (Harriet Bazley)</member>
      <member>A bug in memoriser could cause an Abort on data transfer error when quitting Director under certain conditions. This has been fixed.  (Matthew Somerville)</member>
      <member>A bug when loading an empty memoriser file has been fixed.  (Fred Graute)</member>
      <member>Now uses Filer_OpenDir to open directories rather than Filer_Run.</member>
      <member>A bug in MemoriserClear has been fixed.</member>
      <member>Fixed bug in Templates file which caused Director to report the error: &quot;Window not found&quot; if you click on one or two icons in the Info window.  (Matthew Somerville)</member>
      <member>Miscellaneous memoriser bugs have been fixed as well.</member>
      <member>Minor alterations have been made to the way Director is compiled. You should not notice any differences in day to day usage though.</member>
    </simplelist>
  </section>

  <section id="changelog/0-28">
    <title>Version 0.28 - 30 January 2002</title>
    <simplelist>
      <member>Zero terminates certain wimp messages. The previous behaviour could cause error messages from a filing system in the wrong circumstances.</member>
      <member>Items like ADFS::HardDisk4.$ used to get split just after the last ':'. This has been fixed.</member>
      <member>Expanded the Edit Current Menu menu.</member>
    </simplelist>
  </section>

  <section id="changelog/0-27">
    <title>Version 0.27 - 22 January 2002</title>
    <para>Director licence changed to the GPL: http://www.gnu.org/copyleft/gpl.html
  Development passed from Nick Craig-Wood to the RISC OS Director developers:
  mailto:director-developers@lists.sourceforge.net</para>

    <simplelist>
      <member>Partially fixed sorting filer menus. In OldMenu made director issue the mouse movement before the send message to see if that cures the problem with Larger.</member>
      <member>Fixed Switch so it deals properly with 0 length title bars. Sometimes under RISCOS 3.7 the wimp transfer doesn't work properly and gives a 0 length title bar - this seems to be a bug in Wimp_TransferBlock. Putting an XOS_SynchroniseCodeAreas in fixes the problem.</member>
      <member>Made a Sockets menu - based on Stewart Brodies opensocks</member>
      <member>Fixed Modules menu again! (Tabs in version strings (Reuben Thomas) and strings terminated by CR not 0)</member>
      <member>Fixed a bug in the path menu maker which was making incorrect validation strings for -nosprite -path items (thanks to Dick Tanis for spotting this)</member>
      <member>Fixed a bug which meant that Director$AtExit... commands were not run when Director quit.</member>
      <member>Added -allow option to the Option command. Allows the user to specify what characters can or cannot be typed in.</member>
      <member>MemoriserClear and Notes utilities added. 3rdParty directory added.</member>
      <member>Changed the menu options that set background colours for menu items when running under RISC OS 4.</member>
    </simplelist>
  </section>

  <section id="changelog/0-26">
    <title>Version 0.26 - 30 January 1996</title>
    <simplelist>
      <member>Set Director$WindowName when running a command also, so Windows can kill themselves.</member>
      <member>Made F0 an alias of Print</member>
    </simplelist>
  </section>

  <section id="changelog/0-25">
    <title>Version 0.25 - 25 January 1996</title>
    <simplelist>
      <member>Included biggest into the release to make those mysterious menu options work!</member>
      <member>Added a line into !Core looking for the old IfThereIs to produce an error.</member>
      <member>Fixed: Bug where director tried to patch up a window definition. This was causing a lot of odd problems. Director now only patches up a menu when it is moved from the stored list to the displayed list. This will stop director patching up memoriser menus and directory menus which isn't required.</member>
      <member>Fixed: Adjust clicking 4 times in quick succession on a drive icon causes a crash. It was patching up a non existent menu, and was fixed by the code above.</member>
      <member>Fixed: Memoriser save file kept growing and growing (finally noticed when it had 384 items in it :-) Changed the way the memoriser works internally (it no longer tries to keep a count of items - which was going wrong), and it now prunes the block when it is shown as a menu.</member>
      <member>Made hourglass count when running though DirectorObey files. It is not an accurate percentage, just an indication that something is  happening!</member>
      <member>Made parameter to DirectorShowMenu be GSTransed</member>
      <member>Changed StartTask to use Wimp_ReadSysInfo5 rather than the old method of sending a message. This is shorter and better!</member>
      <member>Added Click and AppEnsure by Malcolm Boura into the distribution.</member>
      <member>Added DirectorWindow and support to go with it.</member>
    </simplelist>
  </section>

  <section id="changelog/0-24">
    <title>Version 0.24 - 8 January 1996</title>
    <simplelist>
      <member>Fixed bug where MenuMenu off first item above the dashed line in a directory menu goes wrong if you traverse any other items because Director$... gets reset</member>
      <member>Fixed OldMenu: bug where Director would do something random if a click hadn't been filtered and OldMenu: was used.</member>
      <member>Made DirectorObey throwback errors and produce errors texts of the form &quot;&lt;error&gt; at line &lt;n&gt; of file &lt;name&gt;&quot; for people without DDEUtils. This should make it very much easier to track down problems with Director scripts provided that they were DirectorObey-ed which all the default ones are (self defence really ;-). It is interesting what happens when you get nested DirectorObey calls with errors :-)</member>
      <member>When Director quits it looks though any system variables of the form Director$AtExit* and runs the associated commands. Note that these commands wont get run if you double click on Director while it is running. This is because Director isn't running as a task when it is killed (and can't do) so it can't launch the commands as tasks. If anyone feels strongly about this then I might change it (it would mean replacing the RMKill Director in !Run with a program to send a quit message to director, and wait for director to die before continuing).</member>
      <member>Used Director$AtExit to make auto save and load for the memoriser in the file Director:Memory.</member>
      <member>Included AddRes and CommandBasic from Paul Clifford into the Utils directory. Edit the !Run file if you want CommandBasic loaded by default.</member>
    </simplelist>
  </section>

  <section id="changelog/0-23">
    <title>Version 0.23 - 30 November 1995</title>
    <simplelist>
      <member>Changed Alias$RedrawScreen so it works properly! Thanks to Paul Clifford.</member>
      <member>Added -sort to EndMenu</member>
      <member>Added SWIs Director_QuickSort and Director_SortMenu</member>
      <member>Modules etc revisited by Russel Thickings</member>
      <member>New FileTypes from Paul Clifford (much faster and configurable)</member>
      <member>Added dynamic areas dynamic menu</member>
    </simplelist>
  </section>

  <section id="changelog/0-22">
    <title>Version 0.22 - 31 October 1995</title>
    <simplelist>
      <member>Added dynamic menu Director:Menus.System.ShareFS for listing ShareFS (Access) discs and servers.</member>
      <member>Changed Director:Menus.System.FindDrives to look for ShareFS drives also.</member>
      <member>Cy Booker improved OpenFiles to make it sorted and allow unlimited length file names.</member>
      <member>A few changes needed after installing OSLib 5.1</member>
      <member>Made NormalReturn preserve all registers rather than none! This means that the SWIs preserve their registers like they should. (Thanks to Paul Clifford for pointing this out.)</member>
      <member>Switch added and Close and DoClose modified by Russell Thickings with some further tweaks by me. Added a filter on menu over a back icon to put Switch up by default.</member>
      <member>DoClose modified so pin no longer gives an error message if it can't find a file name, it iconises the window instead. Also Close now uses the -file attribute in DirectorMouseDir so that for example Zap windows can be pinned.</member>
      <member>Added *DirectorSortMenu. Don't try sorting menu blocks with key short cuts!</member>
      <member>Made the file menus be sorted by name. This fixes the sorting problems when using LongFiles, DOSFS and CDFS.</member>
      <member>Made the first item above the dotted line in a path menu with up menus give the MenuMenu as a sub-menu rather than having no sub-menu. Clicking on this option does the normal thing for a path though.</member>
    </simplelist>
  </section>

  <section id="changelog/0-21">
    <title>Version 0.21 - 21 July 1995 - *** Public Release #3 via Acorn User October 1995 issue</title>
    <simplelist>
      <member>Opened the keys window with a position of -3 so it never becomes visible.
*** took it out again as it stiffs the machine when you press
        <inlinemediaobject>
          <imageobject><imagedata fileref="&images2;Up.gif"></imageobject>
          <textobject><phrase>&uarr;</phrase></textobject>
        </inlinemediaobject>F12 :-(</member>
      <member>Only update time icons when the time string has changed. This stops the once per second flicker if you have a HH:MM time display.</member>
      <member>IfThereIs had another parameter -X to suppress errors added.</member>
      <member>Fixed a bug in Utils.FilerAc which stopped delete working on RISCOS 3.10</member>
      <member>Fixed a bug in System.Variables which stopped &quot;text working.</member>
    </simplelist>
  </section>

  <section id="changelog/0-20">
    <title>Version 0.20 - 22 June 1995</title>
    <simplelist>
      <member>Support interactive help in a basic form, prior to adding display of what each menu entry does.</member>
      <member>Made -key exit quietly if given an empty string to enable the passing of keys in system variables, null variable meaning no key.</member>
    </simplelist>
  </section>

  <section id="changelog/0-19">
    <title>Version 0.19 - 16 July 1995</title>
    <simplelist>
      <member>Made menu entry icon validation strings fixed length so they can be changed later. Interestingly padding with ; provokes the RISOS 3.5 menu width bug, padding with space doesn't.</member>
      <member>Before opening a menu, any path items have their sprites updated. At last application and file sprites get updated properly as the applications are seen! (Dom, this one is for you :-) However it only updates it once from unknown app to prite, so opening menus with path items doesn't take too long.</member>
      <member>Not found path items will now go from shaded to un-shaded if they are laterfound.</member>
      <member>Filter's system changed to use Wimp_Filter for all non -ve icons. This makes it much better behaved when the machine is busy.</member>
      <member>Made director use Service_FilterManagerInstalled and Service_FilterManagerDying to restart its filters if the filter manager is restarted (eg when running the toolbox on RISCOS 3.10)</member>
      <member>We now restart the filer wimp filter if the filer is restarted.</member>
      <member>Added -sprite to Option. This can be used to specify a sprite which must be of the correct size, for a menu entry. If the sprite is not found then small_xxx will be used.</member>
    </simplelist>
  </section>

  <section id="changelog/0-18">
    <title>Version 0.18 - 5 May 1995 - Public Release #2</title>
    <simplelist>
      <member>Fixed: a bug in the Ack routine. Would have crashed director if anyone had sent it a recorded message.</member>
      <member>You can now drag files from the filer or pinboard into the savebox. It leaves bits of the old icon behind for some reason.</member>
      <member>Added -dragto to DirectorIcon. This specifies a menu which is run when a file is dragged to a director icon. The file path is is Director$CurrentPath &hellip;Leaf and &hellip;Dir as usual.</member>
      <member>Added -dragfrom to DirectorIcon. This either takes a path which then acts exactly like the SaveBox or takes a menu preceded by * which will be run with Director$CurrentPath &hellip;Leaf and &hellip;Dir set up.</member>
      <member>Added -file to DirectorMouseDir. This indicates that a file result is acceptable. Changed MenuMenu to use it.</member>
      <member>Fixed: untyped files don't display an icon</member>
    </simplelist>
  </section>

  <section id="changelog/0-17">
    <title>Version 0.17 - 2 May 1995</title>
    <simplelist>
      <member>Fixed: When the computer is busy the menus don't always work properly. When we are using Wimp_GetPointerInfo from within the OS_Mouse routine, we are getting old information. This includes the mouse position AND the window handle / icon. Updating the mouse position in the window pointer block fixes the problem.</member>
      <member>Made dynamic menus (only) set Director$Window and Director$Icon to the window handle and icon number that the request was over respectively.</member>
      <member>Fixed: directorfilter &quot;xxxx&quot; xxxx pinboard -menu, where xxxx isn't a valid task name, causes everything to be intercepted!</member>
      <member>Fixed: Can't attach a filter to an iconbar icon.</member>
      <member>Added a pretend icon type IconBar so it is possible to filter on icon bar icons only. Eg:
    DirectorFilter &quot;CDFS&quot; &quot;CDFS Filer&quot; &quot;CDFS&quot; -icon IconBar -menu
</member>
    </simplelist>
  </section>

  <section id="changelog/0-16">
    <title>Version 0.16 - 11 April 1995</title>
    <simplelist>
      <member>Changed the source files into h and s directories and made the h files import the correct labels. Shows up all the places where routines are in the wrong place!</member>
      <member>Started using Straylight's setdate program. It finally sorts out the makefile problems of creating a bit of source program with the date in it.</member>
    </simplelist>
  </section>

  <section id="changelog/0-15">
    <title>Version 0.15 - 7 April 1995</title>
    <simplelist>
      <member>Implemented DirectorShowMenu. This means that you can create obey files to be pinned to the backdrop and clicked on to get menus appearing.</member>
      <member>-nosprite added to the option command. This stops a sprite appearing in a path menu. It also stops the menu entry being greyed out if it did not exist.</member>
      <member>-remove option added to Menu .</member>
      <member>-remove option added to DirectorIcon .</member>
      <member>If the menu or icon is not found then they don't return an error.</member>
      <member>Added colours and icon numbers to Menu.Aliases .</member>
      <member>Added DirectorFilter to director and removed the built in filters on the pinboard, and title bars. Now need to add the following to get the previous default setup.
    DirectorFilter &quot;Title Bar Directory Menu&quot; * Path: -icon TitleBar -menu
    DirectorFilter &quot;Alt Menu Directory Menu&quot; * Path: -menu -alt
    DirectorFilter &quot;Pinboard Menu&quot; Pinboard Pinboard -icon WorkArea -menu
</member>
      <member>Put auto detection of tasks starting and closing to keep the task handles up to date. You can now filter on a task which isn't started, and director will notice when it starts and change the task handle.</member>
      <member>Enumerated lists of menus/icons/filter added using a SWI interface and dynamic menus, using new SWI Director_Enumerate.</member>
      <member>Added memory information SWI Director_Memory and a dynamic menu to show it.</member>
      <member>Removed DirectorMemory and ListMenus as they are redundant along with the number printing routines as they are no longer used. This saved 920 bytes.</member>
    </simplelist>
  </section>

  <section id="changelog/0-14">
    <title>Version 0.14 - 21 March 1995</title>
    <simplelist>
      <member>Made director use Dynamic areas if the OS supports them. This has the advantage of reducing RMA fragmentation. The module code and its main workspace (3.5k) are still held in the RMA, but all other allocations will come from the dynamic area. The area should shrink and grow as necessary.</member>
      <member>DirectorMemory altered to return information about the dynamic area if it is in operation.</member>
      <member>Fixed MenuMenu over filers (again).</member>
      <member>MemoriserSave and MemoriserLoad implemented.</member>
    </simplelist>
  </section>

  <section id="changelog/0-13">
    <title>Version 0.13 - 17 March 1995</title>
    <simplelist>
      <member>Claimed UpCallV to intercept Media not present and Media not known. This is done when generating path menus and when generating directory menus. For some reason using OS_ChangeEnvironment didn't work, maybe it doesn't for module tasks. Using OS_Claim on UpCallV worked fine.</member>
      <member>Added 256 bytes space on the end of the OS_GBPB block when reading directories. This is for badly behaved file systems (like CDFS) which write off the end of the block. Fixes only getting partial directory menus on some CD-ROMs with very large directories.</member>
      <member>If a file (or directory) in the memoriser menu is not found when Memoriser: is being opened (eg you've deleted it) then it will be removed from memorised files and won't show on the menu.</member>
      <member>An optional parameter has been added to Memoriser:. It is numeric in the range 0 - 7. If it is omitted memoriser works as before.
    Memoriser:1 - memoriser shows applications
    Memoriser:2 - memoriser shows directories and images
    Memoriser:4 - memoriser shows files
The parameters can be combined in a linear fashion, eg Memoriser:6 shows directories, images and applications but not files.
</member>
      <member>Invented an error exit macro which save an instruction sometimes (when exiting from a routine with a stack frame), and at least 4 cycles. Makes the macros more logical and easier to use also.</member>
    </simplelist>
  </section>

  <section id="changelog/0-12">
    <title>Version 0.12 - 15 March 1995</title>
    <simplelist>
      <member>MakeRelease corrected to include my menu, not two copies of the default menu.</member>
      <member>OpenFiles and Tasks dynamic menus added.</member>
      <member>Dynamic MenuMenu converted into BASIC for speed, and fiddled with extensively.</member>
      <member>Lots more small changes and bug fixes in the menus.</member>
      <member>Fixed director and Filer Short Cuts interaction by making director stricter about which menu entry in the filer it allows a click over.</member>
    </simplelist>
  </section>

  <section id="changelog/0-11">
    <title>Version 0.11 - 21 October 1994 - Public Release #1</title>
    <simplelist>
      <member>DirectorEdit changed so it works in a task window and at the F12 star prompt. Should work from every possible situation now.</member>
      <member>DirectorMouseDir implemented (an external interface to an existing routine).</member>
    </simplelist>
  </section>

  <section id="changelog/0-10">
    <title>Version 0.10 - 19 October 1994</title>
    <simplelist>
      <member>Menu over filer menu had stopped working.</member>
      <member>DirectorPathParse implemented (an external interface to an existing routine).</member>
    </simplelist>
  </section>

  <section id="changelog/0-09">
    <title>Version 0.09 - 10 October 1994</title>
    <simplelist>
      <member>Dynamic: made. Works like Command: except the command should set Director$Menu to the name of the extended menu to open on its return.</member>
      <member>-up makes the item have a submenu even if it is a file.</member>
      <member>SWI interface made. Pass r0 as a string with the parameters to the equivalently named * command to speed up dynamic menus.</member>
      <member>GSTrans: command made. It GSTranses the following command and then reinterprets it.</member>
      <member>Director$MenuMenu used to get name of MenuMenu to open (could/should do this to the pinboard menu also).</member>
      <member>-temp option added to Menu. A menu with -temp will be displayed once and then destroyed. Useful for dynamic menus and used internally with directory menus. Temporary menus show on ListMenus with a * appended.</member>
      <member>MenuText system variable is set whenever a menu selection is decoded so it can be used in dynamic menus attached as sub-menus, not just commands.</member>
    </simplelist>
  </section>

  <section id="changelog/0-08">
    <title>Version 0.08 - 4 October 1994</title>
    <simplelist>
      <member>Swi chunk (&4A100) and error chunk (&80D000) arrived from Acorn.</member>
      <member>Error numbers rationalised (but not documented :-).</member>
      <member>Installation of pinboard filter changed so it doesn't give an error if there is no pinboard installed.</member>
    </simplelist>
  </section>

  <section id="changelog/0-07">
    <title>Version 0.07 - 9 September 1994</title>
    <simplelist>
      <member>Name changed :-).</member>
      <member>Sprites and Sprites22 made.</member>
      <member>Made a strlen1 for length of a string + terminator since this seems to be the most common usage, and added it in.</member>
      <member>Deleted some unused printing routines.</member>
      <member>Memoriser files now have submenu pointers.</member>
      <member>A Path: or -path can now be given of a file as well as a directory. It puts the file above the dotted line as well as below.</member>
      <member>Anywhere that used the directory that the pointer was over (eg Path: or Save:) now is given the straight path (whether it is a file or directory) instead of the path is it was a directory or the ^ path if it was a file. Not sure what effect this will have on existing Menus.</member>
      <member>Removed some unused message types.</member>
      <member>Where using SaveRegs and ROUTINE changed the saved registers to NONE.</member>
      <member>Added a -v or -verbose option to DirectorObey.</member>
      <member>Included &, @ and % in ParsePath (fixes problem with & when using the net).</member>
      <member>Fixed root directories appearing as unknown files.</member>
    </simplelist>
  </section>

  <section id="changelog/0-06">
    <title>Version 0.06 - 5 September 1994</title>
    <simplelist>
      <member>Changed the way mouse clicks are intercepted by intercepting MouseV rather than EventV. This works because the Wimp uses SWI XOS_Mouse internally. This means that the Wimp always gets the menu click on the title bar before we open our menu so we can have the menus opening on the downward press of menu rather than its release as before. We can also stop the wimp getting the mouse button clicks at all. This seems to imply that the Wimp module is re-entrant, at least with Wimp_PointerInfo and Wimp_SendMessage. Don't know how far you could push it though!</member>
      <member>Bug fix: When computer busy, menu click over title bar opens menu then closes it! (See above).</member>
      <member>Discovered how to cancel an open menu (with Wimp_CreateMenu with r1 = -1) and this is used to cancel an open menu if menu is clicked twice over a title bar. Why oh why can't I call a SWI to ask the Wimp whether a menu is open and if so ask it for the address of the MenuBlock? This would make it all much simpler!</member>
      <member>Bug fix: SaveBox icon is no longer filled so it now looks like the filer with textured window backgrounds in RISOCS 3.5.</member>
      <member>Icons kept in sorted linked list (referred to by sprite name) and duplicates deleted. -alias &lt;name&gt; added to DirectorIcon to allow reference to icons by other than their sprite name.</member>
      <member>Icons now created on a PollWord rather than a Null which makes them appear much quicker.</member>
      <member>-time implemented for DirectorIcon. The length of the string is the length of the -text or the length of the -time string if no text is supplied
  Eg DirectorIcon !Director -time &quot;%24:%MI:%SE&quot; -text &quot;00:00:00&quot;
</member>
      <member>The time string is updated with ForceRedraw on the icon text to avoid the icon flickering in RISCOS 3.5. The text still flickers in a rather unsatisfactory manner.</member>
      <member>The first item above the divider (in the UpMenus) in an automatically generated menu does not now have a sub-menu. There is no need for one since the contents of the directory is visible below the divider.</member>
      <member>Bug fix: updating a menu from itself didn't work. (If a menu is returned to the stored list and a menu of that name already exists then the menu being returned is deleted. This means that if you update a menu from a itself, the new menu will appear as soon as you open it again (the old menu will persist as long as you keep it open).).</member>
      <member>Bug fix: can't open the MenuMenu from the MenuMenu. (Was firstly because the displayed list was not being checked for opening a menu and second because the adjust click code looked at the menu handle and decided it hadn't changed so deleted the new menu).</member>
      <member>MenuMenu now opened when the File 'XXXX' item clicked on in filer menus (with any button).</member>
      <member>&quot;MenuMenu:Path&quot; menu command added. Takes path, adds .&lt;leaf&gt; to it, sets up the Director system variables and opens the MenuMenu. A bit obscure maybe!</member>
      <member>Method of discovering a window's taskhandle changed to use UserMessageAck as per 3-198. Avoids disturbing the task with a null event.</member>
      <member>A WimpMessage defined for opening a menu which is a Wimp_Pointer block with a menu name on the end. This is used internally rather than the cumbersome way it was done before. Could also be used externally.</member>
      <member>Adjust click on disc drive icons produces a directory menu of the path that would have been opened.</member>
      <member>Wrote the !Help file. Changed file structure slightly.</member>
      <member>BMGon and BMGoff changed to MenuProcessing &lt;On|Off|1|0|Yes|No&gt;.</member>
      <member>Memoriser added. A new extended menu type Memoriser: opens it. (NB I spell Memoriser with an 's' (English) not with a 'z' (American) as does Ben Summers!).</member>
      <member>MemoriserItems command added to control the growth of the Memoriser menu.</member>
      <member>Argument to -sub is now GSTransed as originally intended. You may have to change your MenuMenu changing -sub Path:&lt;Director$CurrentDir&gt; to -subPath:|&lt;Director$CurrentDir&gt;.</member>
      <member>-up added to Option. When used with -path will cause the sub-menu produced to have upmenus. Used with Memoriser.</member>
      <member>ProcessKeys implemented.</member>
    </simplelist>
  </section>

  <section id="changelog/0-05">
    <title>Version 0.05 - 17 August 1994</title>
    <simplelist>
      <member>Director no longer has any native menus. Icon bar menus changed to &quot;IconMenu&quot; and &quot;IconClick&quot;.</member>
      <member>If you click on an option which has no commands attached, but does have a sub-menu, Director will open the sub-menu.</member>
      <member>Save: implemented. Brings up a box with an icon like a large info icon in a filer window which you can drag to an application or pinboard. (The save box was much more difficult than I thought. On reading of the PRMs I though I'll just pretend to be the Filer (which is what I am doing really) and send a Message_DataLoad. This works fine sending data to applications. However It put the icons in really odd places on the pinboard so I worked out I had to send out another message (FilerSelected or something like that). Then the pinboard and applications worked but the filer didn't want to do anything with my DataLoads, and even worse it Acknowledged them! So I had to write a bit which discovered whether the task was the Filer and then do a DataSave, DataSaveAck and then use FilerAction to copy the files, reading the default state of the Verbose etc from the CMOS. Phew!).</member>
      <member>DirectorDo Implemented.</member>
      <member>DirectorIcon implemented for definable icons. Director no longer has any inbuilt icons.</member>
    </simplelist>
    <para>Commands and submenus are now parsed when run:
      <simplelist>
        <member>&quot;Text&quot; for normal command or sub-menu</member>
        <member>&quot;Menu:Name&quot; to bring up named menu</member>
        <member>&quot;Save:Path&quot; for save box of the given path (*)</member>
        <member>&quot;Path:Path&quot; for menu of that path (*)</member>
        <member>&quot;Command:Text&quot; runs the text as if it were a command</member>
        <member>&quot;Quit:&quot; Quits Director</member>
        <member>&quot;Info:&quot; Brings up Director's info window</member>
        <member>&quot;OldMenu:&quot; To open the last filtered menu (for getting pinboard menu)</member>
      </simplelist>
      (*) If the path is missing eg &quot;Path:&quot; or &quot;Save:&quot; then it will use the path of the window that the pointer is over. If the path is present it is GS_Trans-ed before use.</para>
  </section>

  <section id="changelog/0-04">
    <title>Version 0.04 - 15 August 1994</title>
    <simplelist>
      <member>Put scaled large icon in menu if small sprite not available.</member>
      <member>If an option or a menu has a key definition it is added to the text with a space before it. If you want the items to line up then you will have to add spaces after the menu text. RISCOS 3.5 will line them up for you (most of the time!).</member>
      <member>Bug fix: &quot;Too Many Menus&quot; error removed. If the Wimp ever allows more than 8 menus then Director will be able to cope just fine. (Director allows that one error to pass un-reported after making the sub-menu).</member>
    </simplelist>

    <simplelist>
      <member>Keys added to menus by name:</member>
      <member>Keys are case insensitive</member>
      <member>Can be modified by
        <inlinemediaobject>
          <imageobject><imagedata fileref="&images2;Up.gif"></imageobject>
          <textobject><phrase>&uarr;</phrase></textobject>
        </inlinemediaobject>(shift) ^ (ctrl) or ~ (alt)</member>
      <member>Keys are done by name, eg F1 or
        <inlinemediaobject>
          <imageobject><imagedata fileref="&images2;Up.gif"></imageobject>
          <textobject><phrase>&uarr;</phrase></textobject>
        </inlinemediaobject>^Insert (case insensitive)</member>
      <member>Key names include: Home, Return, Ret, Enter, Backspace, BkSp, Space, Delete, Del, Esc, Print, Pnt, F1, F2, F3, F4, F5, F6, F7, F8, F9, Tab, Copy, Cpy, End, Left, Right, Down, Up, PageDown, PgDn, PageUp, PgUp, F10, F11, F12, Insert, Ins</member>
      <member>^Number keys don't work, ^KeyPad numbers should</member>
      <member>Haven't found any keys that work with ALT!</member>
      <member>
        <inlinemediaobject>
          <imageobject><imagedata fileref="&images2;Up.gif"></imageobject>
          <textobject><phrase>&uarr;</phrase></textobject>
        </inlinemediaobject>A =
        <inlinemediaobject>
          <imageobject><imagedata fileref="&images2;Up.gif"></imageobject>
          <textobject><phrase>&uarr;</phrase></textobject>
        </inlinemediaobject>a and A = a (ie keys are independent of CapsLock state)</member>
    </simplelist>
  </section>

  <section id="changelog/0-03">
    <title>Version 0.03 - 12 August 1994</title>
    <simplelist>
      <member>DirectorObey implemented. Cuts time to load 14k menu from 5.2 seconds to 0.75 seconds (with cached directories).</member>
      <member>System variable MenuText set to the text of the menu whenever a command option is chosen.</member>
      <member>-len implemented. Size of buffer allocated is the greater of the string supplied and the length so 'Option FillMeIn -len 0' is acceptable. However it doesn't set %0, use &lt;MenuText&gt; instead.</member>
      <member>These system variables are set whenever a sub menu is opened or an item is chosen off a menu
    Director$CurrentPath - full path of object
    Director$CurrentDir - directory object lives in
    Director$CurrentLeaf - leaf name of object
</member>
      <member>If the object is a root directory (eg ADFS::4.$ or Root:) then CurrentPath = CurrentDir = CurrentLeaf .</member>
      <member>&quot;MenuMenu&quot; opened when menu clicked on a path menu, otherwise the command is run as normal.</member>
      <member>Bug fix: menus always removed from displayed even when error occurs. Fixes Menu not found after choosing an option that caused an error.</member>
      <member>Bug fix: module always removed on task shutdown (stops error after choosing cancel on an error box, loading a script and then rmkilling the module).</member>
      <member>Bug fix: number of parameters to Menu increased so can have aliased menus with keys!</member>
      <member>Dash command to add a dashed line underneath the last option.</member>
    </simplelist>
  </section>

  <section id="changelog/0-02">
    <title>Version 0.02 - 11 August 1994</title>
    <simplelist>
      <member>OS_GBPB uses a malloc-ed 4k block for much improved speed.</member>
      <member>-key made to work for hot keyed items.</member>
      <member>Hotkeys can now be added to &quot;Menu&quot; command via a -key, so a key can open a menu.</member>
    </simplelist>
  </section>

  <section id="changelog/0-01">
    <title>Version 0.01 - 11 August 1994</title>
    <simplelist>
      <member>*DirectorMemory added to allow tracing of dynamic memory allocations and malloc, free and realloc changed to keep the totals updated.</member>
      <member>Filters initialised by task instead of module.</member>
      <member>BMG parsing added for BackMenus .</member>
      <member>Static menus kept in sorted linked list.</member>
      <member>-path items added for BMG so can now attach TreeMenus to BackMenus!</member>
      <member>&quot;Main&quot; menu attached to icon bar icon on select.</member>
      <member>Filter on pinboard to intercept the menu opening the menu called &quot;Pinboard&quot;.</member>
      <member>Sprites in the file menus.</member>
    </simplelist>
  </section>

  <section id="changelog/0-00">
    <title>Version 0.00 - 5 August 1994</title>
    <simplelist>
      <member>First version that even vaguely works.</member>
      <member>Does TreeMenu functions but not BackMenu yet!</member>
    </simplelist>
  </section>

</section>