PBSmodelling Changes
===================================
Authors:  JTS = Jon T. Schnute
          ACB = Alex Couture-Beil
          RH  = Rowan Haigh
          NB  = Nicholas Boers
          AE  = Anisa Egeli
          ARK = Rob Kronlund
          SM  = Steve Martell
          NO  = Norm Olsen
          NF  = Nick Fisch
-----------------------------------
CRAN   :  PBR = Prof Brian Ripley
          UL  = Uwe Ligges
-----------------------------------
CRAN package version numbers follow a "major.minor.patch" format (e.g., 1.2.3), where: 
	Major: Indicates a significant change that might break existing code.
	Minor: Indicates the addition of new features or improvements, while generally maintaining backward compatibility.
	Patch: Indicates bug fixes and minor improvements that do not introduce new features.
-----------------------------------

2.70.2 (2025-11-13) [Rcheck=T Rbuild=T]
  * Package
    + Notified the CRAN Team that NF will be taking over as the new Maintainer (RH 251112)
    + NF checked PBSmodelling 2.70.2 using rhub:rhub_platforms() on 5 virtual machines and 26 containers
    + Reverse dependencies
      - tools::package_dependencies(package="PBSmodelling", reverse=TRUE)
      - `PBSadmb' `PredictABEL'

2.70.1 (2025-06-18) [Rcheck=T Rbuild=T]
  * R code
    + Modified function `plotBubbles' (RH 250605)
      - reactivate `frange'; this functionality appears to have been lost at some point
      - make sure there are three colours for positive, negative, and zeroes (even if only one colour is supplied)
      - retain any additional attributes from input matrix to output matrix
    + Modified documentation function `imports_for_undefined_globals' in `inst/doc' (RH 250618)
      - function comes from the R package `tools'
  * Documentation
    + Updated 25 Rd files to reflect RH's current office location (RH 250617)

2.70.0 (2025-05-26) [Rcheck=T Rbuild=T]
  * R code
    + Added two arguments to function `selectDir' to increase functionality (RH 250521)
      - new arguments:
      - `targetDir' -- (caharcter) another directory to start search from
      - `relative'  -- (logical) should result be relative to start?
    + Modified `plotBubbles', which had somehow lost the `frange' functionality (RH 250526)
  * Documentation
    + Updated user's guide to reflect a few modern dates (RH 250526)

2.69.4 (2023-11-04) [Rcheck=T Rbuild=T]
  * R code
    + Renamed the R code containers to reflect modules (e.g., M01_<original>.r)
    + Moved function `.sortWidget' from module `M01_widgetDefs.r' to `M08_historyFuns.r' (RH 241031)
    + Moved function `.mergeLists' from module `M09_option_manager.r' to `M04_listFuns.r' (RH 241031)
    + Export all dot functions/objects (RH 241031)
      - having them hidden from the NAMESPACE caused too many issues in dependent packages
      - widget.defs  (RH 241101): `.widgetDefs', `.pFormatDefs', `.tagDefs', `.tagOptionChecks' [definitions, not just widgets]
      - convert.funs (RH 241030): `.convertMatrixListToDataFrame', `.convertMatrixListToMatrix', `.convertMode', `.convertOldGridToNewGrid', `.convertParamStrToList', `.convertParamStrToVector', `.convertVecToArray'
      - create.funs  (RH 241031): `.createTkFont', `.createWidget', `.createWidget.<widgetType>'
      - history.funs (RH 241031): `.createWidget.history', `.sortHelper', `.sortHelperActive', `.sortHelperFile', '.sortWidget', `.updateFile', `.updateHistory', `.updateHistoryButtons'
      - talk.funs    (RH 241031): `.getButton', '.getButtons', `.getIndexForSection', `.getMenus', `.getSectionNames', `.getTalkIndexes', `.nextSlide', `.parseTalkFile', `.presentTalkOpenFile', `.prevSlide', `.sectiondrop', `.setsection', `.slidedrop', `.startSlide', `.updateSlide'
      - list.funs    (RH 231031): `.mergeLists', `.readList.C', `.readList.P', `.readList.P.convertData', `.writeList.P'
      - gui.funs     (RH 241101):
      -  create  --> `.buildgrid'
      -  map     --> `.map.add', `.map.get', `.map.getAll', `.map.init', `.map.set'
      -  convert --> `.setMatrixElement', `.getMatrixListSize', `.matrixHelp', `.autoConvertMode'
      -  extract --> `.extractData', `.extractFuns', `.extractVar', `.getParamFromStr', `.table.getvalue', `.table.setvalue', `.getValueForWidgetSetup'
      -  helper  --> `.getSimilarColour', `.adjustAllColours', `.do.gui.call', `.catError', `.catError2', `.check.object.exists', `.inCollection', `.packWidgetsIntoGrid', `.parsegrid', `.parsemenu', `.PBSdimnameHelper', `.searchCollection', `.setWinValHelper', `.stopWidget', `.stripComments', `.stripSlashes', `.stripSlashesVec', `.superobject.redraw', `.superobject.saveValues', `.trimWhiteSpace', `.validateWindowDescList', `.validateWindowDescWidgets'
      - project.funs (RH 241101): `.doClean', `.doCleanWD', `.getHiddenEnv', `.getHome', `.getPrefix', `.makeCleanVec', `.mergeLists', `.mergeVectors', `.optionsNotUpdated', `.removeFromList', `.selectCleanBoxes', `.setOption', `.showLog', `.stripExt', `.tryOpen'
      - support.funs (RH 241104): 
      -  C support    --> `.fibCall', `.fibC', `.fibR', `.fibClosedForm'
      -  demo support --> `.viewPkgDemo', `.dClose', `.dUpdateDesc', `.viewPkgVignette'
      -  misc support --> `.addslashes', `.findSquare', `.forceMode', `.getArrayPts', `.initPBSoptions', `.mapArrayToVec', `.removeFromList', `.tclArrayToVector'
      - c.support.funs (RH 241104): `.libName', `.guiSource', `.guiCompileC', `.guiDyn', `.cleanLoadC', `.loadCRunComparison'
      - widget.defs (RH 241104): added `.maxActionSize', `.regex.complex', `.regex.numeric', `.regex.logical'
      - added `.showOptions' to `getOptions.Rd' (RH 241104)
  * C code
    + Rdevcheck reports : File 'PBSmodelling/libs/x64/PBSmodelling.dll': Found non-API call to R: 'SET_TYPEOF'
    + Attempted to disable use of 'SET_TYPEOF' :
      - replace : callStr = PROTECT(allocList(4));
      -           SET_TYPEOF(callStr, LANGSXP);
      - with :    callStr = PROTECT(allocVector(LANGSXP, 4));
      - based on : https://stackoverflow.com/questions/18497837/running-embedded-r-in-c

2.69.3 (2023-10-26) [Rcheck=T Rbuild=T]
  * Documentation
    + Overlooked keeping `.PBSdimnameHelper' in the namespace. (RH 231026)

2.69.2 (2023-10-25) [Rcheck=T Rbuild=T]
  * Documentation
    + R now requires documentation for all objects exported from the namespace.
      - UL suggests not exporting the dot functions, and given the large number of them (153), RH concurs.
    + Needed to export `.PBSmodEnv' so added Rd file using file name convention from R package `adnuts': `dot-PBSmodEnv.Rd'.
    + Need to export the `.win' wrapper functions. (RH 231025)
  * supportFuns.r
    + Debugged function `viewCode' which was comparing logicals of differing length. (RH 231025)

2.69.1 (2023-10-18) [Rcheck=T Rbuild=T]
  * plotFuns.r
    + Removed function `testPch' at the request of PBR. (RH 231018)
      - Works in an 8-bit locale, but does not in a multi-byte locale: sends lots of invalid inputs to mtext().
      - Debugged function `testPch' after R (probably starting in R.4.4.0) reduced its rendering of pch symbols and octal strings. (RH 230726)
      - Moved `testPch' to non-CRAN package `PBStools'.
    + Reduced argument `frange' in `plotBubbles from 0.1 to 0.05. (RH 230201)
  * Documentation
    + Added `upquote.sty' to the vignettes directory to prevent errors in Unix builds. (RH 231018)

2.69.0 (2023-01-06) [Rcheck=T Rbuild=T]
  * supportFuns.r
    + Debugged function `openFile' to fix Issue #87 (RH 230104)
      - Call to `openfile("")' opens a browser window to select files.
      - Handles files with no extension; tests calls from GUIs that use `act=openFile'.
  * cSupport.r, listFuns.r, projectFuns.r, supportFuns.r
    + Fixed NOTEs `Found if() conditions comparing class() to string:' (RH 230106)
			e.g., `if (class(foo)=="try-error")' changed to `if (inherits(foo,"try-error"))'
  * Documentation
    + Modified User Guide to fix some minor issues (RH 230103)
      - noted that the `grid' widget `sidefont' argument has no effect;
      - changed `entry' widget's argument `label' description to reflect that label occurs to the left of the entry box, not above;
      - added an example on page 10 when using `setPBSext' to open text files with a specific editor (need to remove `file://' in call).
    + Modified Rd help files (RH 230105)
      - `openFile.Rd', `setPBSext.Rd', `getPBSext.Rd'

2.68.9 (2021-11-23) [Rcheck=T Rbuild=T]
  * Documentation
    + Updated the user guide `PBSmodelling-UG'. (RH 2021-11-23)
    + Changed subdirectory `PBStools' to `tools' as the former name conflicts with the package `PBStools'. (RH 211122)
    + Updated trial package `PBStry' to conform to more recent requirements for package building. (RH 211122)
  * plotFuns.r
    + Modified function `plotBubbles' to disable code that transformed negative values to positive. (RH 211104)
  * supportFuns.r
    + Updated function `show0' to deal with changing decimal place delimiters. (RH 190703)
      - Decimal delimter is specified in options()$OutDec -- in french, the decimal delimiter is a comma ','.

2.68.8 (2019-03-12) [Rcheck=T Rbuild=T]
  * C code
    + Changed `parser.c' to confine PROTECT statements to each C function. (RH 190312)
      - Previously, an `obj' counter was passed among functions and was impossible to follow.
      - UNPROTECT now features explicit numbers for stack removal.

2.68.7 (2018-08-16) [Rcheck=F Rbuild=F]
  * plotFuns.r
    + Modified function `plotBubbles' to handle scenario `rpro=T cpro=T'. (RH 180814)
      - Now, if both are TRUE, the entire matrix is divided by the sum of the matrix,
      -   which is graphically equivalent to not converting the matrix to proportions.
      - Previously, if both were TRUE, the matrix rows were converted to proportions and 
      -   then the matrix columns were converted to proportions.

2.68.6 (2017-12-13) [Rcheck=T Rbuild=T]
  * Documentation
    + Disabled examples in Rd files that either call `createWin', `getWinXxx', or `setwd'. (RH 171213)
    + Kurt Hornik needs a revised package on CRAN before 2018-01-05 to safely retain PBSmodelling on CRAN. (KH 171212)

2.68.5 (2017-10-26)
  * Documentation
    + Replaced `index.html' with `Links.html' in ../inst/doc because R build replaces the former with its own version. (RH 171027)
    + Changed format of ChangeLog to a standard that can be read by the function `readClog' in pkg `PBStools'. (RH 171026)
    + Added `README.md' (markdown) file to SVN/Git root, primarily for the GitHub repo. (RH 170811)
      - This info file does not show up in the R package PBSmodelling.

2.68.4 (2017-07-12)
  * supportFuns.r
    + Modified functions `runExample' and `runExamples' to fix a bug in R's `list.files' function, which cannot seem to distinguish directories. (RH 170712)
  * Documentation
    + Finalized formatting the User's Guide -- numerous small tweaks. (RH 170711)

2.68.3 (2017-07-07)
  * Documentation
    + Updated the User's Guide to look more like a DFO CSAS or Tech Report document using Arial 11pt. (RH 170707)
    + Added documentation directory in SVN (not in package) to keep track of changes to the User's Guide. (RH 170707)
  * C code
    + Created header files for `parser.c', `fib.c' and `fib2.c', paralleling NB's changes to PBSmapping. (RH 170707)
    + Registered C routines (new CRAN request) using Roger Bivand's maptools `init.c' as a template. (NB/RH 170626)
  * supportFuns.r
    + Modified function `viewCode' to use the `00Index.html' file in the user's local package libraries for `output=2' (RH 170626)
      - Previously, the function tried to grab this from the local HTTP server 127.0.0.1.
  * Documentation
    + Changed backticks ` in DESCRIPTION to single quotes ' (Kurt Hornik 2016-09-20)
    + You need to set the BINPREF variable in etc/.../Makeconf and you can omit the ? (UL 2016-04-18)
      - Old: BINPREF ?= c:/Rtools/mingw_64/bin/
      - New: BINPREF = C:/Apps/R/Rtools/mingw_64/bin/

2.68.2 (2016-04-04)
  * Documentation
    + Updated `DESCRIPTION' file to properly inlcude all contributors. (RH 160404)
    + Updated the vignette `PBSmodellingIntro.Rnw'. (RH 160404)
  * plotFuns.r
    + Modified function `drawBars' to fill the bars with colour when new argument `fill' is set to a colour. (RH 160404)

2.68.1 2015-09-04
  * Documentation
    + Added imports for undefined globals to the NAMESPACE (new requirement). (RH 150904)
    + Revised the DESCRIPTION file to help CRAN's library system. (RH 150904)
  * plotFuns.r
    + Revised function `plotCsum' to work faster on large vectors (length>1e4) by removing duplicates only for plotting. (RH 150901)

2.68.0 2015-08-12
  * Documentation
    + Version with format x.y.z in DESCRIPTION
      - Always increase (usually add 1 to z) when committing to Git

2.67 2015-06-15
  * Documentation
    + Last update to Google Code before transferring pbs-modelling repository to GitHub. (RH 150615)
  * supportFuns.r
    + Fixed logic (hopefully) in function `view' when dealing with list objects. (RH 150610)
    + Fixed calls to httpdPort in `showHelp' and `viewCode' to only work in versions of R >= ver. 3.3.0 (RH 150416)
  * Documentation
    + Fixed a broken hyperlink in `CCA.qbr.Rd' and compressed `CCA.qbr.rda' further. (RH 150122)
    + Promoted `XML' package from `Suggests' to `Imports' as `presentTalk' uses quite a few `XML' functions and `require' in package code is dissuaded by CRAN. (RH 150120)
    + Changed function calls using `require' to use `requireNamespace' and functions need `pkg::' prefix (e.g. KernSmooth::bkde2D). (RH 150120)
    + Removed calls to `tools:::httpdPort' and replaced with `tools::startDynamicHelp(NA)' at the request of Kurt Hornik. (150120)
    + Bumped up version for next posting to CRAN using builds under R-3.2.0 (RH 150120)
  * listFuns.r
    + Added ability for `readList' to read comment-delimited ascii files commonly used by Awatea/Coleraine. (RH 141021)

2.66  2014-03-27
  * Documentation
    + JTS requested that RH becomes the package Maintainer. (RH 140327)
    + Bumped up version for next posting to CRAN using builds under R-3.0.3 (RH 140320)
  * supportFuns.r
    + Wrapped calls to `tools:::httpdPort` with `eval(parse())` in functions `showHelp` and `viewCode`. (RH 140320)

2.65  2014-03-20
  * supportFuns.r
    + Modified function `evalCall` to recognise a user-modified dots list called `dots` (RH 140304)
      - Useful for passing selected/modified original dots into various functions within the calling function.
  * Documentation
    + Fixed Rcheck NOTE: `Package in Depends field not imported from: 'methods'` by 
      - (a) moving `methods` from Depends to Imports in DESCRIPTION file and
      - (b) adding `import(methods)` to NAMESPACE file;
      - (c) also moved `tcltk` from Depends to Imports in DESCRIPTION file (may or may not matter) (RH 140214)
    + Fixed Rcheck NOTE: `Rd file '.../PBSmodelling/man/openFile.Rd': \examples lines wider than 100 characters` (RH 140214)
    + Updated each example code file to run in `.PBSmodEnv`. (RH 130716)
  * listFuns.r
    + Modified function `packList` to use accessor functions `tget`, `tcall`, and `tput`; should be much faster. (RH 130716)
  * supportFuns.r
    + Revised functions `runDemos` and `showVignettes` to avoid deprecated functions in package `tools` (requested by Kurt Hornik). (RH 130702)
  * Documentation
    + Removed `PBSddesolve` from `Suggests` in DESCRIPTION file. (RH 130418)
    + Moved obsolete tools from `trunk` root to `oldtools` under `branches`. (RH 130418)
  * supportFuns.r
    + Fixed bug in `openFile` - `gsub` needs to expand WinOS "\\" delimiters introduced by `normalizePath`. (RH 130405)
    + Masked two `assign` calls where the user can choose to populate the global environment with objects using functions `getWinVal` and `unpackList`. (RH 130405)
  * Documentation
    + Revised the User Guide, `Rcopy.bat`, and `setPBSoptions.Rd`. (RH 130328)
    + Revised the command line tools (e.g., RPaths.bat in directory PBStools). (RH 130327)
  * guiFuns.r
    + Corrected the behaviour of `slideplus` widget to match documentation ( issue 83 ). (NB 130219)
    + Corrected the behaviour of `spinbox` widget to match documentation ( issue 83 ). (NB 130218)
    + Moved start-up message to `.onAttach` and test for Tk availability. (NB 130210)
    + Improved warning messages when `tclRequire` fails ( Issue 90 ). (NB 130210)
    + Changed page up/page down button labels to work the same on all systems. (NB 2/9)
    + Allow multiple on-screen windows to have different bg colours (Issues 3 & 84) (NB 130207)
  * option_manager.r
    + Modified function `setOptions` to support a list of options ( issue 81 ). (NB 130126)
  * Documentation
    + Fixed a number of spelling mistakes. (NB 130120)
  * listFuns.r
    + Added support to readList/writeList ("P" format) for nested lists. (NB 130120)
  * supportFuns.r
    + Addressed  issue 61 : openFile ("..") opened the current directory and not parent. (NB 130113)
    + Fixed a few bugs due to misplaced `.tget(.PBSmod)` statements (thanks Athena Ogden). (RH 130102)
    + Modified function `showVignettes`; old code was based on deprecated grid structure (see Issue 86). (RH 121221)
  * R code
    + Re-organised some of the R code (no functional changes). (RH 121220)
  * guiFuns.r
    + Fixed the problem of widget `label` `name` argument not being recognised (mismatch in `tget` and `tput` calls, not sure where though). (RH 121218)
    + Disabled the grid check in `.validateWindowDescWidgets` because the structure of a windows description list must have changed since this little-used function was written. (RH 121217)
  * Documentation
    + Finished updating example section in Rd files. (RH 121217)
  * guiFuns.r
    + Filed Issue 86 on GoogleCode: `.validateWindowDescWidgets` appears to be buggy. (RH 121214)
  * supportFuns.r
    + Updated runExamples to run in the new environment .PBSmodEnv. (RH 121210)
  * R code
    + Finally got the gui code to work after switching the location of .PBSmod to .PBSmodEnv. (RH 121207)
  * Documentation
    + Bumped up the version as PBSmodelling is undergoing major changes to ensure that no objects are installed on the user's global environment. (RH 121201)

2.64  2012-11-29
  * Documentation
    + Updated the UG. (RH 121129)
  * guiFuns.r
    + Changed the default environment for 'createWin' from 'parent.frame()' to 'sys.frame(sys.nframe())'. (RH 121129)
      - Enclosing super assignment operator '<<-' calls in eval(parse(text="")) expressions (see RH 7/17/12) was disabling the creation of GUIs launched from other GUIs (Athena Ogden).
      - This appears to be related to a loss of synchronization of environments between PBSmodelling and tcltk.
  * Documentation
    + Added dot functions to namespace for export using explicit action patterns. (RH 121102)
    + Changed JTS's email address to schnutej-dfo@shaw.ca (RH 121102)
  * plotFuns.r
    + Added SM's function 'plotSidebars'. (RH 120807)
  * Documentation
    + Disabled NOTES about 'no visible binding for '<<-'' by converting the assignment lines to evaluated text. (RH 120717)
    + Implemented PBR's suggestion to remove NOTES about 'no visible binding for global variable xxx':
      - if(getRversion() >= "2.15.1") globalVariables(names=c(...), package="PBSmapping") (RH 120717)
  * Examples
    + Revised function 'TestFuns' to deal with closing windows more consistently. (RH 120327)
  * supportFuns.r
    + Revised function 'pad0' to deal with vectors containing mixtures of numeric and character elements. (RH 111212)
  * Documentation
    + Moved call to '.initPBSoptions' from '.onLoad' to '.onAttach'. {RH 111124)
    + Updated UG. (RH 111121)
    + Used 'packageStartupMessage' and 'message' rather than 'cat' in '.onLoad' in 'zzz.r'. (RH 111115)
    + Building PDF manuals (for R itself or packages, e.g. via R CMD check) by default requires the LaTeX package inconsolata. (RH 111115)
    + Note: R.2.14.0 now requires all packages to have a namespace; added some dot functions to export. (RH 111109)
  * guiFuns.r
    + Revised function 'doAction' to convert underscore period '..' in WDF to four back slashes and one period '\\\\.' in R code. (RH 111108)
  * supportFuns.r
    + Revised function 'view' to iteratively 'view' contents of a list object. (RH 111031)
  * Documentation
    + Added an example to 'evalCall.Rd'. (RH 110909)
  * supportFuns.r
    + Renamed and revised the function 'focusRcon' to 'focusRgui' so that it can set the focus back to RGui from a PBSmodelling window. (RH 110909)
  * Examples
    + Fixed small bug in 'TestFuns.r' which called 'testPch' with 'bs=FALSE' (RH 110909)
  * Documentation
    + Started new version for eventual posting to CRAN. (RH 110908)

2.63  2011-09-09
  * plotFuns.r
    + Revised functions 'testPch' and 'testLty' to allow additional arguments (...). (RH 110909)
    + Revised function 'testPch' to deal with octal string handling in the forthcoming R.2.14.0. release (thanks Duncan Murdoch). (RH 110909)
    + Adjusted function 'testCol' to display transparent colours. (RH 110908)
  * Documentation
    + Updated 'Rpack.bat' and 'Rbuild.bat' in 'PBStools'. (RH 110908)
    + Revised a few test functions to reset par properly. (RH 110908)
    + Started new version for eventual posting to CRAN. (RH 110908)

2.62  2011-08-04
  * Documentation
    + Updated 'RmakePDF.bat' and UG. (RH 110804)
    + Added documentation for the S4 class objects used by 'presentTalk': 'PBStalk-class.Rd' (RH 110802)
    + Revised documentation for the options manager: 'PBSoptions-class.Rd' (RH 110802)
  * plotFuns.r
    + Critical bits of 'plotBubbles' had been removed that were needed to make the function display single years; they are added back in. (RH 110428)
  * guiFuns.r
    + Revised GUI for 'FishRes' example to notebook style with two tabs. (RH 110406)
    + Revised GUI for 'PopSim' example to notebook style with two tabs. (RH 110405)
    + Replaced import/export history deprecated functions with the new selectFile method.
      - Fixed missing hisname in sort widget which failed to jump history widget positions when it wasn't named default.window (ACB 110116)
    + Fixed sort widget levels issue (rather than characters) which resulted in integers being displayed rather than text in the sort table.
      - Added string trimming to trim strings over 15 characters. (ACB 110116)
    + Updated findProgram.Rd to match new function wrapper (ACB 110103)
  * plotFuns.r
    + Added ARK+RH's revised code for 'plotBubbles' and updated Rd file. (ACB 110103)
  * supportFuns.r
    + Changed findProgram() to simply wrap Sys.which() (ACB 101217)
  * guiFuns.r
    + If the default window has not been created, return an empty list(). (ACB 101217)
    + Once sorting has been saved, jump to history entry 1 and redraw data (ACB 101214)
    + Fixed sort button in history widget, and hooked up to new click and drag sort widget.
      - Added sort direction arrows to tcl code (ACB 101214)
    + Initial prototype for history sorter (ACB 101208)
    + rowlabel tcl ptr name off by 1 when collabels are used (ACB 101114)
  * supportFuns.r
    + Modified 'viewCode' to search for patterns in 'funs' when 'pat=TRUE' (RH 101019)
  * Documentation
    + Started new version for eventual posting to CRAN (RH 101019)

2.61  2010-07-07
  * guiFuns.r
    + Teeny bug fix to make the sort button on the history widget functional. (RH 100707)
    + Updated createWidget.include to accept/return widgetlist. (ACB 100512)
  * supportFuns.r
    + Added new function 'runExample' to run a single GUI example from PBSmodelling's 'examples' subdirectory. (RH 100414)
    + Revised function 'runExamples' - minor changes to working variable names.

2.60  2010-03-23
  * projectFuns.r
    + Fixed functions 'findPrefix' and 'findSuffix' ('replacement' string in 'gsub' changed from '\\\\\\.' to '\\\\.'). (RH 100323)
  * Documentation
    + Updated UG to include info on the 'sticky' argument of widgets. (JTS 100319)
  * guiFuns.r
    + Fixed top/sidefont issue - where only the first vector item was being used. (ACB 100317)
  * supportFuns.r
    + Small bug fixes: 'runExamples' to close 'presentwin'; equilibrium plot routine in 'FishRes' example. (RH 100316)
  * Documentation
    + Further UG changes suggested by ARK (JTS 100312)
  * guiFuns.r
    + Widget adjustments suggested by ARK (ACB 100312)
  * Documentation
    + Further revisions to the UG, particularly the preface. (JTS 100303)
    + Updated UG to v.2.60. (RH 100218)
  * supportFuns.r
    + Fixed 'runDemos' to work with refactored grid code. (ACB 100217)
  * guiFuns.r
    + Fixed window description files that specified grids where dimensions were reversed when byrow=F. (RH 100216)
    + Made setWidgetColor work with logical modes of dataframes / matrix / vector. (ACB 100213)
    + Added disablefg for check and button. (ACB 100209)
    + Added arcradius, homogeneous, and tabbevelsize to notebook. (ACB 100204)
    + Added support for setWidgetColor for spinbox, text, radio. (ACB 100124)
    + Added notebook, image, progressbar to testWidgets(). (ACB 100122)
    + Added anchor arg for label widgets. (ACB 100122)
    + Refactored parsewinfile to *not* nest grid items - now a single list of widgets is passed to 
      - createWidget.XXX, which returns a tk pointer, *and* a left over set of widgets which still need to be parsed. (ACB 100120)
    + Added a 'notebook' widget, which embeds different widgets under tabs. (ACB 100120)
    + Fixed byrow=FALSE behaviour in 'grid'. (ACB 100120)
    + Added value checking for <code>'s 'break' argument, and made 'break' arg values case insensitive (presentTalk). (ACB 091205)
  * supportFuns.r
    + Added small wrapper function 'openUG' to open User's Guide named '<pkg>-UG.pdf'. (RH 091204)

2.55  2009-12-04  RH/JTS
  * Documentation
    + Advanced to version 2.55 for posting on CRAN (Google version will be added: 2.55.xxx)
    + Updated Developer's Guide (new 'Appendix C: Adding a New Widget'). Also numerous formatting changes.
  * supportFuns.r
    + Added small wrapper function 'openUG' to open a package user's guide with name format 'pkg-UG.pdf'.
    + Modified 'showHelp' and 'viewCode' to work with the new 'HTTP service running in the R process'.
  * guiFuns.r
    + Fixed very tiny bug (microscopic) in the 'check' widget WDF of 'testWidget'.

2.51  2009-10-23  RH
  * Documentation
    + Further standardised "SwissTalk" and "swissTalk" to "swisstalk".

2.50  2009-10-19  ACB
  * Documentation
    + Finalized User's Guide.
  * supportFuns.r
    + Modified 'viewCode' to summarize package functions in four ways.
  * guiFuns.r
    + Added environment argument to 'createWin' for search while calling widget callback functions.
    + Fixed 'droplist' bug where values returned by 'getWinVal' aren't correct if droplist's values were changed via 'setWinVal' (after window creation).
    + Added 'setWidgetColor' to dynamically change fg/bg for entry, button, label, radio, check widgets.
    + Created (internal) function '.tclArrayToVector'.

2.21  2009-08-16  ACB
  * Documentation
    + Fixed case sensitive issues for runExamples (Linux support).
    + Fixed title issue in description file.
    + Added warning when bwidget and tktable tk packages are missing.

2.20  2009-08-07  ACB
  * guiFuns.r
    + Introduced three new widget objects: 'droplist', 'spinbox', 'table'. (These can be demoed via testWidgets().)
    + Modified 'getWinVal' & 'setWinVal' so that they can change label widget text (via new name argument).
    + Modified widgets so that they can be disabled with 'setWidgetState'.
    + history widget next/prev buttons get disabled when index reaches either end.
    + Modified 'getWinVal' to no longer return factors (converts to character instead).
    + Changed 'object' widget to provide scrollable rows (see rowshow argument).
    + Changed vector labelling behaviour - to only label indexes when no label is given and only one name is given.
    + Introduced 'include' widget for including window description files from other description files.
    + Changed 'history' widget caption (see text and textsize arguments).
  * listFuns.r
    + Fixed read/write list bug fix for array objects (introduced dimnames arg).
  * supportFuns.r
    + Converted 'runDemos' to use droplist widget (to allow for packages with many examples which can overflow screen height).
    + Enhanced 'openFile' to work on OSX, gnome.
  * plotFuns.r
    + Updated resetGraph.

2.11  2009-06-08  ACB
  * Documentation
    + ACB migrated PBSmodelling to googlecode.com's SVN system.

2.10  2009-05-14  RH
  * Documentation
    + Revised Rd files to include original authors of all functions.
  * supportFuns.r
    + Added Norm's functions for clearing ('clearRcon') and focusing on ('focusRcon') the R console.
  * listFuns.r
    + Revised 'packList()' to deal composite expressions in recursive list objects (lists within lists within lists...).

2.09  2009-05-01  RH
  * supportFuns.r
    + Transferred function 'clipVector()' from PBSfishery to PBSmodelling.
  * listFuns.r
    + Revised 'packList()' to deal with composite expressions (calls, expressions, etc.) within list objects (see 'deparse()').

2.08  2009-04-21  RH
  * Documentation
    + Revised (yet again) 'RmakePDF.bat' to follow the R developers' shifting code.
  * projectFuns.r
    + Fixed bug in '.doClean()'.
  * supportFuns.r
    + Modified function 'viewCode()' to see functions in namespace.
    + Modified function 'viewCode()' to allow user to specify explicit functions.

2.07  2009-04-20  RH
  * guiFuns.r
    + Added new function 'updateGUI()' to write any available values from R's memory to the active GUI.
  * Documentation
    + First build under R-2.9.0.

2.06  2009-03-06  RH
  * Documentation
    + POSTED ON CRAN
    + Changed 'convSlashes.Rd' & 'doAction.Rd' to reflect new functionality of '\code{}' in R-2.9.0.

2.05  2009-03-05  RH
  * Documentation
    + Added 'PBSmodelling-Updates.pdf' to the vignettes.
  * Examples
    + Added 'testAlpha' and 'viewCode' to 'TestFuns' for 'runExamples()'.

2.04  2009-03-04  RH
  * plotFuns.r
    + Added new function 'testAlpha()' to display transparency values.
  * supportFuns.r
    + Added new hidden function '.findSquare()' to determine rows m and columns n from a vector N.
    + Revised 'runDemos()' to require packages as needed.
    + Revised 'evalCall()' to optionally check additional arguments in '.default()' functions and 'par()'.
  * listFuns.r
    + Revised 'packList()' to pack an explicit value instead of object values.
  * projectFuns.r
    + Revised function '.makeCleanVec()' to allow file names with spaces.
  * R code
    + Removed easy-to-change instances of "<<-", replaced with either 'assign()' or 'packList()'.

2.03  2009-02-24  RH
  * projectFuns.r
    + Revised functions 'cleanProj()', '.doClean()', 'cleanWD()' and '.doCleanWD()'.
  * listFuns.r
    + Added new function 'packList()' that packs objects from one environment (typically local) into a list object in another environment (typically global).
  * plotFuns.r
    + Revised the 'par()' defaults in 'resetGraph()'.
    + Revised the BRugs plotting functions to use 'evalCall()' and to use an expanded colour vector.
    + Implemented 'evalCall()' in 'plotCsum'

2.02  2009-02-23  RH
  * projectFuns.r
    + Revised functions 'cleanProj()' and '.doClean()' to delete project junk files.
    + Added new functions 'cleanWD()' and '.doCleanWD()' to delete specified files.
    + Added new non-GUI functions 'getPrefix()' and 'getSuffix()' to search for and return all prefixes/suffixes of system files on the specified path.
  * supportFuns.r
    + Revised 'showArgs()' to display the widget arguments in a more visible manner.
    + Added new function 'evalCall()' to evaluate function calls with potentially duplicated arguments due to '...'.
    + Added new function 'showPacks()' to check if specified packages are missing from a user's system (JTS).
    + Added new function 'convSlashes()' to convert slashes depending on OS.
      - (duplicates somewhat the functionality of '.addSlashes()')
    + Added new function 'viewCode()' to collect the R-code of all functions in a specified package on the user's system.
    + Added new function '.forceMode()' to coerce modes into those specified, if possible (replaces '.convertMode()' in 'readList()').
      - Note: I could not use this algorithm to replace '.convertMode()' generally because this affects logical values derived from GUIs.
  * plotFuns.r
    + Revised 'plotBubbles()' to increase its versatility.
  * guiFuns.r
    + Added new function 'doAction()' which executes the action created by a widget.
  * widgetDefs.r
    + Changed the definition of '.pFormatDefs$array' (formerly not used) in '.widgetDefs.r'.
  * listFuns.r
    + Revised 'writeList()' and 'readList()' to handle n-dimensional arrays in PBS format.
  * Documentation
    + Changed the grouping of functions within existing and new *.r files (only relevant to the package builders).

2.01  2008-10-24  JTS
  * Documentation
    + POSTED ON CRAN

2.00  2008-10-23  RH
  * Documentation
    + Bumped up the version for CRAN

1.92  2008-10-23  JTS/RH
  * Documentation
    + Revised the User's Guide, the example document 'vonBDoc.pdf', and the talk description file 'SwissTalk.txt'.

1.91  2008-10-09  RH
  * presentTalk.r
    + Revised 'presentTalk()' to clean up a few bugs and quirks.

1.90  2008-10-08  RH
  * presentTalk.r
    + Revised 'presentTalk()' to restore some semblance of functionality.
      - Will need to be completely recoded in future.

1.89  2008-10-07  RH
  * Documentation
    + Standardised 'ChangeLog.txt' of PBS packages for viewing in HTML.
      - Header lines comprise:  version  date  builder
    + Temporarily disabled export of dot functions to namespace (for debugging).
  * supportFuns.r
    + Revised 'openFile()' to use 'shell()' on Windows systems and 'system()' on UNIX systems.
    + Revised 'setPBSoptions()' to allow the setting of list components within an 'option'.
  * presentTalk.r
    + Revised 'presentTalk()' to take advantage of the revised 'setPBSoptions()' for code clarity.
    + Revised the GUI in 'presentTalk()'.
    + Attempted to implement backwards steps through 'chunks'
      - (still buggy due to hazy grasp of variables like 'mustEval' and 'midChunks').

1.88  2008-09-22  RH
  * presentTalk.r
    + AE revised 'presentTalk.r' to include a 'back one step' button.
  * supportFuns.r
    + Revised 'openFile()' to work under 'windows' and 'unix'.

1.87  2008-09-10  RH
  * presentTalk.r
    + AE revised 'presentTalk.r'.

1.86  2008-09-09  RH
  * supportFuns.r
    + Fixed small bug in 'runExamples()'.
    + Revised 'openFile()' to use 'shell()' instead of 'system()' (latter no longer seems to work).
  * Examples
    + Revised 'TestFuns.r'.

1.85  2008-09-08  RH
  * presentTalk.r
    + Revised AE's 'presentTalk.r' (reorganised the GUI).
  * supportFuns.r
    + Updated 'runExamples()' to handle the 'swissTalk' presentation.
    + Revised 'isWhat()'.

1.84  2008-09-07  JTS
  * presentTalk.r
    + Incorporated AE's revised 'presentTalk.r'.

1.83  2008-09-05  RH
  * guiFuns.r
    + Revised (again) 'getChoice()' and 'chooseWinVal()'.
  * presentTalk.r
    + Tweaked 'presentTalk.r' (to no avail).

1.82  2008-09-04  RH
  * Documentation
    + Revised a whole swack of Rd files.
  * guiFuns.r
    + Revised 'getChoice()' and 'chooseWinVal()' to resolve a closing issue.
  * Examples
    + Revised 'TestFuns.r' to have 'plotFriedEggs' example use par(ask=TRUE).

1.81  2008-09-03  JTS
  * presentTalk.r
    + Added AE's revised 'presentTalk.r' and 'tagDefs.r'

1.80  2008-09-03  RH
  * Examples
    + Revised 'plotFriedEggs()', 'TestFuns.r' 'TestFunsWin.txt', and 'runExamplesWin.txt'

1.79  2008-08-26  RH
  * Documentation
    + User Guide updated
  * presentTalk.r
    + AE: '.presentTalk()' has been moved into .PBSmod$.options (accessed directly).
    + AE: Talk names must be alphanumeric and the first character cannot be a digit.
    + AE: eval break option is now print; can now break after show when nothing shown.
  * plotFuns.r
    + RH: Added a modified version of Steve Martell's 'plotFriedEggs'.

1.78  2008-08-26  RH
  * supportFuns.r
    + Added function 'showRes()'.
  * Documentation
    + Repaired 'index.html'
    + User's Guide updated (JTS & RH).
  * Examples
    + Added revised 'FishRes.r' and 'FishResWin.txt' to deal with PBSddesolve.

1.75-1.77  2008-08-25  AE
  * presentTalk.r
    + Added 'presentTalk()'.
    + Talk names in 'presentTalk()' are now restricted to alphanumeric characters.
  * guiFuns.r
    + Fixed history widget.
  * Documentation
    + Added html index.
  * projectFuns.r
    + Made change to '.optionsNotUpdated()'.
  * supportFuns.r
    + Fixed problem with 'setPBSoptions()' handling data frames.

1.78  2008-08-21  AE
  * Documentation
    + Fixed .Rd files for -declareGUIoptions, getGUIoptions, openProjFiles.Rd.
    + Fixed bad keywords in various .Rd files.
    + Removed non-source files from '.../src' directory.
    + Added html index, fixed history widget.
  * projectFuns.r
    + Removed extraneous argument from 'getGUIoptions()' function.
    + Fixed call to 'setGUIoptions()' in 'loadC()' GUI.
  * Examples
    + Removed ADOL-C examples.
  * cSupport.r
    + 'loadC()' now calls 'readPBSoptions()'.
  * supportFuns.r
    + Changed shell call in 'openFile()' to use the 'system()' function.

1.73  2008-08-11  AE
  * supportFuns.r
    + Added function 'isWhat()' and .Rd file for it (need to add to User's Guide).
    + 'writePBSoptions()' now unsets '.optionsChanged()'.
    + 'readPBSoptions()' and 'writePBSoptions()' now properly set '.optionsFile()'.
  * projectFuns.r
    + Changed name of 'promptSave()' to 'promptWriteOptions()', changing .Rd file and calls to the function.
    + 'promptWriteOptions()' now does not have an error when no windows have been created.
    + Removed 'fname' argument from '.getGUIoptions()' (it now does not call 'readPBSoptions()').
  * Documentation
    + 'writePBSoptions()' .Rd file now  has a link to 'promptWriteOptions()'.
    + Updated .Rd files for 'promptWriteOptions()', 'readPBSoptions()', '.getGUIoptions()', and 'setwdGUI()'.

1.72  2008-07-31  AE
  * Documentation
    + Updated incomplete change log entries.
    + Updated user's guide (RH).
  * cSupport.r
    + Fixed bug in 'loadC()' window description file.
  * supportFuns.r
    + Setting a file extension with 'setPBSext()' now counts as an option being changed for 'promptSave()'.

1.70-1.71  2008-07-30  AE
  * Documentation
    + Minor changes (not tracked).

1.69  2008-07-25  AE
  * Documentation
    + Minor changes/bug fixes/changes to .Rd files.
  * plotFuns.r
    + Changed row labels for 'testPch()'.
  * cSupport.r
    + Changed layout of 'loadC()' GUI.

1.68  2008-07-24  AE
  * Documentation
    + Minor changes, .Rd files added.

1.67  2008-07-23  AE
  * projectFuns.r
    + Replaced old clean functions with new function 'cleanProj()'.
    + Changed functionality of 'setwdGUI()' and 'openProjFiles()'.
    + Added helper function '.formatStrToLineLen()' for usage in message boxes;
      - '.showAlert() and 'getYes()' have a 'lineLen' argument for automatic formatting.
  * Documentation
    + Made various function name changes.
  * cSupport.r
    + Changed 'compileC()' to use the .so extension for non-Windows platforms.
    + Fixed bug in '.guiCompileC()'.
    + Fixed problem with garbage collection in comparison.

1.66  2008-07-21  AE
  * Documentation
    + Changed description file to reflect AE's correct DFO email.
    + Renamed PBSc.r to cSupport.r, PBSc.txt to embedC.txt, PBScSetup.pdf to embedCSetup.pdf.
    + Allocated new functions to either cSupport.r or projectFuns.r.
  * cSupport.r
    + Added header to 'cSupport.r'.
    + Changed references to the name 'PBSc' in functions/comments/widgets/etc.
    + Removed 'setPBSoptions()', 'readList()' from cSupport.r (they were duplicated in supportFuns.r)
    + '.log' is now a clean option.
    + Changed '.embedCRunComparison()' to use 'system.time()' and return when prefix is blank.
    + Made changes so that the compilation log includes the compile command.
    + Changed 'compileC()' to take different arguments.
    + '.guiCompileC()' now constructs the file name.
  * projectFuns.r
    + Added '.getHome() which returns HOMEDRIVE on Windows or HOME on Unix (not tested on Unix).
    + Modified 'grabPrefix()' to  change prefix if the current one cannot be found in the working
      - directory for the given suffix. It also now returns a vector of all matching prefixes.
    + Added 'fname' argument to 'promptSave()'.
    + 'openExamples()' now does not show an error if a prefix widget does not exist.
    + Removed function '.parsePackAction()'.
    + Created generic 'openExamples()' function and updated accordingly.
    + Changed 'guiOpenPackageFile()' to 'openPackageFile', which now doesn't require a GUI.
    + Changed 'guiOpenProjFile()' to 'openProjFiles()', which now doesn't require a GUI and
      - can be used to open multiple files.
    + Changed '.tryOpen()' to check if the file exists.
  * supportFuns.r
    + Changed 'setPBSext()' and 'clearPBSext()' to set the changed flag so that a user will be 
      - prompted to save changes when exiting a GUI if any extension associations were changed.

1.65  2008-07-14  RH
  * cSupport.r
    + Added AE's 'embedC()' code and support functions.
  * R code
    + AE: Revised 'setPBSoptions()', 'readList()', 'writeList()'.

1.64  2008-07-10  RH
  * Documentation
    + Added a vignette '00ReadMe.Rnw'.
  * supportFuns.r
    + Added function 'showVignettes()' (author AE) to show available vignettes for installed packages.

1.63  2008-05-29  RH
  * supportFuns.r
    + Added function 'showHelp()' to show Help Pages for packages that match the supplied pattern.
    + Modified 'openFile()' to use 'sapply()' rather than call itself; functionality should be the same.
  * Documentation
    + Changed references to location of the user's guide.
    + POSTED ON CRAN.

1.62  2008-05-22  RH
  * Documentation
    + Moved 'ChangeLog.txt' and 'PBSmodelling-UG.pdf' to '.../inst/doc' folder of the build.
    + Changed 'Rd2dvi' to 'RD2dvi$' in 'RmakePDF.bat' and 'RmakePDF2.bat'.
    + Transferred 'DeveloperGuide.pdf' from 'developers' folder to '.../inst/doc' folder. Updated '00ReadMe.txt'.
  * plotFuns.r
    + Revised 'resetGraph()' to hide warnings about 'gamma'.
  * supportFuns.r
    + Revised 'view()' to better handle object types, and to allow selection of 'last' and 'random' n elements/rows.

1.61  2007-40-09  RH
  * Documentation
    + Removed extended ASCII characters from 'CCA.qbr.Rd' and 'testPch.Rd'.
    + Removed old batch files ('check.bat', 'build.bat', 'pack.bat', 'unpack.bat', 'makePDF.bat').
    + Updated User's Guide regarding batch files.
    + POSTED ON CRAN.

1.60  2007-10-02  ACB
  * C code
    + Addressed the C warnings introduced by the new R C api.
    + Modified one of the strings???

1.59  2007-08-30  RH
  * plotFuns.r
    + Fixed bugs in plotBubbles: to handle 1-column matrices, to handle null dimnames if dnam=T.
  * Documentation
    + POSTED ON CRAN.

1.58  2007-08-28  RH
  * Documentation
    + Corrected User's Guide to reflect proper history function names
      - (e.g, correct = 'initHistory()', incorrect = 'initPBShistory()').

1.57  2007-08-24  RH
  * Examples
    + Altered the 'PopSim' GUI to make clear that 'Age measurement error' is the only error 
      - affected by choice of Dirichlet vs. logistic-normal.

1.56  2007-08-23  RH
  * Examples
    + Altered the 'PopSim' GUI to better reflect the impact of Dirichlet vs. logistic-normal.

1.55  2007-08-22  RH
  * Examples
    + Fixed 'addArrows()', 'addLabel()', 'addLegend()' to recognise logarithmic axes.

1.54  2007-08-15  RH
  * plotFuns.r
    + Fixed bug in 'plotBubbles()' in '.../R/supportFuns.r' to handle NaNs after division by 0 when 'cpro=TRUE'.
      - Added new argument to 'plotBubbles(hide0=FALSE)': if TRUE, hides zero-value bubbles.
      - Added new argument to 'plotBubbles(dnam=FALSE)' : if TRUE, attempts to use matrix dimnames as x- and y-values.

1.53  2007-08-09  RH
  * Examples
    + Revised PopSim.r to accept random proportions from the Dirichlet distribution.
    + Revised PopSim.r to store all non-GUI data objects in one global object called '.PBSpopsim'.
    + Revised PopSimWin.txt to rearrange the GUI.
  * guiFuns.r
    + Revised 'getChoice()' to accept an argument 'quiet' for no reflection of choice on command line.

1.52  2007-07-31  RH
  * guiFuns.r
    + Revised 'getChoice()' and 'chooseWinVal()' in '.../R/guiFuns.r'.
    + Added 'getChoice()' and 'chooseWinVal()' to '.../inst/examples/TestFuns.r'.
  * Documentation
    + Updated the User's Guide.
  * Examples
    + Revised 'runExamples()' in '.../R/supportFuns.r'.

1.51  2007-07-27  RH
  * plotFuns.r
    + Revised 'resetGraph()' in '.../R/supportFuns.r'.
  * guiFuns.r
    + Added 'getChoice()' and 'chooseWinVal()' to '.../R/guiFuns.r'.
  * Documentation
    + Added 'getChoice.Rd' and 'chooseWinVal.Rd' to '.../man'.
    + Added JTS's revised R*.bat files to '.../inst/PBStools'. (Retained old *.bat for now.)

1.50  2007-06-26  RH
  * widgetDefs.r
    + Revised '.widgetDefs$text' in '.../R/widgetDefs.r to include a logical argument called 'scrollbar'.
    + Revised '.widgetDefs$text' in '.../R/widgetDefs.r' to include the 'sticky' argument.
  * guiFuns.r
    + Altered '.createWidget.text()' in '.../R/guiFuns.r' to create a text widget with or without a scrollbar.
  * Documentation
    + Updated User's Guide (text widget in App.A, App.C.1-2).
    + Modified 'makePDF.bat' slightly (replaced PBSmodelling with %1 in a few forgotten places).
    + POSTED ON CRAN (version number promoted).

1.25  2007-06-21  RH
  * plotFuns.r
    + Altered resetGraph() slightly: moved call to frame() after call to par().
  * Documentation
    + Updated User's Guide.
    + Revised 'makePDF.bat'; added newer version called 'makePDF2.bat' (.../inst/PBStools).
  * Examples
    + Revised 'runExamplesWin.txt'; added new 'PopSim' example (.../inst/examples).

1.24  2007-06-13  RH
  * supportFuns.r
    + Changed 'system()' to 'shell()' in 'openFile()' located in '.../R/supportFuns.r'.
  * Documentation
    + Updated PBSmodelling-UG.pdf.
    + Changed 'makePDF.bat' for easy PDF creation of *.Rd files (to append to UG).
    + Modified various Rd files.
  * Examples
    + Replaced 'FishRes' example with new one from recent Malaspina University-College collaboration.
    + Modified 'runExamples()' and 'testWidgets()' to resolve conflicting window names.

1.23  2007-05-09  ACB
  * guiFuns.r
    + Fixed bug (data handling of modes) in '.createWidget.object'.

1.22  2007-05-05  ACB
  * guiFuns.r
    + Rewrote list merging in 'importHistory()'.

1.21  2007-04-30  ACB
  * listFuns.r
    + 'writeList()' rolledback 'dput' control to default value: showAttributes

1.20  2007-04-25  ACB
  * guiFuns.r
    + Applied changes in 1.19 to affect radio widgets.

1.19  2007-04-23  ACB
  * guiFuns.r
    + Fixed logical radio 'setWinVal()' bug by changing '.getParamFromStr()' to convert widget 
      - values from character to the user-supplied mode.

1.18  2007-03-13  RH
  * supportFuns.r
    + Revised 'runDemos()' and '.viewPkgDemo()' to retain working directory focus and 
      - to clean up files spawned by the demos.
    + Added the function '.dClose()' to provide the cleanup upon closing 'pbs.demo' window.
    + Modified 'runDemos.Rd'.
  * Documentation
    + POSTED ON CRAN.

1.17  2007-03-13  RH
  * Examples
    + Revised 'runDemos()' to retain focus of project location.
    + Revised 'runExamples()' to close only 'window' and 'runE' windows on exit.

1.16  2007-03-05  JTS
  * guiFuns.r
    + 'sortHistory()' new order taken as ascending real numbers.

1.15  2007-03-03  ACB
  * guiFuns.r
    + Added 'wrap' argument to the 'label' widget.
  * Examples
    + Added 'runDemos()'.
    + Added a call to 'runExamples()' under 'demo'.

1.14  2007-03-03  ACB
  * guiFuns.r
    + Fixed a bug in 'addHistory()'.

1.13  2007-03-02  ACB
  * guiFuns.r
    + Fixed 'history' widget.
    + Added argument 'selected=FALSE' to 'radio' widget.
  * listFuns.r
    + 'writeList()' - dput control="useSource"

1.12  2007-02-22  ACB
  * guiFuns.r
    + Fixed bug in '.validateWindowDescWidgets()' that didn't check 'grid' children widgets.
    + Fixed bug due to 'history' widget changes from v.1.11.
    + Renamed '*PBShistory' functions to '*History' (e.g., 'initPBShistory()' => 'initHistory()').

1.11  2007-02-19  ACB
  * guiFuns.r
    + Changed behaviour and look of 'history' widget.
    + Added 'rewritePBShistory()' function.

1.10  2007-02-14  ACB
  * minFuns.r
    + Fixed bug in 'GT0()'.

1.09  2007-02-02  ACB
  * Documentation
    + Re-introduced ChangeLog.
    + Created developers directory containing Developer's Guide.

1.08  2007-02-01  ACB
  * Documentation
    + Removed link to 'shell.exec()' from 'openFile.Rd'.
    + Reinstated ChangeLog which was dropped in v.0.58.

1.07  2007-01-26  ACB
  * R code
    + Removed global 'PBS.win' variable and replaced with accessor functions:
      - 'getWinVal()', 'setWinVal()', 'getWinAct()', 'setWinAct()', 'getWinFun()'.
  * guiFuns.r
    + Introduced the 'object' widget.
  * Examples
    + Added more examples to 'runExamples()'.
  * minFuns.r
    + Added the function minimization suite (e.g., 'calcMin()').
  * Documentation
    + POSTED ON CRAN.

0.60  2006-08-28  ACB
  * Documentation
    + POSTED ON CRAN.

0.57  2006-08-16  ACB
  * plotFuns.r
    + Fixed 'expandGraph()'.
  * Documentation
    + Fixed the example for 'addLabel()'.
    + Changed some .Rd files.
    + Added instructions for building PDFs from .RDs.

0.55  2006-08-16  ACB
  * Documentation
    + Added new batch files for building packages.
    + Added 'CCA.qbr.hl' data object and .Rd file.
  * Examples
    + Changed 'ranVars' example to include a legend.
    + Added required package 'check' to examples.
  * Package
    + JTS takes over as package Maintainer from ACB

0.54  2006-08-10  ACB
  * Examples
    + Included new 'testWidget()' function and examples.

0.53  2006-08-10  ACB
  * Documentation
    + Removed images from examples directory.
    + Modified build batch files to include SETLOCAL.

0.52  2006-08-09  ACB
  * C code
    + Removed md5 code.
    + Added fibonacci C code using .C and .Call and R code.
  * plotFuns.r
    + Changed 'testCol()' to accept palette index and hex colours.
  * Documentation
    + Changed .bat files for building packages.

0.51  2006-08-08  ACB
  * plotFuns.r
    + Added argument 'returnValue=TRUE' to 'pickCol()'.
    + Added 'frame()' call in 'resetGraph()'.

0.50  2006-08-03  ACB
  * plotFuns.r
    + Added 'expandGraph() function and documentation.
  * Documentation
    + Added 'getMD5()' function (R and C code) and documentation.

0.48  2006-07-31  ACB
  * plotFuns.r
    + Revised 'testPch()', 'testLwd()', 'genMatrix()' functions (with new source from RH).

0.47  2006-07-26  ACB
  * plotFuns.r
    + Revised 'plotCsum()' code (from RH).
  * Documentation
    + Revised .Rd examples for 'resetGraph()' and 'plotCsum()'.

0.46  2006-07-21  ACB
  * plotFuns.r
    + Changed 'testCol()' function to RH's function.
    + Added 'pickCol()'.

0.45  2006-07-17  ACB
  * R code
    + Changed 'is.null' to '.isReallyNull' in hash$add function to fix issue of existence:
      - if 'fooXYZ' exists, then 'foo' points to 'fooXYZ' instead of a new variable.

0.44  2006-07-16  ACB
  * Documentation
    + Worked on documentation for functions from utils15.r.
  * R code
    + Made minor changes and bug fixes to these functions.

0.43  2006-07-14  ACB
  * plotFuns.r
    + Added 'resetGraph()'.

0.41  2006-07-09  ACB
  * guiFuns.r
    + Fixed bug in 'setWinVal()' dealing with matrix and vectors.
  * Documentation
    + Updated the docs.

0.40  2006-07-04  ACB
  * guiFuns.r
    + Changed behaviour of matrix row and col labels when nrow or ncol=1 
      - to stop the number 1 from appearing next to the row or column.
    + Fixed 'vector' widget font issue where 'toptitle' of 'vector' and 'matrix' did not have
      - font applied, but numbering did.

0.39  2006-07-02  ACB
  * Documentation
    + Added files from JTS's 'utils15.r', and created basic Rd files, which might have to be expanded.

0.37  2006-06-25  ACB
  * Documentation
    + Changed Rd files, cleaned up old unused functions ('.addlist()', '.writeListOut()').

0.36  2006-06-23  ACB
  * Documentation
    + Added namespace to only export non-dot functions, and to import tcltk functions,
      - rather than use 'require()' in 'createWin()'.
  * listFuns.r
    + Modified 'writeList()' to handle the 'P' format.

0.35  2006-06-19  ACB
  * guiFuns.r
    + Added arguments 'padx' and 'pady' to 'text' widget.
  * listFuns.r
    + Worked on P format for 'readList()'.

0.34  2006-06-09  ACB
  * listFuns.r
    + Worked on 'writeList()' R format to include comments and strip off structure so the first word is list(...).

0.33  2006-06-05  ACB
  * listFuns.r
    + Fixed 'byrow' option in 'writeList()'.

0.32  2006-06-04  ACB
  * listFuns.r
    + Worked on 'writeList()' to allow 'byrow' option for use with BRugs package.

0.31  2006-05-30  ACB
  * guiFuns.r
    + Modified 'createWin()' to accept a vector of strings representing the contents of a window description file.

0.30  2006-05-23  ACB
  * guiFuns.r
    + Fixed '.getArguments()' to reflect new 'characterVector' types.
    + Added better error messages for 'createWidget()'.
    + Fixed bug in slidePlus/getWinVal().

0.29  2006-05-19  ACB
  * guiFuns.r
    + Changed syntax for quoting (and sub-strings).

0.28  2006-05-18  ACB
  * listFuns.r
    + Added "$" format support to 'readList()' and 'writeList()'.
  * guiFuns.r
    + Added arguments 'rowname' and 'colname' to 'data' and 'matrix' widgets, affecting the dimnames of the R objects.

0.27  2006-05-12  ACB
  * guiFuns.r
    + Fixed 'text' widget - can set/get values from it.
    + Added "Clear All" button to 'history' widget.

0.26  2006-05-10  ACB
  * guiFuns.r
    + Added 'data' widget which represents a data.frame (like 'matrix' but takes a vector called 'modes').
    + Fixed bug: 'toptitle' wasn't showing up for 'matrix' and 'data' widgets
      - renamed 'title.offset' to 'toptitle.offset'.

0.25  2006-05-07  ACB
  * guiFuns.r
    + Introduced named windows for working with multiple windows.
    + Added functions 'closeWin()' and 'clearPBSHistory()'.
  * listFuns.r
    + Worked on 'openFile()' and 'PBS.options'.

0.24  2006-04-14  ACB
  * listFuns.r
    + 'writeList()' scientific argument - which can disable floating point numbers (ie 1e-10).

0.23  2006-04-13  ACB
  * guiFuns.r
    + Changed 'PBShistory' functions and Rd files.
    + Added 'importPBShistory()' and 'exportPBShistory()'.
    + Created a 'text' widget - still very buggy.
    + Created 'promptOpenFile()' and 'promptSaveFile()'.
    + Modified 'check' widget to use logical mode only.
  * listFuns.r
    + 'writeList()' can append custom comments to the top of files.

0.21  2006-04-10  ACB
  * guiFuns.r
    + Created 'history' widget, and supporting functions: 
      - 'initPBShistory()', 'updatePBShistory()', 'rmPBShistory()', 'addPBShistory()',
      - 'forwPBShistory()', 'backPBShistory()', 'jumpPBShistory().
    + Created 'null' widget (think label text="").
  * listFuns.r
    + Created 'openFile()' function.

0.19  2006-04-08  ACB
  * guiFuns.r
    + Removed all bold options, and introduced new font="bold italic 25 courier"

0.18  2006-04-06  ACB
  * guiFuns.r
    + Changed 'vector' & 'matrix' widgets to display 'checks' when 'mode=logical'.
    + Added 'mode' to 'check' widget to support logical, integer,...

0.17  2006-04-01  ACB
  * guiFuns.r
    + Added 'menu' and 'menuitem' widgets. Documentation is still lacking.
      - There is an example file for creating menus.

0.16  2006-03-30  ACB
  * supportFuns.r
    + Added 'createVector()' function & documentation.

0.14  2006-03-15  ACB
  * guiFuns.r
    + Changed error checking to print out widget description source when an error is found.

0.13  2006-03-14  ACB
  * guiFuns.r
    + Fixed bug: Warning message "the condition has length > 1 and only the first element
      - will be used in: if (labels == "") labels <- names"
    + Revised function 'getWinVal(v=PBS.win$vals, frame="" (or "L", "G") vector=F)' :
      - takes a vectors of strings and returns a list with named components or a vector with named components
      - (vector=T). When frame="L" ("G"), local (global) variables are created with the relevant names. 
      - RH:  assign(i,PBS.win$var[[i]],pos=parent.frame(1))
    + Revised 'setWinVal()' that takes a vector or list with named components. 
    + Check into 'padx', 'pady', 'sticky', etc. Do we need grids? Include a "top" grid.
    + Added  argument 'vertical=TRUE' to 'window'.
    + Similarly, use 'vertical' in 'vector' (and other widgets?).
    + Allow upper/lower case in window descriptions.

0.11  2006-03-03  ACB
  * guiFuns.r
    + Renamed 'coltitle' to 'sidetitle' ('grid' widget).
    + Renamed 'boldtitle' to 'bold' ('matrix', 'vector').
    + Changed argument ordering to conform to specs (except for 3 additions above: 'by', 'func', and 'action').
    + Added 'func' and 'action' support to 'matrix' and 'vector' widgets.

0.10b  2006-01-15  ACB
  * Examples
    + Added beta.r and beta.txt to pbsmodelling/inst/examples.

0.10a  2006-01-14  ACB
  * guiFuns.r
    + Removed commented out combo widget code.
    + Removed 'action' argument from 'matrix' and 'widget' (since there is no function support).

0.10  2006-01-13  ACB
  * guiFuns.r
    + create.slideplus:
      - Added fractional values support to slideplus enter=TRUE|FALSE parameter added, for updating min/max values.
    + parseWinFile, createWin: Multiple windows per file support added.
    + create.entry: added enter=TRUE|FALSE, for entry widgets
  * Documentation
    + 'window_markup.doc'
    + Updated changes
    + ACB becomes package Maintainer
