home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / system / mfr20d.lha / MFR / History < prev    next >
Text File  |  1992-07-19  |  22KB  |  559 lines

  1. --------------------------------------------------------------------------
  2.                   M a g i c  F i l e  R e q u e s t e r
  3. --------------------------------------------------------------------------
  4.  
  5.                     ⌐ Copyright 1992 by Stefan Stuntz
  6.  
  7.  
  8.  
  9.                              Version History
  10.                              ---------------
  11.  
  12.  
  13.  
  14.   This file describes all changes from MFR's first release on 24-Jan-92.
  15.  
  16.                    It is NO replacement for the Manual!
  17.  
  18.  
  19.  
  20.  
  21. V2.0d (19-Jul-92)
  22. -----------------
  23.  
  24. - Corrected some mutual exclude menu items (e.g. search modes).
  25.  
  26. - Included release 1.4 of UnArp.
  27.  
  28. - The search entry and history list selection consumed all processor time.
  29. á Seems I forgot a simple WaitPort().  This bug is now fixed.
  30.  
  31. - MFR  sometimes  considered  boolean  attributes  like  save  mode, multi
  32.   select, etc. wrong.  Fixed.
  33.  
  34. - Corrected  some  corrupt  pattern  handling in conjunction with the file
  35. á actions, introduced in V2.0c.
  36.  
  37. - String gadgets now allow entering of empty strings.
  38.  
  39. - MFR no longer keeps the workbench.library open when installed.
  40.  
  41.  
  42.  
  43.  
  44. V2.0c (15-Jul-92)
  45. -----------------
  46.  
  47. - About-Window is now visible on a monochrome display.
  48.  
  49. - reqtools.library patch is now on by default.
  50.  
  51. - To  be  Workbench  compatible,  the  menu entry for creating a directory
  52.   changed  its  name  to  "New Drawer" with the shortcut <Amiga><N>.  File
  53.   Notification can now be toggled with <Amiga><F>.
  54.  
  55. - Improved  icon  outfit  on  oldstyle  screens.   Nevertheless you really
  56.   should  use 'TagScreens' or a similar tool to eliminate oldstyle screens
  57.   completely.
  58.  
  59. - Included AmigaGuide format manual.
  60.  
  61. - Fixed  file  action  bug.   Now, %s is really replaced with the complete
  62.   path specification, not only with the file name.
  63.  
  64. - Added  semaphore security to string hook handling.  This should fix some
  65.   intuition  lockups   with  incredibly  fast  typing  on  incredibly slow
  66. á amigas.
  67.  
  68. - Added menu item to rescan the device list.
  69.  
  70. - Optimized  some  code.   MFR  should run a bit faster now, especially on
  71.   68000 based machines.
  72.  
  73.  
  74.  
  75.  
  76. V2.0b (09-Jul-92)
  77. -----------------
  78.  
  79. - Changed  distribution  archive  a  little  bit.  For update reasons, the
  80.   68030  version  now  comes with the freely distributable archive of MFR.
  81.   This allows registered users with 68030 processors to update fast.
  82.  
  83. - Included more detailed update information in the 'Registration' file.  I
  84. á thought update handling was clear, but it seems it wasn't.
  85.  
  86. - Fixed function key bug.  Now the file gadget always gets activated after
  87.   a function was pressed.
  88.  
  89. - Escape-Key   didn't   work   right   together   with   Shared-IDCMP  and
  90.   IDCMP_VANILLAKEY.  Fixed.
  91.  
  92. - Since  it  seems  getting  standard  that  asl.library  preserves A4 for
  93. á callback hooks, MFR now behaves the same way.  This makes e.g.  MFR work
  94. á with VLT.
  95.  
  96. - Fixed  nasty 'Zero-Size-File-System' bug which caused MFR to guru when a
  97.   file system with size equal to 0 was mounted.  Now, MFR works e.g.  with
  98. á ParNet and XFH:
  99.  
  100. - Volumes with  size  greater  than  3600  kByte  are  considered  to be a
  101.   harddisk.  Smaller volumes will get a disk icon.
  102.  
  103.  
  104.  
  105.  
  106. V2.0a (06-Jul-92)
  107. -----------------
  108.  
  109. - Fixed nasty Cursor-Key-Parent-Dir-Bug.
  110.  
  111.  
  112.  
  113.  
  114. V2.0 (05-Jul-92)
  115. ----------------
  116.  
  117. - MFR  is  distributed  as  shareware  now.   Please  refer  to  the  file
  118.   'Registration' for details.
  119.  
  120. - Fixed machine lockup with MFR's arrow gadgets (bug introduced in 1.3).
  121.  
  122. - Got it! MFR eats no more memory, not even a single byte.
  123.  
  124. - MFR now empties it's AppWindow port before deleting it.
  125.  
  126. - Search mode <match partial / case insensitive> corrected.
  127.  
  128. - MFR now handles multiple menu selection correctly.
  129.  
  130. - The "Goonie" scrollbar design takes care of the screen pens.
  131.  
  132. - You  can  now bind 20 directories (or files) to the function keys F1-F10
  133.   and <Shift> F1-F10.  Configuration via tooltypes FKEY_1 - FKEY_20.
  134.  
  135. - The  default  public  screen is brought to front when MFR is called with
  136.   it's hotkey.
  137.  
  138. - MFR  can  now  be  configured to automatically close it's window after a
  139. á copy operation to clipboard.
  140.  
  141. - With  multi  select  enabled,  MFR  will now always use the WbArg return
  142.   method,  even if the user only selects a single file.  This reflects the
  143.   behaviour of asl.library and should fix some problems.
  144.  
  145. - Mid mouse button changes to parent directory.
  146.  
  147. - Added invisible  Parent Gadget  at the left side of the file list.  Ugly
  148. á but useful!
  149.  
  150. - Some more config options are resolution dependent  (different values for
  151.   hires  &  lores):   Fonts,  Scrollbar  Design,  Default Size, Background
  152. á Rastering.
  153.  
  154. - MFR refreshes it's volume list when a volume is inserted or removed.
  155.  
  156. - Leaving the requester with double click is disabled in save mode.
  157.  
  158. - Significantly  improved  caching mechanism:  MFR now remembers up to 100
  159.   directories.  These directory caches are global, all MFR's can use them.
  160.   If  all  caches  are  full, the oldest one will be replaced.  A cache is
  161.   automatically   invalidated  when  the  date  stamp  of  the  associated
  162.   directory  changes.   Max number of cached directories can be configured
  163.   with a menu item, a value of 0 disables caching completely.
  164.  
  165. - Replaced ArpToAsl by UnArp.
  166.  
  167. - MFR automatically detaches when it's installed from CLI, there's no more
  168. á need to run it.
  169.  
  170. - The  widths  of  the  file  and volume lists are configurable now.  Just
  171.   click  between  the  both lists and move the appearing bar around.  List
  172. á widths  may be different in Lowres and Highres mode.  If the volume list
  173. á is wide enough, some state information will be shown.
  174.  
  175. - Volume size calculations  are now compatible with the info command (1024
  176. á Bytes per kilobyte and 1024 kilobytes per megabyte).
  177.  
  178. - Inversion of string gadgets is now configurable (see Window sub menu).
  179.  
  180. - MFR   now  supports  the  ASL  tags  ASLFR_RejectIcons,  ASLFR_UserData,
  181. á ASLFR_SleepWindow, ASLFR_HookFunc, ASLFR_PrivateIDCMP,
  182. á ASLFR_IntuiMsgFunc and ASLFR_FilterFunc.
  183.  
  184. - Since  all  important  tags are supported now, MFR will never drop to an
  185.   ASL  requester  anymore.   This  fixes  possible  crashes  when one file
  186. á requester  structure  is  used  for  several  calls  with  some  of them
  187. á dropping to ASL.
  188.  
  189. - Gadget  &  list  handling  changed significantly.  The file list and the
  190. á file gadget are attached now, they will be active the same time.  Typing
  191. á something  into  the gadget will move the list cursor to the appropriate
  192. á position.   Device  list  and  drawer  gadget are attached the same way.
  193. á Side effect:  Since cursor left/right are used to move the string gadget
  194. á cursor,  you will have to qualify them with ALT to use them for changing
  195.   directories.   Amiga-Space  is  now  used  for selecting multiple files.
  196. á This  new  method seems to be much more comfortable and useful, I really
  197. á like  it  and  I  hope you will too.
  198.  
  199. - You can alternatively control the cursor with the numeric keypad, if you
  200. á activate "Settings/Usage/Numeric Pad Control" menu item.  Key <5> can be
  201. á used to select/deselect files when multi select is enabled.
  202.  
  203. - Menu layout changed to reflect user style guide.  Activation menu became
  204.   senseless, some shortcuts changed.
  205.  
  206. - MFR  now  marks  file system links with a '╗' in front of the file size.
  207.   This feature is only available for files, not for directories.
  208.  
  209. - This  one's  for all CLI freaks:  If MFR could not find a .info file, it
  210. á tries to read it's configuration from "envarc:mfr.prefs".  Configuration
  211. á will also be saved to "envarc:mfr.prefs" in this case.
  212.  
  213. - Added statistics menu point (senseless, but who cares...).
  214.  
  215. - To  wake  up  possibly  sleeping  users,  background rastering now looks
  216. á different  when  MFR  is  in  save mode.  Rastering is done with the two
  217. á darkest colors of the current palette.
  218.  
  219. - Icons and arrows look better on one plane screens.
  220.  
  221. - Directory  reading  mode  changed  again.  MFR now tries to read as many
  222.   files as possible in a specific timeout (e.g.  0.5 sec).  If the timeout
  223. á expires  during reading or the user performs some action, the display is
  224. á updated   for  the  first  time.   On  the  average,  most  HD  or  ram:
  225. á directories  can be read during the first timeout period.  The result is
  226. á less  rendering  and  faster  loading time.  The timeout is configurable
  227. á with the new menu item <Settings / DOS / Read Timeout>.
  228.  
  229. - With  a  timeout value of 0, MFR will always read the complete directory
  230.   before  displaying  anything.   This is MFR's fastest mode for directory
  231.   reading  and  I  strongly  suggest  you  to use it since it is much less
  232. á confusing and the new reading mode maybe needs some more work.  However,
  233.   a  timeout  of  0 should be no great disadvantage, since MFR's directory
  234.   caching will reduce waiting time to a minimum.
  235.  
  236. - Multi  select  is  now possible by dragging the mouse around while shift
  237. á (or  caps lock) is pressed.  Note that you will have to press shift even
  238. á for the first file you want to multi select.  This is different to asl's
  239. á multi select and workbench's icon selection, but it seems to be the only
  240. á convenient way for MFR.
  241.  
  242. - Recompiled  with  register parameters and function pragmas.  Gained 6 kB
  243. á and hopefully some speed.
  244.  
  245. - To  avoid  loosing  the  first  few  keystrokes,  the  file  gadget gets
  246.   activated immediately when the requester opens.
  247.  
  248. - Instead  of  two  seperate hide & show gadgets, there is only one single
  249. á pattern  gadget  now.   It will be displayed on demand (when the asl tag
  250. á ASLFR_DoPatterns is set).  You can make it visible/invisible at any time
  251.   with  the  "DOS  /  Status"  submenu.   This menu also contains items to
  252. á temporarily disable the pattern and to toggle matching of directories.
  253.  
  254. - The 'Pattern:' gadget label has become an invisible gadget that disables/
  255.   enables pattern matching.
  256.  
  257. - New  memory  management  system.   No  more  small  allocations, no more
  258. á fragmentation.  Note:  Because of this and because of directory caching,
  259. á history  list, etc.  it may sometimes look as if MFR would loose memory.
  260.   It doesn't!
  261.  
  262. - Added history list.  This list contains the last <nr> files you selected
  263.   since  MFR  was started.  <nr> is configurable with a menu item, a value
  264.   of  0  disables  the  list completely.  The list is not sorted, the last
  265. á selected  file  always  appears  at the top.  You can access the history
  266. á list with the "DOS" / "History List" menu item.
  267.  
  268. - The  'File:'  and  'Drawer:' gadget labels  are invisible button gadgets
  269.   now.   MFR  remembers  the initial contents of drawer and file gadget at
  270.   requester opening time and restores them when these gadgets are pressed.
  271.  
  272. - MFR now works with AssignX.
  273.  
  274. - Pattern matching is a lot faster now => faster directory reading.
  275.  
  276. - MFR now supports reqtools.library multi selection.
  277.  
  278. - The  search  gadget  is a file action gadget now.  Reason:  When you are
  279. á searching  for  a  specific  file,  you are already using your keyboard.
  280.   Thus it's no great deal to press <Amiga><S> to start searching.
  281.  
  282. - Added reload menu item for those who don't like file notification.
  283.  
  284. - Added Show/Hide icons menu item.
  285.  
  286. - Added  'Flush  Memory'  menu  item.  With Workbench 2.1, this flush will
  287. á be done automatically when memory gets low.
  288.  
  289. - Rewrote manual again. Please read it carefully !!!
  290.  
  291.  
  292.  
  293.  
  294. V1.3b (10-Apr-92)
  295. -----------------
  296.  
  297. I  hate that.  Bugs over bugs.  Thanx to  Stefan Becker  for reporting and
  298. fixing.
  299.  
  300. - MFR's  CLI  interface  had  a  bad  bug.  All BOOLEAN options (including
  301.   INSTALL)  did  not  work correct (enforcer hit on 68030, crash on 68000,
  302.   nothing special on my 68020 :-)).  This has now been fixed.
  303.  
  304. - Enforcer hits during display refresh and notify events eliminated.
  305.  
  306. - Detection  of  shared  IDCMP  did  not  work  right.  I corrected it and
  307.   suddendly  many programs used ASL again.  Therefore, I removed detection
  308. á of  shared IDCMP, MFR will always use it's private port.  This may cause
  309. á some  problems  with  some  programs  in  some  cases  (e.g.  IconEdit).
  310.   Remember the REJECT keyword.
  311.  
  312. - MFR now knows how to display file sizes greater than 9.999.999 Bytes.
  313.  
  314. - When the application supplies a complete path in the drawer gadget,
  315.   MFR splits it up into drawer and file part.
  316.  
  317.  
  318.  
  319.  
  320. V1.3a (08-Apr-92)
  321. -----------------
  322.  
  323. Since  I  go  on  holiday  the  next two weeks, I release this minor new
  324. version just for those of you that really hate the reqtools requester.
  325.  
  326. - MFR   now   patches  reqtools.library  (tooltype  PATCHREQTL).   Several
  327. á features  (e.g.   multi-select)  are  not  supported.   MFR will drop to
  328. á reqtools in these cases.  See Bugs section for details.
  329.  
  330. - Fixed bug with monitor identification.
  331.  
  332. - Included version 1.6 of TagScreens.
  333.  
  334.  
  335.  
  336.  
  337. V1.3 (06-Apr-92)
  338. ----------------
  339.  
  340. Yeah.   Not  just  some  bug  fixes,  a  really  new  version  with many
  341. enhancements.
  342.  
  343. - Configuration  mechanism changed again.  No config file support anymore.
  344.   When started from Workbench, MFR reads it's configuration from the .info
  345.   file, as in earlier versions.
  346.  
  347. - Since  there  seem  to  be  quite  many people out there, who do not use
  348.   workbench,  MFR  can  now  be  installed  from CLI with the command "mfr
  349.   INSTALL".  Note that MFR will not detach (I was too lazy), so you should
  350.   put   something   like   "run   <nil:    >nil:   mfr  install"  in  your
  351.   startup-sequence.    The  configuration  will  be  read  from  the  file
  352.   PROGDIR:mfr.info,  thus  you  must  have "mfr.info" in the directory you
  353.   start  MFR  from.   To  edit your tooltypes, you will still have to load
  354.   workbench and use the 'Info' menu item.  This should be no great problem
  355.   however, because almost all configuration can be done via menu items now
  356.   (see next point).
  357.  
  358. - MFR  can now be configured with various menu items.  Have a look at them
  359.   to  see  how  they  work.  Note that the configuration is global for all
  360.   file requesters, so if you change e.g.  the gadget font, every open file
  361.   requester will be informed and updated.  Configuration can be saved with
  362.   the <Project/Save Config> menu item to the location it was loaded from.
  363.  
  364. - MFR  now  has  the  ability  to  use the parent screens default font for
  365.   displaying (see the "Window" submenu).
  366.  
  367. - If  you  set  the  number  of  EntryBuffers to zero, MFR will read a new
  368.   directory  completely before displaying anything.  This is MFR's fastest
  369.   directory  reading mode, but you will have to wait until all entries are
  370.   read.
  371.  
  372. - MFR  now caches the last directory to speed up subsequent calls with the
  373.   same requester structure.
  374.  
  375. - If you change to the parent directory, MFR now tries to place the cursor
  376.   on  the  directory you just left.  This makes it much easier and quicker
  377.   to browse through your harddisk.
  378.  
  379. - MFR can now create directories, delete files/dirs and rename files/dirs.
  380.   With  rename,  you  can even move your files around the volume.  See DOS
  381.   menu.
  382.  
  383. - If  MFR  is  in save mode and you type a non existing directory into the
  384.   drawer gadget, MFR will create it if you confirm.
  385.  
  386. - Implemented  my  idea  of  file selection.  Pressing an alpha key in the
  387.   file  list  (not  in  the  file gadget!) will add this key to the search
  388.   string and jump to the first entry starting with this string.  Backspace
  389.   will  remove the last character from the search string.  I tried several
  390.   versions  of  file selection via keyboard and this one was my favourite.
  391.   If you have some other (good!) ideas, let me know.
  392.  
  393. - You  can  now  tell  MFR  to  activate the file list instead of the file
  394.   gadget  in  some  cases  (see  Activation menu).  When MFR is opened for
  395.   saving, activation of the file gadget always has priority.
  396.  
  397. - MFR  now  has 18 different methods for sorting the file list (see Design
  398.   menu):   name  sort,  date  sort  and  size sort with directories either
  399.   first,  last or within and with sorting order either low to high or high
  400.   to low.  Hope this will be enough for everybody.  :-)
  401.  
  402. - Fixed  a  bad  bug  that could crash the system if you tried to quit MFR
  403.   with some allocated requester structures.
  404.  
  405. - The  list  views are now more style guide compliant (no more extra pixel
  406.   on top and bottom border).
  407.  
  408. - Concatenation  of  default  hide  pattern  and application specific hide
  409.   pattern  has  been  removed.   Instead,  an  application  specified hide
  410.   pattern simply overrides the default hide pattern.
  411.  
  412. - If the application specifies a show pattern, the default hide pattern is
  413.   ignored.   This  avoids  problems  with  mutual  exclusive hide and show
  414.   pattern (e.g.  IconEdit with a default hide pattern #?.info).
  415.  
  416. - Removed the 3d effect of the status line text.  This was indeed a little
  417.   overpowered.
  418.  
  419. - Removed the about gadget in the bottom window border.  :-(
  420.  
  421. - More  sophisticated  calculation  of the space occupied by date and time
  422.   column.  Should work with any font know.
  423.  
  424. - Fixed bug with cursor right key in assign list.
  425.  
  426. - A2024  was again considered lowres.  This bug is now hopefully fixed for
  427.   ever.   MFR should know which config to use with all known display modes
  428.   defined  in  "graphics/displayinfo.h".   Unknown  modes  are  considered
  429.   highres.
  430.  
  431. - Centering  and  mousing the window now also works on screens bigger than
  432.   the maximum display size.
  433.  
  434. - Added  some clipboard support.  You can now paste the current directory,
  435.   the  current  file  or  the  complete path to the clipboard (see Project
  436.   menu).
  437.  
  438. - If  you  consider the arrow gadgets as too fast, you may now configure a
  439.   delay for them (see Design/Scrollbar menu)
  440.  
  441. - You  can  activate  MFR with a hotkey now.  Configuration of this key is
  442. á done  with  the  CX_POPKEY  tooltype (only one hotkey activated MFR at a
  443.   time).
  444.  
  445. - Many tooltypes changed their name and meaning.  You should avoid editing
  446.   them directly and use MFR's menus instead.
  447.  
  448. - MFR  is an AppWindow now, you can drag icons in it.  This will only work
  449.   with single icons, multiple drag is not supported yet.
  450.  
  451. - If  you  encounter  a  program not working with MFR, you can tell MFR to
  452.   drop  to the old file requester when being called by this program.  This
  453.   is done via the new tooltype REJECT.  MFR tests this pattern against the
  454.   current  task  name  (ExecBase->ThisTask->tc_Node.ln_Name)  and drops in
  455.   case of match.
  456.  
  457. - Rewrote  manual  to  reflect all the new features (I really hate writing
  458. á manuals).
  459.  
  460.  
  461.  
  462.  
  463. V1.2 (17-Mar-92)
  464. ----------------
  465.  
  466. Sorry  again,  this is also just a bugfix.  I messed up something with the
  467. file search mechanism in V1.1.  Now it should work.
  468.  
  469. - File searching did not work right in V1.1. Fixed this problem.
  470.  
  471. - MFR 1.1 could only be started from within sys:wbstartup/.  This has been
  472.   fixed.
  473.  
  474. - MFR now also rejects the german AssignX.
  475.  
  476. - Due  to a strange compiler behaviour, every string was stored about five
  477.   times in the executable.  This bug has been fixed.
  478.  
  479. - MFR  now has a second way of configuration.  You may write your tooltype
  480.   entries  to  the file "env:mfr.prefs", and MFR will parse them as usual.
  481.   Entries  in  mfr.prefs  will replace tooltypes in mfr.info with the same
  482.   name.    MFR  recognizes  changes  in  "env:mfr.prefs"  and  reloads  it
  483.   automatically,  so  you  don't  have to restart it every time you change
  484.   your config.
  485.  
  486. - Included  the program "TagScreens" from Martin Berndt to force old style
  487.   screens to use the new Kick 2.x look.
  488.  
  489.  
  490.  
  491.  
  492. V1.1 (05-Mar-92)
  493. ----------------
  494.  
  495. Sorry, I didn't have the time to implement many new ideas.  This version
  496. is  just a bug fixed and little enhanced V1.0, so don't expect too much.
  497. New features will come up in near future.
  498.  
  499. - Some minor enhancements in design.
  500.  
  501. - If  the specified list font is 9 pixel or smaller, a second set of icons
  502.   is used.
  503.  
  504. - Because  of  problems with some programs, MFR will now cut off the slash
  505.   following a directory name before returning.
  506.  
  507. - An A2024 monitor is no longer considered LoRes.
  508.  
  509. - The  contents  of Hide & Show gadgets are now passed back to the calling
  510.   program, so they can be reused at later calls with the same structure.
  511.  
  512. - The  key  combination  <Alt><Return> now toggles between Drawer and Hide
  513.   gadget or between File and Show gadget.
  514.  
  515. - Fixed bug with the wrong calculated free disk space.
  516.  
  517. - Fixed some other strange bugs.
  518.  
  519. - MFR  can now be called from CLI to pop up a file requester and print the
  520.   results to stdout.  See section 7.5 for details.
  521.  
  522. - Added new tooltype NOTIFY to turn file notification on and off.
  523.  
  524. - You  may  now  select  between six different scrollbar designs:  Goonie,
  525.   GoonieSym,  Stuntzi, StuntziSym, Kick20 and Kick20Sym, configurable with
  526.   the tooltypes SCROLLBAR and SCROLLBARL (lores).
  527.  
  528. - MFR    now    uses    the    system-suggested   colors   for   rendering
  529.   (DrawInfo->dri_Pens).  Images are also adjusted accordingly.
  530.  
  531. - Late- and Nonbinding-Assigns are now displayed.
  532.  
  533. - Added  new  tooltype  DEFHIDEPAT  to specify the a default value for the
  534.   "Hide"  gadget.  If the application does not specify a hide pattern (ASL
  535.   will  never),  DEFHIDEPAT is used instead.  Otherwise, the given pattern
  536.   and DEFHIDEPAT are concatenated using "(%s|%s)".
  537.  
  538. - FAST  keyword  now obsolete.  Instead, MFR measures the time for finding
  539.   the  next  directory  entry  and  increases/decreases its internal entry
  540.   buffer  accordingly.  Thus, display refresh is rare with fast medias but
  541.   often   with  slow  medias.   Maximum  number  of  buffered  entries  is
  542.   adjustable with the new tooltype ENTRYBUF (1..50).  With ENTRYBUF=1, MFR
  543.   behaves just like FAST=OFF.
  544.  
  545. - Speeded  up  directory  sorting algorithm.  This will possibly result in
  546.   faster directory reading on 68000 based machines.
  547.  
  548. - Since  MFR does for some reasons not work with 'AssignX' (I really don't
  549.   know  why...   any  ideas?),  the  ASL requester will be called when the
  550.   window title matches "Assignment for*".
  551.  
  552.  
  553.  
  554.  
  555. V1.0 (24-Jan-92)
  556. ----------------
  557.  
  558. - Initial release.
  559.