       
Version 1.89.J01
================

Syntax of unit names
--------------------       
111013 grammar:
       Changed !"." after 'number' to '!point', with point = [.,]
       expecting local number formats in the future.
       Added ',' as the forbidden start character of 'word'.
       Redefined 'namechar' using ^[s].
120130 Renamed to Grammar.
120202 Grammar:
       Updated syntax of 'word' according to Section 9.2 of GNU units
       manual edition 1.89e, adding decimal comma and tilde
       to forbidden start characters.
120202 Entity:       
       Added method 'checkName'.
120202 Unit:
       Added method 'hasSubscript' and used it to check the name.
120202 Semantics:
       In 'unitname': extract exponent only if not part of subscript.
       
Reading unit files
------------------       
120121 UnitsFile: 
       Changed name from 'File' to 'UnitsFile'
       to eliminate conflicts with Java class 'File'.
120121 applet, convert, Location, Tables, UnitsWindow: 
       Renamed 'File' to 'UnitsFile'.
120123 UnitsFile:
       Modified 'open' in 'StandAcc' and 'AppletAcc'
       to return InputStream instead of BufferedReader.
       Changed return type of 'open' in 'FileAcc' to InputStream.
120123 Tables:
       Prepared for include files being added to 'Env.filenames';
       see under 'Read unit definitions' in 'build'.
       Append name of include file to 'Env.filenames'.
120129 Location:
       Added 'where'.
120230 grammar:
       Renamed to 'Grammar'.
120201 Introduced File Parser.
       Added 'FileGrammar.peg' and 'FileSemantics.java'.
       Generated 'FileParser.java'
120201 UnitsFile:
       Restructured to use File Parser.
120201 ComputedFunction, Prefix, TabularFunction, Unit:
       Adapted to use with File Parser by
       removing method 'accept' and adding 'define'.
120317 ComputedFunction, Prefix, TabularFunction, Unit:
       Changed 'define' to replace an earlier definition
       instead of ignoring re-definition,
       as in the original 'units'.
120317 convert, UnitsWindow:       
       Append personal units file AFTER units.dat,
       as in the original 'units'.
120318 DefinedFunction:
       Added method 'checkHiding'.
120318 ComputedFunction, TabularFunction:
       In 'check': check name conflict using 'checkHiding'.
120318 Unit:
       In 'check': removed check for name conflict.
120326 applet, convert, Env, UnitsFile, UnitsWindow:
       'FileAcc' moved from Env to UnitsFile.
120402 ComputedFunction:       
       In 'check': added checking of inverse parameter.
120404 TabularFunction:
       In 'check': added checking of result unit.
       
Unit lists
----------
120126 convert:
       Added option '-r'.
120126 Env:
       Added variable for option '-r'.
120127 Entity:       
       Added 'alias' to the comment.
       Removed unused import.
120201 Alias:
       Created.
120201 Tables:
       Instantiate Alias table.
120208 UnitList:
       Created.
120213 convert:
       Handle unit list in 'noninteractive' and 'interactive'.
120213 GUI:
       Handle unit list under 'Compute pressed'.
120225 Tables:
       Added Alias table in 'showConformable', 
       'showMatching', 'check', 'stat', and 'clean'.
120228 Tables:
       Replaced use of 'Env.err' by 'Env.out'.
120303 Tables:
       Added method 'showdef' to show a complete
       definition of a unit name, function name, or alias.
120303 Factor:
       Added check for a valid name to 'split'.
       Substantial rewrite of 'showdef'.
120309 Tables:
       Added Alias table in 'showSource'. 
120311 Env:
       Added method 'convert', previously part of convert and GUI.
120311 convert, GUI:
       A major rewrite to handle unit lists and use 'Env.convert'.
120326 GUI:
       Added example of unit list conversion to HELP.
120326 convert:
       Added example of unit list conversion to HELP.
120326 Env:       
       
Unicode support
---------------
120123 UnitsFile:
       Modified to read the file as UTF8-encoded.
120326 Env:
       Added 'encoding', 'font', and their default values.
       Added 'guiFont'.
       Renamed DEFAULTLOCALE to LOCALE.
       Modified 'getProperties' to obtain ENCODING and GUIFONT.
120326 applet:
       Rewritten option setting. Added GUIFONT parameter.
120326 Browser:
       Instantiate and use 'Env.guiFont'.
120326 convert:
       Rewritten option setting. Added options '-e' and '-g'.
       Use encoding from 'Env.encoding' for System in and out.
120326 GUI:
       Instantiate and use 'Env.guiFont'.
120326 UnitsWindow:       
       Rewritten setting of options.
   
Version change
--------------
120123 Env:       
       Changed version number of Java Units, original Units,
       and 'units.dat' file.
       
General clean-up
----------------
120202 Factor:
       Use a method from 'Double' instead of 'Util.strtod'
       to decide 'isNumber' attribute in the constructor.
120202 Util:
       Removed no longer used method 'strtod' and its 'NumberMatcher'.
120208 GUI:
       Removed acccidental extra copy of 'Conformable units pressed'.
120208 BuiltInFunction, ComputedFunction, Entity, 
       Prefix, TabularFunction, Tables, Unit:
       Renamed one-argument method 'isCompatibleWith'
       to 'conformsTo' to avoid confusion with two-argument one
       defined in Product and Value.
120209 ComputedFunction, Factor, Prefix, Product, 
       TabularFunction, Unit, Value:
       Moved definition of Ignore from Factor to separate file
       as enum can now be a separate compilation unit.
120209 BuiltInFunction:      
       Clarified error messages about undefined result.
120228 Env:
       Removed the error writer 'Env.err'.
120228 GUI:
       Removed setting up of 'Env.err'.
120228 convert:
       Removed error writer 'myErr' and setting of 'Env.err'.
120228 Browser, convert, Env, Tables, Value:
       Replaced use of 'Env.err' by 'Env.out'.
120302 Value:
       Do not show factor 1 in 'as String'.
120310 Browser:
       Set scroll mode to BLIT_SCROLL_MODE (said to be fastest).
120311 DefinedFunction:
       Added static method 'showdef'.
120311 ComputedFunction, TabularFunction, Unit:
       Suppress error messages from 'conformsTo'.
120312 DefinedFunction, Value:
       Moved method 'convert to Function' from Value to DefinedFunction.
120313 ComputedFunction, Prefix, TabularFunction, Unit:
       Added 'location.where' to messages from 'check'
120316 Prefix:
       Added methods 'desc' and 'conformsTo'.
120316 Tables:
       Added Prefix table in 'showMatching' and 'showConformable'.
120316 ComputedFunction:
       Corrected message about abandoned inverse check.
120318 Tables:     
       Removed check for multiple invocations.
       It was superfluous: each invocation has own static variables.
120318 Browser:     
       Removed method 'init'. The check for multiple invocations
       was superfluous: each invocation has own static variables.
120318 applet, UnitsWindow:
       Removed call to 'Browser.init'.
120326 Env, GUI:
       Removed 'Env.gui' - never used.
120405 Prefix:
       Used method 'startsWith' in 'find'.