			Electric change log

************************* Version 7.00: Released 7/14/2004 *************************

BUG: (6/20/04) Waveform display may crash on mono-value plots.
FIX: In "simwindow.c:sim_window_loadanatrace()" add call to "sim_window_auto_anarange()" at end.
     Also, in "sim_window_trace_range()", spread out ranges that center on a single value.

BUG: (6/20/04) Displayable Double-precision Variables cause binary input to crash.
FIX: In "iobinaryi.c:io_readvariables()" check for pure type, independent of displayability.

BUG: (6/2/04) "Validate Power and Ground" corrects ones that it thinks are incorrect.
FIX: In "network.cpp:net_set()" do not correct power and ground problems.

IMP: (6/1/04) ERC now allows power and ground ports to be identified by their
     name as well as by their export characteristics.

BUG: (5/26/04) Cross-library references may fail spuriously, and substitute dummy cells.
FIX: In "iobinaryi.c:io_readexternalnodeproto()" check only size, not all 4 bounds.

BUG: (5/26/04) Verilog cell names allow special characters.
FIX: In "simverilog.c:sim_vercellname()", use "sim_vernamenoindices()".

BUG: (5/25/04) Conversion of outline information from Java Electric is bad.
FIX: In "io.c:io_fixnewlib()" must accept all new versions for conversion.

BUG: (4/7/04) DRC finds spurious errors when transistors are connected across
     different levels of hierarchy.
FIX: In "drcquick.c:dr_quickcroparcinst()", must adjust transformation matrix for
     hierarchy, and must make use of current transformation information.

BUG: (4/1/04) All SPICE templates are the same.
FIX: In "evemenus.mac", made the different SPICE templates use different variable names.

BUG: (4/1/04) Colors are wrong on SunBlade.
FIX: In "graphunixx11.c", use the red/green/blue mask fields from the visuals.

BUG: (3/17/04) "Package Into Cell" creates a new cell with the unknown view.
FIX: In "usrcomoq.c:us_package()" use the current cell's view for the new cell.

IMP: (2/23/04) SPICE deck generation now distinguishes cell names when there are
     multiple cells with the same name in different libraries.

BUG: (2/18/04) DRC of schematics with bad network information crashes.
FIX: In "drc.c:dr_schdocheck()", when checking for sensible bus width, handle
     situation where the arc has no network information.

BUG: (2/2/04) Reading double-precision variables from disk crashes.
FIX: In "iobinaryi.c:io_readvariables()" convert double to float.

BUG: (1/23/04) Reading libraries with cross-library references that are inconsistent
     may crash.
FIX: In "iobinaryi.c:io_readexternalnodeproto()", when allocating the name of the
     dummy cell, use "allocstring()", not "reallocstring()".

BUG: (1/15/04) Rotating instances that have no exports crashes.
FIX: In "usrcomrs.c:us_rotate()", do not wire nodes that have no ports.

IMP: (1/13/04) "Check and Repair Libraries" now ensures that cells with the same name
     are in the same group.

IMP: (1/8/04) Added ability to associate a cell with a primitive transistor in NCC.

BUG: (1/8/04) Cell groups get corrupted.
FIX: Redid "dbnoproto.c:db_insertnodeproto()".

BUG: (12/1/03) DRC exclusion regions go both up and down the hierarchy.
FIX: In "drc/drcquick.c:dr_quickaccumulatieexclusion()" added a check for
     the hierarchy level (down only).

BUG: (9/16/03) If you duplicate a cell with an example icon, it may crash.
FIX: In "usrcomcd.c:us_copycell()", must check for the icon's existence before
     creating a new one.

BUG: (9/15/03) NCC does not associate unexpanded cell instances properly.
FIX: In "netflat.c:net_initnetflattening()" and in "netdiff.cpp", use the
     "NETCELLCODE" field of the cell's "temp1" instead of the cells "temp2".

BUG: (9/8/03) NCC may crash.
FIX: In "netdiff.cpp:net_analyzesymmetrygroups()", when looking for missing ports,
     exit the loop if any PNET is null.

BUG: (9/4/03) Verilog netlister may write "include" statements more than once.
FIX: In "simverilog.c:sim_verwritecell()" do not recurse if the destination has
     a behavioral file associated with it.

BUG: (9/4/03) Verilog netlister may emit wrong instance name.
FIX: In "simverilog.c:sim_verwritecell()" pass the mangled cell name to "parameterizedname()"

BUG: (8/26/03) May crash when placing a primitive node.
FIX: In "usrmisc.c:us_inheritattributes()" return immediately if not a cell.

BUG: (8/18/03) Cannot change the color of Artwork primitives using node "Get Info".
FIX: In "usrdiacom.cpp:EDiaShowNode::refill()" must set the value of "techedrel".

BUG: (8/14/03) When creating new cell parameters, the instances are not updated.
FIX: In "usrdiacom.cpp:us_attrparamdlog()", after the dialog completes and
     instances are updated, change:
		if (insamecellgrp(ni->proto, np)) continue;
     to:
		if (!insamecellgrp(ni->proto, np)) continue;

IMP: (8/14/03) In the "Edit Cells" dialog, the "Confirm Deletion" checkbox
     remembers its setting within a session of Electric.

BUG: (8/7/03) Zooming to a precisely-drawn area (Highlight Then Focus) also
     selects signals in the waveform window.
FIX: In "usrhigh.c:us_addhighlight()", only ask the network tool to highlight
     signals if the highlight type is a piece of geometry.

IMP: (7/29/03) In "Info / User Interface / General Options" now have checkbox:
     "Show file-selection dialog before writing netlists".

IMP: (7/29/03) Verilog output, indexed signals now use a sensible index number.

IMP: (7/28/03) Added "Maxwell" simulation output.

BUG: (7/28/03) Macintosh "wire" button is mistakenly bound to shift-option.
FIX: In "evemenus.mac", change "var set W sobutton" to "var set W smbutton"
     in the macintosh section.

IMP: (7/25/03) NCC preanalysis now shows the number of entries in each category.

IMP: (7/25/03) Improved simulation world: explorer window now lists signals in the waveform,
     signal names spread out to full extent of frame.

BUG: (7/24/03) When doing "cross-library copy" with "copy related views", example
     icons don't get replaced properly and refer to the original icon.
FIX: In "dbnoproto.c:copynodeproto()" always substitute example icons.
     In "usrnet.c:us_copyrecursively()" copy icons first.

BUG: (7/24/03) If multiple objects of different types are selected, "Change" cannot
     replace all of them.
FIX: In "usrcomrs.c:us_replace()", remove test for type consistency.

IMP: (7/24/03) When descending hierarchy into an arrayed node during simulation,
     system asks for index and uses it.  Upgraded "sethierarchicalparent()" to handle
     indices.

IMP: (7/24/03) Sped up NCC by sorting names when looking for matches in
     "netdiff.cpp:net_analyzesymmetrygroups()".

BUG: (7/24/03) Text that is edited in-place has incorrect highlighting.
FIX: In "dbvars.c:getdisparrayvarlinepos()" always use the technology parameter
     instead of computing it from the object.

BUG: (7/24/03) Going Up-Hierarchy from schematic doesn't work if the upper level
     is ambiguous.
FIX: In "usrnet.c:us_pickhigherinstance()" fix call to "isiconof()".

BUG: (7/24/03) Double-clicking a "width" attribute on a non-transistor brings up
     the width/length dialog
FIX: In "usrdiacom.cpp:us_getinfotext()" be sure it is a FET before showing the dialog.

BUG: (7/24/03) Crashes during cross-library copy.
FIX: In "usrnet.c:us_copyrecursively()" do not use uninitialized "lib" variable.

IMP: (7/23/03) Waveform window improvements: highlights selected traces; zooming works
     properly; new command to read SPICE simulation output and display it; measurement
     works in waveform window.

BUG: (7/21/03) If an export on an icon does not exist in the schematic, DRC crashes.
FIX: In "drc.c:dr_schdocheck()", check the results of "equivalentport()" and issue an error.

BUG: (7/21/03) Verilog does not handle trireg arrayed exports.
FIX: In "simverilog.c:sim_verwritecell()", move code that checks for trireg/wire
     overrides to after the array test.

BUG: (7/17/03) "Check and Repair" removes the "title only" frame style.
FIX: In "usrcheck.c:us_checklibrary()", allow "x" for a title style.

BUG: (7/17/03) Xor components do not translate to VHDL properly.
FIX: In "vhdl.c:vhdl_generatevhdl()", width of symbol starts at character 4, not 3.
     In "vhdl_primname()", when XOR is negated, make it XNOR, not NOR.

IMP: (7/16/03) "General Facet Lists" has option to show "Cells NOT used elsewhere"

IMP: (7/16/03) New command "Tools / Routing / Mimic Selected" mimics selected arc

BUG: (7/16/03) Clicking in a dialog after "OK" may crash on Mac OS 10.
FIX: Disallow additional clicks after the dialog is dismissed.

IMP: (7/16/03) Major change:
     "Cell" object is gone, "facet" is now called "cell":
        deleted "CELL", "NOCELL", "VCELL", "NODEPROTO->cell", "NODEPROTO->nextincell",
        "LIBRARY->firstcell", "LIBRARY->tailcell", "LIBRARY->numcells",
        "LIBRARY->cellhashtable", "LIBRARY->cellhashtablesize",
        "topofcells()", "nextcells()", "alloccell()", "freecell()", "getcell()",
        "cell:XX" syntax from command line
     Put cell name into NODEPROTO ("protoname"), merged with "primname"
     Put cell fields into library: "lib", "freenetwork"
     Changed hash table of cell names in library into node proto names
     Defined cell groups and continuations:
        Exist as loop pointers in NODEPROTO ("nextcellgrp" and "nextcont")
        New macro for looping through them ("FOR_CELLGROUP")
        Routine for determining cell group membership: "insamecellgrp()"
        Routine for determining example icons: "isiconof()"
     Renamed routines, constants, and variables with "facet" in them to "cell":
        Routines: "changecellview()", "getcurcell()", "topofcells()/nextcells()",
        Routines: "mrgdonecell()", "lambdaofcell()", "stringarraytotextcell()"
        Constants: "CELLTXT/CELLOUT"
        Globals: "el_colcelltxt/el_colcell"
        Fields: "NODEPROTO->cachedequivcell", "WINDOWPART->intocell/outofcell", "LIBRARY->userbits&REDOCELLLIB"
     Modified routines: "inparameterizedcells()" and "addtoparameterizedcells()"

IMP: (7/15/03, DN) Improved Qt printing to better handle Macintosh printers.

BUG: (7/8/03) Layout text does not work right.
FIX: In "usrmisc.c:us_layouttext()", must delay creation and highlighting of nodes
     until after all bits in the pattern have been examined.

IMP: (6/13/03) Compactor works on technology edit facets.  Used initially to place
     geometry more sensibly.

IMP: (6/12/03) Offpage ports are more sensibly placed.

IMP: (6/12/03) Wiring improved.  Facet-to-arc makes proper "T" connection.

IMP: (6/12/03) Deprecated variables are removed during input.

IMP: (6/12/03) Status display now shows the name of the selected node.

BUG: (6/11/03) After technology editing, cannot wire from one node to another.
FIX: In "evemenus.mac:pmteeditX", change:
		bind set button %C create angle
     to be:
		bind set button %C create join-angle

BUG: (6/10/03) Old technology edit libraries have wrong port size.
FIX: In "io.c:io_fixnewlib()" add 4000 to each edge of a port primitive for libraries
     created before 6.08.

BUG: (6/9/03) Technology editor cannot connect two port nodes.
FIX: In "usredtecc.c:us_teceditmodobject()", reverse the test for two
     objects and 1 object (test for two objects first).

BUG: (6/9/03) GDS options and output may crash if a new layer is added.
FIX: In "iogdso.c:io_writegdslibrary()" and "io_gdsoptionsdlog()" must check
     that the number of layers does not exceed the length of the array.

BUG: (6/9/03) "zoom to area" fails if the facet window is not the current window.
FIX: In "usrcomek.c:us_find()", in the "area-define" case, get the current facet
     after the call to "trackcursor()".

IMP: (6/9/03) New "General Option" sets the delay of motion after selection.

BUG: (6/9/03) DRC crashes.
FIX: In "drcquick.c:dr_quickcheckfacetinstcontents()", must accept arcs that have
     no network on them.

BUG: (6/9/03) Creation of new ports in a facet causes use of that facet in another
     library to substitute a dummy instance because of inconsistency.
FIX: In "iobinaryi.c:io_readexternalnodeproto()" do not check ports on the subfacet
     to force them to exist on the instance.

IMP: (6/9/03) "DRC Exclusion" nodes are now used and all errors under them are ignored.

IMP: (6/9/03) Added command "Tools / Network / Create NCC Forced Association"
     to place a forced tag on a node or arc.  Added buttons in "NCC Control"
     dialog to show and clear these forced match tags.

TEC: (6/6/03) Added "silicide block" node to MOSIS CMOS technology.

BUG: (6/5/03) When displaying an entire network (with ^K) it may not show everything.
FIX: In "network.cpp:net_highlightsubnet()", there may be multiple networks that
     attach at the upper level (if they are shorted at the upper level) and so a list
     of networks must be built and displayed.

BUG: (6/5/03) Changing highlight or grid color in "Edit Colors" doesn't work right.
FIX: In "usrdiacom.cpp:us_colormixdlog()", must extend those colors to every appropriate
     entry in the color map.

IMP: (6/4/03) Verilog signal selection for waveform window can cross hierarchical boundaries.

BUG: (6/4/03) NCC cannot disambiguate circular symmetry groups.  Thinks circuits with
     export name differences are actually equivalent.
FIX: Modified "netdiff.cpp".  Used to assign random hash codes every 2nd pass, but this
     caused codes to go from component-to-network-to-component without changing value.
     Doing it every time works, but so does doing it every 3rd time, and that is faster.

BUG: (6/2/03) NCC allows matches between single-wire exports and ANY signal in a bus export.
FIX: In "netdiff.cpp:net_sameexportnames()", ignore all names that are part of busses.

IMP: (6/1/03) Added VCR controls to simulation window.

IMP: (5/29/03) Added "Simulation-Probe" primitive and use it to highlight progress.
     Auto-router wires it specially.  Added choice of simulation colors to "Simulation
     Options" dialog.

IMP: (5/29/03) Changes to export characteristics, facet parameters, or transistor sizes
     invalidates NCC cache.

IMP: (5/29/03) Macintosh/Qt printing works better.

IMP: (2/29/03) Sped up redisplay by reducing the number of time requests in "gra_setrect()".

SUN: (JKL, 5/29/03) Layout sizing updates for qFour

IMP: (5/28/03) Viewing errors with ">" forces windows to the top.

IMP: (5/28/03) When replacing a primitive with a facet instance, use default expansion
     for that facet.

BUG: (5/27/03) Wiring an unrouted-arc doesn't connect to destination nodes right.
FIX: In "usrtrack.c:us_createadown()", must call "us_adjustfornodeinfacet()"
     after the call to "defaultnodesize()".

BUG: (5/27/03) Extracting a facet that has no arcs in it doesn't work right.
FIX: In "usrnet.c:us_yankonenode()" do not quit routine if there are no arcs; only
     ignore arc copying portion.

IMP: (5/27/03) "Cleanup facet" now detects duplicate arcs.

BUG: (5/27/03) Mimic routing may duplicate existing arcs.
FIX: In "routmimic.c:ro_mimicthis()", disallow arcs that are already electrically connected.

BUG: (5/27/03) Text replacement of node names may not work right.
FIX: In "usrmisc.c:us_replacecircuittext()", must preserve value given to "setvalkey()"
     in allocated variable.

IMP: (5/27/03) NCC now detects export names that are on unassociated networks.

BUG: (5/23/03) Old technology libraries won't convert properly because of unknown color names.
FIX: In "dbtext.c:db_colors[]", after five "transparent-X", entries, duplicate those
     five with the word "overlappable" instead of "transparent".

************************* Version 6.08: Released 5/21/2003 *************************

BUG: (DN, 5/16/03) DEBUGMEMORY reports errors.
FIX: In "graphunixx11.c:termgraphics" free more memory.

BUG: (DN, 5/16/03) DEBUGMEMORY crashes on quit.
FIX: In "dbtext.c:db_freetextmemory" change "==" to "!=".

BUG: (DN, 5/14/03) "Library File Selection" dialog doesn't work on Qt when progress dialog is on top.
FIX: In "usrdiacom.cpp:DiaInitProgress" make progress dialog modeless.

IMP: (DN, 5/14/03) First click on editor window is ignored on Macos/Qt..

BUG: (DN, 5/14/03) Spice deck contains unnamed networks sometimes.
FIX: In "network.cpp:net_nameallnets" call "net_reevaluatefacet".

IMP: (5/13/03) Removed old DRC checker.  Also removed dialog-based checking (only used
     with old checker).  Also removed "highlight errors" option for incremental checking
     (not used) and the error-ignoring list (not used).

BUG: (5/9/03) Project management crashes.
FIX: In "projecttool.c:proj_usenewestversion()" must change the "current facet" of
     a library if it was the old facet.  And in "proj_checkout()", turn off
     highlighting before checking-out facets.

BUG: (DN, 5/8/03) Bus joined with global net results in wrong spice deck.
FIX: In "network.cpp:net_mergenet" handle case when "oldnet" is global..

IMP: (DN, 5/8/03) Modeless dialogs are closed by ESCAPE key now
     ( "graphqtdlg.cpp:EDialogPrivate::keyPressEvent" ).

IMP: (5/7/03) Area selection honors the "dragging must enclose objects" option.

BUG: (5/7/03) Making a new version of an old-version facet duplicates a version number.
FIX: In "usrcomcd.c:us_copyfacet()" make sure there is no version number specified in the new
     facet name.

BUG: (5/7/03) "Erase Geometry" will delete instances even if they are locked.
FIX: In "usrnet.c:us_erasegeometry()" call "us_cantedit()" before deleting nodes.

BUG: (DN, 5/7/03) On Solaris/Qt, scroll lists don't jump to selected entry.
FIX: In "graphqtdlg.cpp:EDialog::SelectLine" check for setTopItem changed.

IMP: (5/6/03) Refresh of long displays is now uniformly 2 seconds (was 1 second on UNIX/Mac
     and infinite on Windows).

BUG: (DN, 5/6/03) Part of messages window is out of screen on Qt, because of menu bar.
FIX: MenuBar on messages window is left on Macos only.

BUG: (DN, 5/6/03) ShowNode dialog has small minimum size of scroll area on Qt.
FIX: "lib/ui/shownode_ext.ui" modified

IMP: (5/4/03) Access of traversal path must include the current window so that
     window-specific hierarchy traversal can return the proper value.  New routine:
     "setvariablewindow()" sets the current window for use in language interpreters.

IMP: (5/1/03) Waveform window shows value of selected signal even when digital or a bus.
     Waveform window distinguishes X from alternating 0/1 by texturing X.

IMP: (5/1/03) IRSIM can now cross-probe between waveform and layout.

IMP: (4/30/03) Many modifications to run on different Solaris compilers (such as Forte).

IMP: (4/29/03) Dialogs now use allocated strings instead of "infinite strings" for
     returned values.

BUG: (4/28/03) UNIX may drop events (such as button releases)
FIX: In "graphunixx11.c:gra_pickupnextevent()", when testing for repeated motion events,
     examine "state", not "gra_inputstate".

BUG: (DN, 4/27/03) Spice netlister gives incorrect values for "AS","PS","AD","PD" when two or more
     diffusion arcs are connected to source or drain of transistor.
FIX: In "simspice.cpp:sim_spice_writefacet" increment "spnet->components[]" only once.

IMP: (DN, 4/27/03) Network tool emit warnings when unindexed arcname is used for bus.

IMP: (4/25/03) Arc placement is more uniform when going from facet instances to arcs.

IMP: (4/25/03) When pins are inserted during arc creation, they are always square.

BUG: (4/25/03) Error reporting mechanism may crash if circuit was changed since error was logged.
FIX: In "dberror.c:db_reportcurrenterror()" validate logged errors before displaying.

IMP: (DN, 4/24/03) Sped up a little network renumbering. For every name, we count its
     usage with and without brackets. So we don't waste time for "checkarity".

BUG: (DN, 4/21/03) Simulation window shows uninformative time labels when much zoom in.
FIX: In "simwindow.c:sim_window_drawtimescale" call routine "sim_windowconvertengineeringnotation2"
     with controlable precision.

IMP: (4/21/03) Can now "Change..." all in the current library.

BUG: (DN, 4/21/03) Spice netlister always outputs last version of layout subfacet,
     no matter what verions is actually called.
FIX: Remove call of "sim_spice_topview" from "simspice.cpp:sim_spice_writefacet".

IMP: (4/18/03) New commands align objects vertically or horizontally with each other.

IMP: (4/18/03) Mimic router now handles case where there are existing wires running
     in the same direction.

IMP: (4/16/03) Waveform window now has draggable divider between signal names and signals.

IMP: (4/16/03) Checks for EMACS-like commands that are accidentally given to Electric.

IMP: (4/16/03) New command: "Windows / Special Zoom / Make Grid Visible" zooms in
     until the grid is visible.

BUG: (4/15/03) When layout text has dot separation, it isn't selected for easy of movement.
FIX: In "usrmisc.c:us_layouttext()" select the dots.

IMP: (4/15/03) Long network names now truncate and use elipsis at the end.

IMP: (4/15/03) Sped up NCC network extraction and preanalysis.

IMP: (4/14/03) Many improvements to the IRSIM interface.

IMP: (4/11/03) NCC now checks that exports are the same when instances are not expanded.

IMP: (4/10/03) Reversed Facet-Name and Company-Name in schematic frame title box.

BUG: (4/10/03) EDIF input doesn't handle floating point values properly.
FIX: In "ioedifi.c", must call "castint()" before storing floating point values.

IMP: (4/10/03) GDS output can not convert to upper case optionally.

BUG: (4/10/03) On UNIX/Linux, "Info / See Manual" hangs Electric while the browser is up.
FIX: In "graphunixx11.c:browsefile()" and in "graphqt.cpp", have it run in background.

IMP: (4/7/03) Added the ability to insert quotes in command-line strings by prepending
     them with the character"^".

BUG: (4/7/03) Clicking on a node in the component menu deselects the current object
     when in outline-edit mode.
FIX: In "usrcomln.c:us_node()", do not allow failure to get coordinates (us_demandxy)
     to deselect the current object.

BUG: (DN, 4/7/03) Spice3 deck is wrong when exports is tied to global inside subfacet.
FIX: In "network.cpp" and "simspice.cpp".

IMP: (4/2/03) Frame options now exist for each library.

BUG: (4/2/03) Error reporting does not store proper hierarchy traversal information.
FIX: In "dberror.c:db_reportcurrenterror()" moved traversal information to AFTER
     the window is shown.

BUG: (4/2/03) NCC does not always find proper size values when they are inherited.
FIX: In "netdiff.cpp:net_ncconelevel()" set the current window to the one with
     the desired facet before extracting its netlist.

IMP: (4/2/03) GDS output writes smaller text for export names.

IMP: (4/2/03) Sped up IRSIM netlisting.

BUG: (4/1/03) Changing facet expansion is not considered a change (for saving libraries).
FIX: In "usrnet.c:us_doexpand()" and "us_dounexpand()", set the library's "dirty" bit.

BUG: (4/1/03) Language expression caching fails.
FIX: Caching does not know which level of the hierarchy is being examined, when
     a single expression requires values from others up the hierarchy, and so the
     caching in "dblang.c:doquerry()" must be disabled whenever there are variables.

BUG: (4/1/03) Simulation options are not properly remembered.
FIX: In "io.c", call "readlibrary" and "writelibrary" methods of tools regardless
     of whether they are on.

IMP: (3/31/03) Moving up and down the hierarchy during simulation works properly and
     doesn't need special commands from Tools/Simulation(Built-in).

IMP: (3/31/03) GDS output now has option to emit pins at exports, and can take separate
     pin and text layer numbers.

BUG: (DN, 3/30/03) MEMORYDEBUG reports errors.
FIX: "graphqt.cpp" and "usr" modules.

IMP: (3/27/03) In waveform window, cross-probing of busses now works.

BUG: (3/27/03) Replacing nodes may crash.
FIX: In "dbnoproto.c:replacenodeinst()" must cache the export associations before replacing.

BUG: (DN, 3/27/03) On Qt, when a dialog has a "scroll list", hitting the Return key
     doesn't select the default button.
FIX: In "graphqtdlg.cpp:EScrollField::keyPressEvent()" ignore Return and Enter keys.

IMP: (DN, 3/26/03) Sped up network renumbering: netname hash and using facet shortcuts.

IMP: (3/26/03) When a library is renamed, others that depend on it are marked for saving.

IMP: (3/26/03) "Rename cell" can now rename cells in other libraries.  Improved "getcell()"
     to parse library part.

IMP: (3/25/03) Mac OS 10 uses click in lower window to raise it without using that click in the window.

IMP: (3/25/03) "Facet Parameters" now can take a default interpretive language.

IMP: (3/24/03) Many improvements to the EDIF reader.

BUG: (3/21/03) HSPICE decks with 16-character signal names cannot be read.
FIX: In "simspicerun.cpp:xxsim_spice_parseoutputx()" stop accumulating HSPICE
     signal name at 16 characters.

IMP: (3/21/03) "GDS Options" now allows multiple numbers for each Electric layer.

BUG: (3/21/03) GDS input fails on some hardware platforms.
FIX: In "iogdsi.h", remove the bit_array union.  In "iogdsi.c:io_gdsIdetermine_orientation()"
     probe the "mirror" bit directly instead of using flag bits (which can get out of order).

BUG: (DN, 3/21/03) Network renumbering after loading libraries doesn't use net options from library.
FIX: In "network.cpp:net_totalrenumber" recash net options.

IMP: (3/20/03) HPGL output improved.

BUG: (3/20/03) Spice cross-probing doesn't handle signal names of the form "V(name)".
FIX: Improved "simwindow.c:sim_window_findtrace()" to handle the names.  Also improved
     "dbtext.c:getcomplexnetwork()" to parse these names.

IMP: (3/20/03) Verilog output now uses parameterized cell names.

BUG: (3/19/03) On UNIX, must click inside window to get focus to change.
FIX: In "graphunixx11.c:gra_graphics_event_handler()", handle the "FocusIn" event.

BUG: (3/19/03) When cross-library copy takes a schematic with icon, but copies only
     related views and not subcells, the icon in the destination schematic is still
     from the old library.
FIX: In "usrnet.c:us_copyrecursively()", handle related views before copying the main
     facet.

BUG: (3/19/03) EPS output does not handle rotation.
FIX: In "iopsout.cpp:io_pswritefacet()", handle rotation in both PostScript and EPS mode.

BUG: (DN, 3/19/03) Crash when incomplete portname "a[" is entered.
FIX: In "network.cpp:net_evalbusname" ensure that at least one name is generated on user errors.

IMP: (3/18/03) Conversion between layout technologies computes new sizes by keeping
     constant the percentage over the default size.

BUG: (3/18/03) Technology editor generates incorrect C code for N transistors.
FIX: In "dbtech.c:db_nodefunname[]", the entry for N transistors should say "NPTRANMOS"
     instead of "NPCONNECT".

IMP: (3/14/03) Outline edit mode now cleaner: shows a blue outline.

BUG: (3/13/03) Busses in the waveform window don't display right.
FIX: In "simwindow.c:sim_window_plottrace()", and in "sim_window_savegraph()",
     use "x_min" instead of "x_max" to plot the right side of a bus.

IMP: (3/13/03) "Update Inheritance" now removes parameters that are no longer valid.

BUG: (3/13/03) "Arc / Ends Extend" doesn't work.
FIX: In "usrcomab.c:us_arc()", when toggling end-extend, get the bits right.

BUG: (3/13/03) Moving objects with "thick" graphics may leave extra bits on the screen.
FIX: In "usrtrack.c:us_multidragdraw()", highlight "thick" outlines with thin lines.
     In "graphcommon.c:gra_drawline()" extend redraw-rectangle around thick lines.
     In "usrdisp.c:us_drawnodeinst()" extend bounds of facets being undrawn.
     In "usrwindow.c:us_queuevicinity()", redraw things that touch exactly, allow an
     extra 2 pixels for thick lines.

BUG: (3/12/03) Rotating objects goes in the wrong direction.
FIX: In "usrcomrs.c:us_rotate()" do not reverse the direction for transposed nodes.

IMP: (3/12/03) Expanded facets have their attributes drawn last for proper display.

IMP: (3/12/03) Parameters on node instances must have corresponding parameters in the
     facet definitions or else they are turned into attributes by "Check & Repair Libraries".

BUG: (3/11/03) Verilog netlisting where the export bus sizes don't match may crash.
FIX: In "simverilog.c:sim_verwritefacet()" do extra checks that the "temp2" field in a
     network is valid.

BUG: (3/11/03) Duplicating something with the name "a[1,2]" creates "a[1,3]" which is wrong.
FIX: Improved code in "usrstatus.c:us_uniqueobjectname()" to not auto-increment indices with
     commas.

IMP: (10/11/03) Duplicating a facet checks that the name isn't already in use.

BUG: (3/11/03) If multiple objects are selected, clicking "Info" will crash.
FIX: In "usrdiacom.cpp:EDiaShowNode::itemHitAction()" handle multiple selected objects.

IMP: (DN, 3/11/03) "Tools/Simulation (SPICE)/Add Mag parameter" adds "M" attribute in capital case
     for compatability with Logical Effort.

BUG: (DN, 3/11/03) Spice deck can miss name of parameterized subcircuit when it is called without parameters.
FIX: In "simspice.cpp:sim_spice_writefacet" don't mark parameterized facets as written.

BUG: (3/10/03) When an arc is no longer selected, the status bar may still show its network name.
FIX: In "usrstatus.c:us_shadownodeproto()", redraw the arc information if it had details.

IMP: (3/10/03) Changing one node to another everywhere should NOT do it for the example icon.

BUG: (3/10/03) Technology-edit ports have incorrect size.
FIX: In "dbtech.c:nodeprotosizeoffset()", now provide the intended facet for proper lambda
     calculation.

BUG: (3/7/03) "Get Info" on scalable transistor nodes may crash.
FIX: In "usrdiacom.cpp:EDiaShowNode::refill()", must preserve "initialeditfield"
     for these transistors.

IMP: (3/7/03) Generalized explorer windows so that multiple windows can exist at once.  Also
     Added quick-icon in lower-left of window.

IMP: (3/6/03) Crossprobing improved: handles Verilog "_" characters.

BUG: (3/6/03) Copying from one facet and pasting into another leaves objects off-grid if
     technologies are different.
FIX: In "usrnet.c:us_copylisttofacet()", set the technology of the destination facet to that
     of the source facet if the destination is empty.

IMP: (3/6/03) "Update inheritance" now copies the language type and visiblity.

BUG: (3/5/03) Calls to "getval()" with a required type may return a different one if
     the variable has code in it.
FIX: In "getval()" and "getvalkey()" make an extra check after the call to "evalvar()".

IMP: (3/5/03) When traversing hierarchy, knows which window did the descent and uses
     it for the ascent.

IMP: (3/5/03) When changing one node instance into another, removes parameters
     that no longer apply and adds parameters that are new.

IMP: (3/5/03) New commands: "Info / Attributes / Update Locations" and
     "Update Locations All Libraries" adjust parameter positions.

BUG: (3/5/03) Newly created text may have unusual font/style bits.
FIX: In "dbtext.c:defaulttextsize()" zero the descriptor first.

IMP: (3/5/03) GDS output now has a layer for export text and emits it properly.

IMP: (3/5/03) Reference exports now have a "reference name", settable in the export
     creation dialog, editable in the export "get info" dialog, and used in CIF output.

TEC: (3/4/03) Modified MOSIS CMOS.  Contact layers were 25, now poly is 47, and active is 48.

SUN: (JKL, 3/3/03) Fixed compiler warning in logeffortsun2.cpp.
     Added Wn,Wp,Ln,Lp methods to LogicalEffort.java to simplify transistor expressions.

IMP: (DN, 3/4/03) Using ".ui" forms doesn't need changing of tab order on Qt.

BUG: (DN, 3/3/03) Dialog editor misses x_() around ".ui" file name.
FIX: In "usrdiaedit.cpp:us_diaeditreaddialogs" and "usrdiaedit.cpp:us_diaeditsavedialogs".

IMP: (DN, 3/3/03) Added check that "SCHEM_global_name" "NODE_name", "ARC_name"
     variables are not language expressions.

IMP: (2/27/03) Added "Info / User Interface / Repeat Last Command".

BUG: (2/27/03) Cannot place thick opened polygon in technology-edit mode.
FIX: In "evemenus.mac", fix the command that was placing a far-dotted node.

BUG: (DN, 2/27/03) Spice2/gnucap reader of simulation results can't eat more that 20 signals.
FIX: Make "numbers" a dynamic array in "simspicerun.cpp:simspice_parseoutput".

BUG: (DN, 2/26/03) Accelarator key ('h') are active during in-place editing on MacosX.
FIX: Use Electric accelarators instead of Qt accelarators in "graphqt.cpp".

BUG: (2/26/03) Changing layer patterns is not saved with options.
FIX: In "dbvars.c:explainsavedoptions()", "explainoptionchanges()" and "optionshavechanged()",
     handle partial names that appear on technologies.

IMP: (2/26/03) "Insert Break in Arc" now called "Insert Jog in Arc" and highlights the arc
     during jog-point selection.

BUG: (2/26/03) "Insert Break in Arc" doesn't work for vertical arcs.
FIX: In "usrcomcd.c:us_create()", in the "breakpoint" option, set the angle of the jog arc after
     creating it.

BUG: (2/24/03) Mac OS 10 file saving doesn't prompt with proper file name.
FIX: In "graphqt.cpp:fileselect()", no longer use "native" file save dialog on Macintosh.

BUG: (2/24/03) SPICE emits the "M" factor multiple times.
FIX: In "simspice.cpp:sim_spice_writefacet()", do not call "addParamM()" after the loop of node
     instantiations.

IMP: (2/24/03) "Edit / Cleanup Facet / Cleanup Pins Everywhere" says something if nothing is changed.

IMP: (2/24/03) Verilog netlister now forces resistors to be ignored.

IMP: (2/24/03) New command: "Windows / Special Zoom / Highlight then Focus" does "rectangle zoom" function.

IMP: (2/24/03) "Edit / Move / Align to Grid" only works on the highlighted objects.

IMP: (2/24/03) Artwork primitives now start off 6x6 instead of 4x4, and those with outline
     information now have it automatically added after creation.

BUG: (2/21/03) Simulation window may list time "1000psec" instead of "1nsec".
FIX: In "simwindow.c:sim_windowconvertengineeringnotation()" round time when determining
     which bank of 1000 to use.

BUG: (2/20/03) Deleting an arc may cause erroneous network numbering.
FIX: In "network.c:net_killobject()", when renumbering both sides of a deleted arc, only do it
     once for another arc or export on the same network.

IMP: (2/19/03) Rearranged items in "node Get Info", "arc Get Info" and "Silicon Compiler Options"
     so that tabbing through the dialog makes more sense.

IMP: (2/19/03) Point-and-click text editor scrolls text when the cursor is moved outside of
     the window with arrow keys.

BUG: (2/19/03) Text edit operations in the point-and-click editor may crash.
FIX: In "usreditpac.c:us_editpacimplementchar()", prevent the delete key from deleting
     past the end of the buffer.  In "us_editpachighlightline()", set the end character
     to the string length, not the maximum allocated characters.

BUG: (2/19/03) Scrolling past the start of a text file with the mouse wheel crashes.
FIX: In "usreditpac.c:us_editpanwindow()", do not let the "firstline" field become negative.

IMP: (2/14/03) Added David Harris's color PostScript generator.  Added "printed colors" to
     color options.

IMP: (2/16/03) Ability to set "use technology editor on this facet" in the "Facet Options" dialog.

BUG: (2/14/03) Moving a facet (in cross-library copy) may crash if an instance of the old facet
     is selected.
FIX: In "usrnet.c:us_copyrecursively()", clear highlighting if the moved object is selected.

BUG: (2/14/03) IRSIM simulation crashes.
FIX: In "irsimanalyzer.c:irsim_UpdateWindow()", make sure signals are valid before saving them.

IMP: (2/14/03) When moving a fixed-angle diagonal arc connected to manhattan arcs,
     adjust length of the diagonal arc so that the manhattan arcs only stretch.

BUG: (2/14/03) Dragging a node connected to a diagonal arc shows an incorrect representation
     of what will happen to the diagonal arc.
FIX: In "usrtrack.c:us_multidragdraw()" treat diagonal fixed arcs like rigid arcs.

BUG: (2/13/03) Mouse wheel rolls may cause errors.
FIX: In "usr.c:us_ontablet()", send wheel buttons to the button handler immediately.

BUG: (2/13/03) Mimic stitcher loops infinitely if turned on.
FIX: In "routmimic.c:ro_mimicstitch()", clear the number of arcs and nodes created after doing
     the mimic.

BUG: (2/13/03) NCC preanalysis may get into an infinite loop.
FIX: In "netdiff.c:EDiaNetShowPreanalysis::itemHitAction()", handle "Compare" button 2-column
     display better.

BUG: (2/13/03) May crash while printing.
FIX: In "dbtext.c:truefontsize()", use current technology if none provided in parameters.

IMP: (2/12/03) Once "disable session logging" has been selected, no longer prompts to save options
     after each library save.

IMP: (2/12/03) Node "Get Info" shows both parameters and attributes.

IMP: (2/12/03) Added Spice "M" parameters to NCC.

IMP: (2/12/03) Reinheriting parameters does not make any of them invisible;
     Overriding a default parameter value places it correctly;
	 Changing values of invisible parameters makes them visible;
	 "Update Inheritance" does not make parameters invisible.

IMP: (2/11/03) Miscellaneous improvements to the facet explorer: shows technology-edit
     libraries with proper structure; removed "power buttons" in favor of context menus.

IMP: (2/11/03) Miscellaneous improvements to technology editor: always assumes technology-library
     is artwork technology; tolerant of ports with no names; changing layer presents them in
     the proper order; "reorder" commands are better; ability to specify multicut separation
     textually instead of having to provide 4 examples; layer facet has pattern control button;
     ability to set "connects-metal/poly/diff" on layer functions.

IMP: (2/10/03) Typing "a" to add a Spice waveform signal when an arc is selected in the circuit
     now finds signal names of the form "i(signalname)" or "v(signalname)".

BUG: (2/10/03) Setting the minimum layer width rule in a design-rule dialog may crash.
FIX: In "drc.c:dr_rulesdlog()", in the "DDRR_MINWIDTHR" click when layers are selected,
     must get a valid layer from the "DDRR_FROMLAYER" field.

IMP: (2/10/03) Added layer functions LFCONTACT7 through LFCONTACT12.

IMP: (DN, 2/10/03) Value of node attribute "m" is written to spice deck.

BUG: (2/7/03) Printing layout on Windows doesn't show exports.
FIX: In "graphpccode.cpp:gra_printwindow()" call "us_endchanges()" after displaying.

BUG: (2/7/03) Printing waveforms on Windows doesn't work.
FIX: In "graphpccode.cpp:gra_printwindow()", use "screen" extent for waveform windows.

IMP: (2/7/03) Improved Java interface to handle fractional integers.

IMP: (2/7/03) Modified MOSIS CMOS metal layers 5 and 6 to have better stipple patterns.

IMP: (2/6/03) Added generalized window state indicators (red for simulating, yellow for
     technology-editing, blue for outline editing).

IMP: (DN, 2/6/03) "float" option is added to "var set" command.

BUG: (DN, 2/6/03) In "Attributes dialog" "Create Attribute" and "Rename Attribute command"
     can give strange attriute name.
FIX: Use "allocstring" in "usrdiacom.cpp:us_attributesdialog".

BUG: (DN, 2/6/03) Attributes report can crash if attribute is found on primitive instance.
FIX: In "usrdiacom.cpp:us_reportattr" use "proto->primname" for primitives.

IMP: (2/5/03) SUE input distinguishes between busses and wires better, and also handles
     parameters properly.

IMP: (2/5/03) Added ability to disable arc-creation sounds (in "General Options").

SUN: (2/5/03) Repaired ziptronics GDS layer names.

IMP: (2/5/03) Added SmartSpice interface.

BUG: (2/4/03) Arrayed nodes with bus ports may cause network numbering errors.
FIX: In "network.c:net_donconnect()", adjust result of "net_buswidthofarc()" to account
     for node arraying.

BUG: (2/4/03) GDS output may emit duplicate cell names.
FIX: In "iogdso.c:io_gds_bgnstr()" keep track of names and avoid duplication.

BUG: (2/3/03) Technology editor generates incorrect arc facets.
FIX: Modified "usredtecg.c:us_tecedmakelibfromtech()" to layout arc facets correctly.

IMP: (2/3/03) Stipple patterns are now 16x16 instead of 16x8.

BUG: (1/31/03) Technology editor doesn't get port sizes right.
FIX: In "usredtecc.c:us_tecedgetbbox()", use 2 lambda instead of 4000.

BUG: (1/31/03 GDS output does not handle facet-centers properly.
FIX: In "iogdso.c:io_gdswritecell()", use OLDGDS method for computing instance location.

BUG: (1/31/03) If no window is open, "Check and Repair Libraries" crashes.
FIX: In "usrnet.c:us_computearcfartextbit()" stop immediately if there is no current window.

BUG: (1/31/03) Printing waveform windows from Windows doesn't work.
FIX: In "graphpccode.cpp:gra_printwindow()" call "win->redisphandler" instead of
     "us_redisplaynow()" for waveform situation.

SUN: (1/30/03) Added "epic8c" technology.

BUG: (1/29/03) There may be multiple networks for the power or ground when there should be 1.
FIX: In "network.c:net_mergenet()", remove the code after the comment "place arc links on new network".

BUG: (1/27/03) When dependent libraries cannot be found and dummy facets are created, there
     may be two with the same name.
FIX: In "iobinaryi.c:io_readexternalnodeproto()" make sure the cell name is unique.

IMP: (DN, 1/27/03) Gnucap waveforms are shown with proper names.

IMP: (1/24/03) "Align to Grid" now adjust arcs and nodes.

IMP: (1/24/03) "latoa" now converts numbers to strings with proper precision.

BUG: (1/24/03) Rename may not work.
FIX: In "usrdiacom.cpp:us_renamedlog()" must allocate the string parameters to "us_rename()".

BUG: (1/24/03) Changing the case of an export (from "in" to "IN") does not change the case of the
     associated icon export.
FIX: In "usrnet.c:us_renameport()", change:
		if (opp != NOPORTPROTO) app = NOPORTPROTO;
     to:
		if (opp != NOPORTPROTO && opp != app) app = NOPORTPROTO;

IMP: (1/23/03) When export Get Info reports an offset, it also shows the current gridding of
     offset values.

BUG: (1/23/03) DRC reports minimum width errors on diagonal arcs.
FIX: In "drcquick.c:dr_quickcheckminwidth()", add 2 to the computed distance to allow for gridding.

IMP: (1/23/03) NCC now ignores networks with no components.

BUG: (1/23/03) UNIX Motif dialogs may have incorrect background color for text edit areas.
FIX: In "graphunixx11.c:gra_initdialog()", get the background color of the actual text edit
     widget, not the entire dialog.

BUG: (1/23/03) Hierarchical DRC does not find errors between the same node in different instances.
FIX: In "drcquick.c:dr_quickbadboxinarea()" must provide an indication of whether the two objects
     are from the same instance, and only ignore same-object comparisons if so.

IMP: (1/21/03) Placing primitives that are from a different technology than the current facet
     now scales the primitives to the scale of the current facet.

BUG: (1/21/03) Artwork arcs cause DRC to crash.
FIX: In "drcquick.c:dr_quickcheckarcinst()", and in "dr_quickcheckenumeratenetworks()",
     ignore arcs with no network.

BUG: (1/20/03) Exports may not get drawn if on transparent objects (like pins) and are obscured
     by opaque objects (like the vias of contacts).  In "usrwindow.c:us_endchanges()" draw
     the queued exports.

FIX: In "usrdisp.c:us_drawnodeinst()", queue export drawing instead of doing it there.
BUG: (1/19/03) Technology editor doesn't get design rules right.
FIX: In "usredtecc.c:us_tecedgetlayernamelist()", use the "us_teceditfindsequence()"
     routine to get layers instead of looking directly through the library.

IMP: (DN, 1/19/03) Added "Gnucap" simulator type.

IMP: (DN, 1/19/03) EProcess class to deal with processes. Files moved from *.c to *.cpp :
	"simspicerun.cpp", "simsim.cpp", "drcflat.cpp", "simfasthenry.cpp", "iopsout.cpp", "graphcommon.cpp".

IMP: (1/16/03) NCC now matches unexpanded instances that are from other libraries.
     Also makes detailled checks to be sure that instances will match.

IMP: (1/15/03) Sped up changing of text size by redrawing windows instead of individual objects.

BUG: (1/15/03) Changes to variables that have code on them don't always work or undo.
FIX: In "dbchange.c:db_reversechange()" change all "getval" and "getvalkey" calls to "getvalnoeval"
     and "getvalkeynoeval".  In "usrdiacom.c:us_settextsize()", use the "fromvarnoeval" field
     instead of the "fromvar" field of the highlighted object.

IMP: (1/15/03) Added "Tools / Network / Validate Power and Ground" to check export characteristics.

BUG: (1/14/03) NCC doesn't recognize power and ground nets if they are internal and only connected
     to facets with that characteristic.
FIX: In "netflat.c:net_getpnetandstate()", set the net characteristic from the port that the arc
     is connected to.

BUG: (DN, 1/14/03) "ShowNode" dialog doesn't refresh completely after object change.
FIX: In "usrdiacom.cpp::EDiaShowNode::setState" reset all modified items.

BUG: (DN, 1/14/03) "EDialog::setText" with negative "item" parameter doesn't highlight on Qt.
FIX: In "graphqtdlg.cpp:EDialog::setText" swap "setCursorPosition" and "selectAll".

BUG: (1/13/03) Verilog templates reverse the order of their bus connections.
FIX: In "simverilog.c:sim_verwritefacet()", the two calls to "sim_verwritebus()" in the
     template code need to have the 4th parameter be zero.

BUG: (1/12/02) GDS and EDIF input may create multiple facet centers.
FIX: In "iogdsi.c:io_gdsIbeginstructure()" and "io_gdsIgetproto()" remove code that creates
     facet centers.  In "ioedifi.c" remove facet center creation code.

BUG: (1/12/03) LEF and DEF input leave errors in library.
FIX: In "usrcomln.c:us_library()" in the "read" case, to not make quiet changes for LEF and DEF.

IMP: (1/10/03) New command: "FILE / IO Options / Copyright Options" lets you set a file that will
     be used for copyright notices on generated files (such as SPICE and Verilog netlists).

BUG: (1/10/03) Quick DRC doesn't find spacing errors between contact and transistor polysilicon.
FIX: In "drcquick.c:dr_quickcropbox()" do not allow crop based on overall node size.  Also, in
     "drcquick.c:dr_quickcheckfacetinstcontents()", the first call to "dr_quickbadsubbox()" should
     have "trans" as its 6th parameter, not "uptrans".

SUN: (MW: 1/10/03) Fixed versioning in Jose.  Versions now kept in a hashtable in Cell.

BUG: (1/10/03) Auto-stitcher may crash.
FIX: In "routauto.c:ro_checkstitching()", preserve the list of local nodes in an array so that
     geometry searching doesn't take place while the R-tree is being modified.

IMP: (1/10/03) Network Options now takes a string and unifies all networks that start with the entries
     in that string.  If the string is "vdd gnd" then all nets starting with "vdd" are merged
     and all nets that start with "gnd" are merged.

BUG: (1/9/03) Cannot select more than 1 export on a single node.
FIX: In "usrtrack.c:us_finddoibegin()", "usrhigh.c:us_addhighlight()", and
     "usrhigh.c:us_delhighlight()", when checking to see if two highlights are the same,
     consider that export text is different than an export on a node.

BUG: (1/9/03) If one library cannot be saved, entire save aborts.
FIX: In "usrstatus.c:us_saveeverything()", do not exit the save loop on error.

IMP: (1/9/03) Sped up redraw by clipping search for neighbors to the bounds of the window in
     "usrwindow.c:us_queuevicinity()".

BUG: (1/9/03) Verilog output includes the port name for bus parameters when they are from templates.
FIX: In "simverilog.c:sim_verwritefacet()", remove the port name argument to "sim_verwritebus()"
     and have that routine know to ignore the ".XX()" notatation.

IMP: (1/8/03) Sped up "namesame()" and "namesamen()" routines.

IMP: (1/8/03) Sped up network numbering by (1) adding "arctotal" field to NETWORKs to preserve
     size of list for busses, (2) marking arcs that have been numbered to prevent redoing them.

BUG: (DN, 1/8/03) "Get info" dialog doesn't redisplay window properly.
FIX: Add "us_endchanges" in "usrdiacom.cpp:EDiaShowNode::itemHitAction".

BUG: (DN, 1/8/03) The contents of window beeing resized shrinks with each step on Qt.
FIX: Change in "graphqt:GraphicsDraw::resizeEvent" first argument of "us_drawmenu"

BUG: (DN, 1/8/03) When component menu switched off and on, it can spoil editor windows on Qt.
FIX: Change condition "usrmenu.c:us_drawmenu"

BUG: (1/7/03) Session logging improperly records the initial state of the system.
FIX: In "usr.c:us_do3init()" do not start recording yet, do it in "us_slice()" after reading
     initial libraries.

BUG: (1/7/03) MOSIS CMOS technology incorrectly reports the number of polysilicon layers.
FIX: In "tecmocmos.c:mocmos_describestate()", base poly count on the bit "MOCMOSTWOPOLY".

IMP: (1/6/03) Ignoring or including resistors is now set only when needed by SPICE or NCC.

BUG: (1/6/03) The IRSIM "vector" command fails to find vector elements if they are not being shown.
FIX: In "simwindow.c:sim_window_findtrace()", do not insist that the "TRACENOTDRAWN" be clear.
     Also, in that routine, accept bus names without indices.
     In "irsimanalyzer.c:irsim_loadvectorfile()", delete vectors that exist before creating new ones.

BUG: (1/6/03) Some compilers will not handle the mix of C and C++ in unusual situations.
FIX: In "usrdiacom.cpp", wrap the methods of the "EDialog" class in an extern "C" statement.

BUG: (1/5/03) DRC finds spurious notch errors on the well layer.
FIX: In "drcquick.c:dr_quickfindinterveningpoints()", handle nonmanhattan/diagonal case better
     by finding 2 points that would fill the notch in an "L"-shaped configuration.  Also, in
     "dr_quickcheckdist()", if "dr_quickfindinterveningpoints()" returns only 1 important point
     and the nets are the same, do not flag an error.

TEC: (1/3/03) Modified "Metal-1-P-Well-Con" and "Metal-1-N-Well-Con" in "mocmos" technology so that
     they always have 12x12 well.  As an efficiency measure, they used to have smaller wells (11x11
     or 10x10 if using alternate contact rules), but this causes minimum size violations.  The
     wells are now irregular (not symmetric about the center) so that rotation can offer compaction.

IMP: (1/3/03) LEF input can now handle metal layers that say "met1" instead of "metal1" and
     "via" or "via2" instead of "via12" and "via23".  It can also handle "POWER" in macros.
     It also accepts the "DEFAULT" after "VIA" as an option.
     DEF input can now handle the "DEFAULTCAP" block.

BUG: (1/3/03) Replay of session with multiple libraries may crash.
FIX: New bit, "LIBRARY->userbits&LIBJUSTREAD" is set when a library is read (text or binary).
     In "logplayback()" (both in "graphpccode.cpp" and "graphunixx11.c"), do not read a
     library again if the bit is set.

BUG: (1/3/03) Once options are saved, resetting them to the state at the start doesn't trigger a save.
FIX: In "usrstatus.c:us_saveoptions()", call "cacheoptionbitvalues()" at the end.

BUG: (1/3/03) On Windows, double-clicking a library will not start Electric if TCL is linked in.
FIX: In "graphpccode.cpp:gra_initializetcl()", change the lines:
		addstringtoinfstr(infstr, currentdirectory());
		addstringtoinfstr(infstr, "lib\\tcl8.3");
     to:
		addstringtoinfstr(infstr, el_libdir);
		addstringtoinfstr(infstr, "tcl8.3");
     and in "graphpc.cpp:CElectricApp::InitInstance()", move the call to "gra_initializetcl()"
     to be after the call to "ossecondaryinit()".

BUG: (1/1/03) ERC reports farthest distance from well contact to well edge badly.
FIX: In "erc.c:erc_analyzefacet()", after the line:
		(void)asktool(us_tool, "clear");
     add:
		lambda = lambdaoffacet(facet);

BUG: (1/1/03) ERC reports incorrect number of transistors.
FIX: In "erc.c:erc_analyzefacet()", must reset the "temp1" field on each primitive
     in every technology (already do it for facets in all libraries).

BUG: (1/1/03) On Windows, message window popups to top if it is covered by any part of the palette.
FIX: In "graphpccode.cpp:gra_messagesnotvisible()", ignore floating windows (the palette).

IMP: (12/23/02) DEF input can now handle metal layers that say "met1" or "m1" instead of "metal1" and
     "via" or "v1" instead of "via12".

IMP: (DN, 12/23/02) "nativepopupmenu" on Qt handles editable menus.

BUG: (12/20/02) Macintosh node Get Info doesn't always expand to the "More" state.
FIX: In "graphmac.c:Ddonedialogwindow()", declare "INTBIG wid, hei;" and change:
		dia->dlgresaddr->windowRect.left = r.left+gra_winoffleft;
		dia->dlgresaddr->windowRect.right = r.right+gra_winoffright;
		dia->dlgresaddr->windowRect.top = r.top+gra_winofftop;
		dia->dlgresaddr->windowRect.bottom = r.bottom+gra_winoffbottom;
     to:
		wid = dia->dlgresaddr->windowRect.right - dia->dlgresaddr->windowRect.left;
		hei = dia->dlgresaddr->windowRect.bottom - dia->dlgresaddr->windowRect.top;
		dia->dlgresaddr->windowRect.left = r.left+gra_winoffleft;
		dia->dlgresaddr->windowRect.right = dia->dlgresaddr->windowRect.left+wid;
		dia->dlgresaddr->windowRect.top = r.top+gra_winofftop;
		dia->dlgresaddr->windowRect.bottom = dia->dlgresaddr->windowRect.top+hei;

IMP: (12/20/02) Now have UNICODE version of Electric where characters are 16-bits wide.

IMP: (12/20/02) In "General Option", a new checkbox: "Expandable dialogs default to fullsize"
     requests that expandable dialogs (such as node Get Info) start off expanded.

BUG: (12/20/02) When replacing a node with another, invisible names should be removed.
FIX: In "usrnet.c:us_replacenodeinst()" remove node names that are not visible.

BUG: (12/20/02) If no libraries are saved, "Save" command resets the size of the "Get Info" dialog.
FIX: Changed "usrstatus.c:us_saveeverything()" to return whether libraries were saved, and
     avoid resetting in "usrcomln.c:us_library()" if nothing was saved.

IMP: (12/20/02) NCC dialog has two "clear NCC date" buttons for current library and all libraries

BUG: (12/20/02) When SPICE simulation waveforms are being displayed, DELETE key does not
     work in associated circuit window.
FIX: In "simspicerun.c:sim_spice_charhandlerschem()" remove the line "case DELETEKEY:".

BUG: (12/19/02) Technology editor incorrectly changes text in layers, arcs, and nodes.
FIX: In "usredtecc.c:us_tecedsetnode()" must preserve input parameter ("chr") in
     an allocated string.

BUG: (12/18/02) "Analyze Networks" crashes when run on a schematic.
FIX: In "network.c:net_propgeometry()", when recursing on subfacets, ignore icons.

IMP: (12/18/02) "List Geometry on Network" now reports the total wire length.

BUG: (12/18/02) On UNIX, modeless dialogs force the messages window to the top.
FIX: In "graphunixx11.c:gra_initdialog()" change "#if 1" to "#if 0".

BUG: (12/16/02) VHDL generation may produce instance names that are the same as prototype names.
FIX: In "vhdl.c:vhdl_generatevhdl()", in the block of code titled "write the instances",
     if a node has a name, make sure it is not in the "componentlist" array.

BUG: (12/16/02) Reading a library when there are no edit windows crashes.
FIX: In "usrcomln.c:us_library()", after reading and when looking for a window to place the
     top facet, make sure there is a window.  Change:
		if (el_curwindowpart->curnodeproto == NONODEPROTO &&
			(el_curwindowpart->state&WINDOWTYPE) != EXPLORERWINDOW)
				curw = el_curwindowpart; else
     to:
		if (el_curwindowpart != NOWINDOWPART &&
			el_curwindowpart->curnodeproto == NONODEPROTO &&
				(el_curwindowpart->state&WINDOWTYPE) != EXPLORERWINDOW)
					curw = el_curwindowpart; else
     also, in "usrnet.c:us_computenodefartextbit()", add this test at the top:
		if (el_curwindowpart == NOWINDOWPART) return;

IMP: (12/15/02) Added "Info / Option Control / Find Options" to locate options.

************************* Version 6.07: Released 12/6/2002 *************************

BUG: (DN, 12/14/02) When text rotation is changes, status bar items are drawn with this rotation.
FIX: In "graphunixx11.c:gra_settextsize" added parameter "rotation".

SUN: (MW, 12/13/02) Added begin/endobjectchange to changelambda in dblibrary.c
	to force Jose to reload the lambda data.

SUN: (12/11/02) First release of LE layout sizer.

BUG: (12/5/02) Changes to arc options cause a crash on exit.
FIX: In "dbvars.c:explainoptionchanges()" and "optionshavechanged()" must expand options
     that exist on technologies, primitives, and arcprotos.

BUG: (12/5/02) Opening a directory on UNIX crashes.
FIX: In "graphunixx11.c:fileselect()" check for directories.

IMP: (DN, 12/5/02) Qt forms for extensible dialogs.

IMP: (DN, 12/4/02) Editing of extensible dialogs in "usrdiaedit.cpp"

IMP: (12/4/02) Added antenna rule checker.

SUN: (MW, 12/03/02) added NodeInst.makeHardToSelect(boolean) and NodeInst.findPort(String).
	TODO: make shadows of all NodeProto calls available in NodeInst.

SUN: (MW, 12/03/02) New Facets created in Jose now have hard-to-select
	facet centers at 0,0.

IMP: (12/3/02) Verilog now lets exported networks be set to trireg.

IMP: (12/3/02) SPICE templates work right for arrayed nodes.

IMP: (12/2/02) Sped up facet deletion and mimic stitching for very complex facets by turning off
     network tool during the operation.

SUN: (MW, 12/02/02) Fixed jar build issue in Makefile.in (wasn't including all *.class files)

SUN: (MW, 12/02/02) Changed Jose version number to a string "YYYY.MM.DD"

IMP: (DN, 12/2/02) Synching of items order in AllDialogs.c with ".ui". "usrdiaedit.c -> usrdiaedit.cpp"

IMP: (12/1/02) Schematic gates AND, OR, and XOR now scale properly when placed in different
     technologies.

IMP: (12/1/02) Session logging now works for modeless dialogs on Windows and UNIX.

IMP: (DN, 12/1/02) Writing IRSIM history to Novas FSDB file.

BUG: (11/29/02) Redisplay of fully-expanded facets causes excessive redraw.
FIX: In "usrwindow.c:us_queuevicinity()" do not recurse on facet instances.

BUG: (11/28/02) Verilog output may be wrong if two busses with similar names are connected.
FIX: In "simverilog.c:sim_verwritebus()", when checking for bus entries being in order,
     make sure that the name match terminates both strings, not just the first.

IMP: (DN, 11/26/02) Stretchable dialogs are loaded from "electric/lib/ui/*.ui" files.
     Dialog Editor has a button to save dialog to ".ui" files. AllDialogs.c can keep
     defines of special items.

BUG: (11/26/02) Renaming a cell or export doesn't mark other libraries that use these objects
     for saving.
FIX: In "usrnet.c:us_renameport()" and "usrcomrs.c:us_rename()" set dirty bit on appropriate libraries.

BUG: (11/25/02) "Move objects by" doesn't move text properly.
FIX: In "usrcomln.c:us_move()" in the "by" case, do not offset distance by (bestlx,bestly)
     in call to "us_moveselectedtext()".

IMP: (11/25/02) The "replace all" button of "Text Find" now reports the number of replacements done.

BUG: (11/25/02) Renaming an export may work incorrectly.
FIX: In "usrnet.c:us_renameport()" must save new name in allocated memory.

IMP: (11/25/02) Facet explorer now has horizontal slider.

BUG: (11/22/02) Going up the hierarchy from an icon that only exists inside of its schematic fails.
FIX: In "usrcomoq.c:us_outhier()", "documentation icons" were ignored, but now treated specially.

BUG: (11/22/02) When editing "in place", object motion doesn't show distance moved properly.
FIX: In "usrtrack.c:us_multidragdraw()", temporarily reset "INPLACEEDIT" state when drawing
     distance moved.

IMP: (DN, 11/22/02) Native progress dialog is used on Qt. It permits interruption..

BUG: (DN, 11/22/02) Wide status text still expands graphics window on Qt.
FIX: Class EStatusItem is rewritten.

BUG: (11/21/02) Quick DRC thinks active on either side of a transistor is a violation if it
     crosses hierarchical boundaries.
FIX: In "drcquick.c:dr_quickactiveontransistorrecurse()", invert the order of the transformation
     when descending the hierarchy.  Also, in "dr_quickcheckdist()", fix inconsistent use
     of object 1 vs. 2 in call to "dr_quickcropnodeinst()".

IMP: (11/21/02) Now automatically convert libraries that have parameters set to "invisible" on facets.

BUG: (11/21/02) Logical Effort part values do not edit properly.
FIX: In "usrdiacom.c:us_resistancedlog()", "us_capacitancedlog()", and "us_inductancedlog()"
     use original variable's key instead of special-purpose variables of that type.

BUG: (DN, 11/21/02) Crash on Unix X11 when modeless dialog was launched form a windiw, then the window is closed,
	and the dialog is called from another window.
FIX: In "garphunixx11.c:gra_initdialog" use "gra_msgtoplevelwidget" as base for modeless dialogs.

BUG: (DN, 11/21/02) Text with the same size attribute is drawn on Qt smaller than on Unix X11.
FIX: Draw text with (size+4) points font instead of (size) points font, because Unix X11 port does so.

BUG: (DN, 11/21/02) Crash on Qt when click on graphics window while in "getmessagesstring()".
FIX: In "graphqt.cpp:getmessagesstring" clear gra->buttonhandler.

IMP: (DN, 11/20/02) Stretchable dialogs on Qt ("Layer Visibility" and "NCC Preanalysis Results" dialogs).

BUG: (DN, 11/20/02) Strange cursor behaviour on Qt-3.1.
FIX: In "graphqt.cpp:setdefaultcursortype" cursor is set on GraphicsDraw instead on GraphicsMainWindow.

BUG: (11/19/02) Broadcasts of new libraries should wait until all sublibraries are read.
FIX: In "io.c", added queueing of libraries.

IMP: (11/19/02) New commands in "Info / Attributes" let parameter values get displayed or hidden.

SUN: (MW, 11/19/02) Changed bool to BOOL in edialogs.h (4 instances), usrdiacom.cpp (4 instances).

SUN: (MW, 11/19/02) Occurances of // in drc.c, iogdso.c, usrstatus.c replaced with /* */

SUN: (11/19/02) Added "Jose".

IMP: (11/19/02) "Change" now leaves all changed objects highlighted.

BUG: (11/18/02) "Visible only inside facet" is set on all parameters on facet instances.
FIX: In "usrmisc.c:us_addparameter()" and "us_inheritfacetattribute()", call to
     "TDSETINTERIOR()" should set zero, not VTINTERIOR.

IMP: (11/18/02) Added new primitive to generic technology: "Essential-Bounds" for defining
     an area in a facet.

IMP: (11/18/02) Added option to "array" command to only array where no DRC violation is made.

IMP: (11/11/02) Port identification now draws line to the edge of the label, not the center.

IMP: (11/11/02) Added new DRC ("quick DRC") that is hierarchical, able to run on multiple
     processors, and much faster and more accurate than the older hierarchical DRC.

IMP: (11/7/02) "Extract facet contents" now orders node and arcs names numerically.

IMP: (11/6/02) Added "Sue Options" to choose 4-port transistors.

BUG: (11/6/02) NCC may loop infinitely while resolving node name ambiguity.
FIX: In "netdiff.c:net_findcomponentnamematch()", must ensure that the number of nodes
     being resolved (i0ptr and i1ptr) are not the same as the number of components in
     the symmetry group.

BUG: (10/30/02) Selecting a net grabs arcs in lower-level facets which may affect them unknowingly.
FIX: In "network.c:net_set()", no longer move down the hierarchy, showing nets.

IMP: (DN, 10/29/02) Added "AUTOCHECK" and "RADIOn" dialog item types (C++ dialogs only).
     "netdiff.c" -> "netdiff.cpp".

IMP: (10/29/02) Serpentine transistors that are manhattan now DRC correctly.
FIX: In "dbtechi.c:tech_filltrans()", have manhattan serpentine segments overlap
     In "drcbatch.c:drcb_cropnodeinst()", call a special version of "cropbox()"
     that considers the other layer and allows overlap.

BUG: (10/28/02) "replacenodeinst" shifts instance location if the current technology is wrong.
FIX: In "dbnoproto.c:replacenodeinst()", use "lambdaoffacet()" instead of deriving it from the
     current technology.

BUG: (DN, 10/27/02) In "3D Options" dialog some layers can't be selected from user-drawn area.
FIX: In "usrdiacom.cpp:us_3ddepthdlog" use "us_3dlayerindex" handling "D3DD_LAYERVIEW" hits.

BUG: (DN, 10/27/02) Modeless dialogs may crash while closing on Unix, because widget are
     processed after they are closed.
FIX: In "graphunixx11.c:gra_dialogaction" move call of "modelessitemhit" to the end of routine.

BUG: (DN, 10/27/02) User-drawn fields in dialog are not refreshed properly on Unix.
FIX: In "graphunixx11.c:gra_dialogredraw" change "redrawitem" to "redrawitem+1".

IMP: (DN, 10/27/02) C++ API is added for Dialogs. "usrdiacom.c" is renamed to "usrdiacom.cpp".

IMP: (DN, 10/25/02) Attempt to use Doxygen for internal docs. "Doxyfile added"..

IMP: (DN, 10/25/02) DiaResizeDialog() on Qt.

IMP: (10/25/02) Node "Get Info" dialog is now modeless.

IMP: (10/24/02) Network flattening now adds any global nets that may have been ignored
     because of nonexpansion of the hierarchy.

IMP: (10/24/02) Java interface now has: "beginTraverseHierarchy", "endTraverseHierarchy()",
     "downHierarchy()", and "upHierarchy()".

IMP: (10/23/02) Added "DiaResizeDialog()" to change dialog size.  Implemented "More/Less"
     button in node "Get Info" dialog to expand the dialog.

BUG: (10/22/02) NCC does not give specific bus index when reporting a mismatch from a bus.
FIX: In "netdiff.c:net_describepnet()" if an export is a bus, use the network name.

BUG: (10/22/02) NCC may give an export characteristic error if there are multiple exports
     with different characteristics on a single network.
FIX: In "netflat.c:net_makepseudo()", must add the bus export to every signal that uses it,
     even if redundant.  In "netdiff.c:net_analyzesymmetrygroups()" must examine all exports
     on both nets to make sure there is no match.

BUG: (10/22/02) Large text may get erased when objects are moved.
FIX: In "usrwindow.c:us_queuevicinity()", must examine a larger area around the erased
     object and also consider nodes and arcs with "far text".

IMP: (10/22/02) Added checks to ensure that facet parameters are visible inside of the facet.

IMP: (10/21/02) "Change Text Size" now shows the range of existing values.

IMP: (10/21/02) If multiple nodes of the same type are selected, dialogs that list nodes
     will select that type of node.

IMP: (10/21/02) Added hash table for export names in facets to speed up handling of facets
     with many exports.

BUG: (DN, 10/18/02) Wide status text expands graphics window on Qt.
FIX: Class EStatusItem is added, with "Maximum" size policy and modified "minimumSizeHint".

BUG: (10/17/02) Verilog netlister gets confused by signals with different names but equal
     numeric parts (such as "df0" and "df00").
FIX: In "dbtext.c:namesamenumeric()", if numeric value is equal, make sure text is too.

BUG: (10/16/02) GDS output is not right.
FIX: In "iogdso.c", uncommented "OLDGDS".

BUG: (10/16/02) Parameter visibility is not managed properly.
FIX: In "usrmisc.c:us_inheritfacetattribute()" and in "usrdiacom.c:us_attrparamdlog()"
     adjust the displayability of the parameter.

IMP: (10/16/02) "Erase Geometry" now leaves arc names on both halves of cut arcs.

IMP: (DN, 10/15/02) DiaChangeIcon on Qt; Russian plug in "About" dialog

BUG: (10/15/02) NCC may flag export errors when comparing a bus to an individual signal.
FIX: In "netdiff.c:net_sameexportnames()", must break apart exports that are busses.

BUG: (10/15/02) Layer visibility dialog may crash on UNIX.
FIX: In "usrdiacom.c:us_vislayeritemhit()", in the "DVSL_LAYERLIST" case, stop if no line selected.

BUG: (10/11/02) Wrecks libraries when changing the name of a disk file associated with
     a Verilog facet.
FIX: In "sim.c:sim_verilogdlog()", in the "DVEO_MODELFILE" item code, must restore
     "el_curlib" after parsing the facet name.

IMP: (10/10/02) NCC can now display graphical progress as components are matched.

SUN: (10/9/02) New NCC code.

BUG: (JG,10/8/02) Logical Effort tool does not handle LEKEEPERs in parallel
FIX: Added support for LEKEEPERs in parallel

BUG: (JG,10/8/02) Logical Effort tool does not recognize VFRACT types
FIX: Added understanding of VFRACT types

BUG: (10/3/02) NCC may improperly use old results to assign matches to facets.
FIX: In "netflat.c:net_setallexporttopology()", ignore previous results.

SUN: (10/3/02) Logical effort now reports the facet where offending transistors reside.

IMP: (10/3/02) HSPICE reading of ".tr0" files now handles more than 10000 signals.

BUG: (10/3/02) NCC may report spurious hash clashes when power and ground nets are being ignored.
FIX: In "netdiff.c:net_dogemini()", compute a true wire count that excludes ignored power and
     ground.  Use it in calls to "net_findsymmetrygroup()" and "net_newsymgroup()".

IMP: (10/2/02) Individual nodes can be locked.

BUG: (10/2/02) Facet size in status bar may not reflect current facet if there are more than 1.
FIX: In "usr.c:us_slice()", update facet size if current facet changed.

IMP: (10/2/02) Facet explorer shows detail for errors.

BUG: (10/1/02) Copy and paste don't work right on UNIX.
FIX: Use proper Motif clipboard calls in "graphunixx11.c:getcutbuffer()" and "setcutbuffer()".

IMP: (10/1/02) New command: "Tools / DRC / Hierarchical Check Selection" checks in an area only.

IMP: (9/30/02) Display of NCC equivalences also lists full hierarchical path to components.

IMP: (9/30/02) Verilog netlister uses parameter defaults when expanding templates.

IMP: (9/30/02) "Layer Visibility" is now a modeless dialog.

IMP: (9/30/02) UNIX screens that span two displays (xinerama mode) now present windows
     of the right size.

BUG: (9/26/02) Macintosh dialogs sometimes have fields that cannot be used.
FIX: Must call "DiaUnDimItem()" initially whenever a field might be dimmed since
     the Mac dialogs package remembers the dimmed state between dialog uses.

IMP: (9/26/02) "Cleanup pins" now detects oversize pins with arcs that don't touch.

IMP: (9/26/02) "List Facet Usage" now defaults to the current facet or instance.

IMP: (9/26/02) Export "Get Info" dialog no longer lets you clear the export name.

IMP: (9/26/02) NCC dialog now has "Next" buttons to cycle through facets in current windows.

IMP: (9/26/02) Ports that are automatically created in icons (because of new ports
     created in the schematic) are now grid-aligned.

IMP: (9/26/02) NCC now reports the number of errors found.

BUG: (9/26/02) "Shorten Selected Arcs" may fail.
FIX: In "usrcomab.c:us_arc()", in the "shorten" case, use "reduceportpoly()" on the port polygon.

BUG: (9/25/02) Crashes in "General Facet Lists".
FIX: In "usrdiacom.c:us_facetlist()" close the dialog at the end, not before using its values.

BUG: (9/25/02) Crashes on Mac when text is too small.
FIX: In "graphmac.c:screensettextinfo()" restore GWorld when text is too small to draw.

BUG: (9/25/02) When a library is closed, it says so rather than "deleted".
FIX: Changed the message.

BUG: (9/25/02) Very wide network names may cause a crash.
FIX: In "graph*.c:ttysetstatusfield()", make sure filling "gra_localstring" doesn't overflow.

BUG: (9/24/02) Java evaluation is done too often, rarely cached.
FIX: In "dblang.c:db_enterqueryincache()", store the requested type as well as the resulting
     type so that the cache will find the request.

BUG: (9/24/02) May crash evaluating networks in complex circuits due to stack depth overflow.
FIX: In "network.c:net_nconnect()", use allocated objects to recurse through the network
     instead of actually recursing.

BUG: (9/23/02) Changing units doesn't handle facet characteristic spacing properly.
FIX: In "dblibrary.c:db_scalefacet()", scale that property too.

IMP: (9/23/02) Connecting two crossing arcs now places just 1 node instead of 2.

BUG: (9/23/02) Duplicating an export doesn't preserve the text attributes.
FIX: In "usrnet.c:us_createqueuedexports()", copy the "textdescript" field after creation.

IMP: (9/20/02) Can more easily abort NCC's network extraction phase.

BUG: (9/20/02) NCC fails to match instances that are not being expanded when there are
     feed-through exports that have different names on each end.
FIX: In "netflat.c:net_setthisexporttopology()", check alternate names that are electrically
     tied and also check power and ground associations.

BUG: (9/19/02) NCC fails to detect port characteristic inconsistencies if one port is a bus.
FIX: In "netflat.c:net_makepseudo()", set the port for individual signals on a bus.

IMP: (9/19/02) Dialog that tells about different electrical units now explains better.

IMP: (9/19/02) Saving options now tells where the options file is.

BUG: (9/19/02) Wiring facets may change the selected port if it cannot connect to the current arc.
FIX: In "usrcomcd.c:us_create()", keep selected port, even if current arc must switch.

IMP: (9/13/02) "Verilog Options" and "SPICE Options" let you type the model/header/trailer
     file names directly.

BUG: (9/12/02) When placing a facet instance, the list defaults to the current facet.
FIX: In "usrdiacom.c:us_setscrolltocurrentfacet()", now have two parameters which request
     use of current facet and current instance.

IMP: (9/11/02) EMACS-like text editor handles all line insertion and deletion commands.

IMP: (9/11/02) Mimic stitcher can now mimic "L" and "Z" (multibend) arcs.

IMP: (9/11/02) Added international "outlet" icons to the "About Electric" dialog
     (currently only Australia and USA).

BUG: (JG, 9/10/02) Spice netlister generating duplicate subckt names
FIX: "name-nodes" now occurs before trying to generate hierarchical subckt names in Spice
     netlisting instead of after.

IMP: (9/9/02) Text is no longer drawn when it is too small.

IMP: (9/9/02) Added ability to copy text from explorer window.

BUG: (9/9/02) If two libraries have the same cell name in them, Verilog output may be ambiguous.
FIX: In "simverilog.c", detect such ambiguities and prepend the library name.

IMP: (9/6/02) ERC sped up.  Also now has option to find worst distance from contact to edge.

IMP: (9/6/02) Showing ports and exports now draws neater lines (improved "us_identifyports()").

BUG: (9/6/02) System slows considerably drawing stylized text on UNIX.
FIX: In "graphunixx11.c:gra_settextsize()", hash table was always being re-filled.

BUG: (9/5/02) Crashes when editing DRC rules on Schematics.
FIX: In "drc.c:dr_rulesdlog()", must test variables for validity before getting their length.

BUG: (9/5/02) DRC doesn't find distance errors that are on a diagonal.
FIX: In "drcbatch.c:drcb_findinterveningpoints()", handle boxes that are not manhattan-aligned.
     And in "drcb_checkdist()", look harder if diagonal intervening point has no material.

BUG: (9/5/02) Verilog output doesn't find parameter values properly.
FIX: In "simverilog.c", use "downhierarchy()" and "uphierarchy()" to track traversal.

BUG: (9/5/02) Complex circuits may take too long for first click, causing objects to
     drag if the cursor jitters.
FIX: Added "eventtime()" to report the time an event happened.  Use it in "usrtrack.c:us_findidown()".
     Also added call to "stopping()" in "usrnet.c:us_recursivelysearch()".

BUG: (9/4/02) "Cleanup Pins" may report pin removal that didn't actually happen.
FIX: In "usrnet.c:us_cleanupfacet()", check the result of "us_erasepassthru()".

IMP: (9/4/02) Verilog netlister now handles templates better: handles arrayed node names
     and bus exports.

BUG: (9/3/02) May crash reading libraries from other operating systems (where bytes are swapped).
FIX: In "iobinaryi.c:io_getstring()" and "io_gettempstring()", must set "swap_bytes"
     to zero, not -1.

IMP: (9/3/02) Displayed offset when moving objects now keeps a consistent number of
     zeros to the right of the decimal point.

IMP: (9/3/02) "Print Options" now has option to automatically rotate image to fit best.

IMP: (9/3/02) Status bar now shows network name in Arc field.

BUG: (8/30/02) Verilog output still wrong.
FIX: Undo change made to "simverilog.c:sim_vergetnetworks()" on 8/23 and instead, when
     figuring out which port to use, choose the widest.

BUG: (8/29/02) Verilog output crashes if an export on an icon doesn't exist in the schematic.
FIX: In "simverilog.c:sim_verwritefacet()", check for error returns from "equivalentport()".

IMP: (8/28/02) "Duplicate" now shows offset (like "Move" does).

IMP: (8/27/02) Facet explorer now has "power buttons" for recursively opening and closing.

IMP: (8/27/02) NCC now reports the number of transistors involved in size differences.

BUG: (8/27/02) Reading a library may overwrite the facet explorer window.
FIX: In "usrcomln.c:us_library()", when selecting a window, ignore explorers.

IMP: (8/26/02) Can print Facet Explorer on Windows and UNIX, can export it as PostScript.

BUG: (8/26/02) Facet explorer doesn't alphabetize right.
FIX: In "usrnet.c:us_addexplorernode()", must preserve name because examining other names
     may overwrite the data.

BUG: (8/26/02) Clicking "Remove" in multi-object Get-Info doesn't work right if more than
     one item is selected.
FIX: In "usrdiacom.c:us_showdlog()", must sort the list of lines to remove in reverse order.

BUG: (8/26/02) Text Get-Info may shift text location.
FIX: In "usrdiacom.c:us_getinfotext()", must use proper value of lambda when evaluating
     the location of text.

BUG: (JG, 8/26/02) Logical Effort sizer picking up some gates twice, picking up icons
FIX: Added checks for already found gates, own icon.

SUN: (JG, 8/26/02) Unrelated libraries being loaded on start-up
FIX: change logeffortsun.cpp: le_lasttoplevelfacet_key to VSTRING instead of VNODEPROTO.

BUG: (8/23/02) Verilog netlister may add "_1" to a signal name improperly.
FIX: In "simverilog.c:sim_vergetnetworks()", when checking for duplicate signal name,
     consider array indices that may not overlap.

IMP: (8/23/02) Now have "status bar" field with the number of selected items.

IMP: (8/23/02) Increased maximum relative text size from 31.75 to 127.75

BUG: (8/23/02) UNIX dialogs with popups cannot show all entries if there are too many.
FIX: In "graphunixx11.c:DiaSetPopup()" create multicolumn popups if necessary.

BUG: (8/21/02) Using "Copy", "Cut", or "Paste" keys too much on UNIX may crash.
FIX: In "graphunixx11.c:gra_pickupnextevent()", prevent special key actions if currently
     tracking (in "trackcursor()").

BUG: (JG, 8/21/02) NCC picks up max size instead of actual size for scalable layout transistors.
FIX: added special case in dbtech.c:transistorsize() for scalable transistors.

BUG: (JG, 8/20/02) Scalable layout transistors do not NCC.
FIX: Userbits of scalable NMOS transistor set to NPTRANMOS instead of NPTRAPMOS in
     tec/tecmocmos.c

SUN: (JG, 8/20/02) LE sizing on layout now extracts wire lengths from layout.

BUG: (JG, 8/19/02) Verilog outputs illegal code for capacitors
FIX: Added check in sim/simverilog.c:sim_verwritefacet() to ignore R, L, C primitives

IMP: (8/16/02) SUE input adds "@" in front of variable names to make it more Java-like.

BUG: (8/16/02) NCC Options dialog cannot set overrides for facets not in the current library.
FIX: In "network.c:net_nextfacets()", use "nldescribenodeproto()" instead of "describenodeproto()".

IMP: (8/15/02) Node "Get Info" now shows evaluated value of language attributes.

IMP: (8/14/02) Editing "in place" now displays the upper levels of hierarchy.

IMP: (8/13/02) Quick keys can now bind the Control "-", "+", ",", and ".".

IMP: (8/13/02) New option in "IO Options / Library Options" is "Preserve Creation Dates"
     which requests that the system copy the old binary library and then overwrite it
     (keeping the creation date) rather than renaming the old binary library and then
     writing a new one (losing the creation date).

IMP: (8/12/02) New command "Info / Option Control / Examine Saved Options" to see
     what options are being saved.  To make it work, some variables that were not
     initially made temporary had to be made so, and some other initialization that
     was done through commands had to be reset as temporary during initialization.

SUN: (JG, 8/12/02) New logical effort command: 'Back-annotate LE wires' uses NCC
     information to extract wire lengths from layout and back-annotate LE wires in
     schematics.

IMP: (JG, 8/12/02) New functions for using matched NCC info: net/netdiff.c:
     net_getequivalentnode(), net_getequivalentnetwork(), net_nccmatchinfo().
     Made net/netdiff.c:net_nccalreadydone() global function. Added recurse flag to
     net/network.c:net_gathergeom() and net_propgeometry().

IMP: (JG, 8/12/02) New menu item + dialog: Info->Attributes->Attribute Report.
     Generates hierarchical report for an attribute.

BUG: (JG, 8/7/02) Info->Attributes->Enumerate crashes on coded variables
FIX: usr/usrdiacom.c:us_scanattrs(): coded vars can be strings but return non-strings,
     added check for such a case.

SUN: (JG, 8/7/02) Logical Effort sizing bug fixes: now calculates cap loads correctly,
     bussed ports on LEGATEs work correctly. Improved describe le node routine.
     Added incremental rounding Java routine.

BUG: (7/26/02) Selection works badly for variables that are code.
FIX: In "usrhigh.c:us_selectarea()", must fill in the variable evaluation when creating
     highlight modules.

BUG: (7/26/02) Technology editor does not create proper minimum-node-size design rules.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", must determine bounds of actual node
     geometry being created and clip the minimum size of the node to this distance.

SUN: (JG, 7/26/02) misc/logeffortsun.cpp: Better error reporting; refreshes
     screen after sizing.

IMP: (JG, 7/26/02) "net/netdiff.c": NCC names all nets before running.
     NCC net errors report connection count. "usr/usrcomtv.c":
     Added menu command "Info->Attributes->Update Inheritance All Libraries".
     (new command "var reinherit-alllibs").

IMP: (7/24/02) Facet explorer now has "hierarchy", "contents", and "errors" views.

IMP: (7/24/02) Highlighting a network now shows all arcs in subfacets (layout only).

BUG: (7/24/02) Silos output may crash.
FIX: In "simsilos.c:sim_writesilinstances()", in the SILOSFACET case, must check the result
     of "equivalentport()" and continue loop if null.

SUN: (JG, 7/24/02) Added LE.roundW() and LE.roundL() functions to round
     lengths and widths of scalable transistors.

IMP: (7/23/02) Improved variable evaluation cache to account for the object on which the
     code resides.

BUG: (7/22/02) Does not detect duplicate node names when arrayed names are used.
FIX: In "network.c:net_gathernodenames()", break arrayed node names into individual entries.

IMP: (7/22/02) Added "Edit / Special Function / Mark All Libraries for Saving" to
     tag all libraries for saving.

BUG: (7/22/02) DRC of scalable transistors doesn't work right.
FIX: In "tecmocmos.c:mocmos_nodeEpolys()", and "mocmos_allnodeEpolys()", call
     "mocmos_intnodeEpolys()" instead of "tech_nodeEpolys()".  In "mocmos_shapeEnodepoly()",
     and "mocmos_allnodeEpolys()", call "mocmos_intshapeEnodepoly()" instead of "tech_shapeEnodepoly()".
     Also, in "tecmocmos.c:mocmos_tnas_l[]", set the port of the last two entries to "-1", not "1".

BUG: (7/22/02) Cannot move attributes on an export if those attributes are code.
FIX: In "usrmisc.c:us_modifytextdescript()", chage "high->fromvar" to "var" in the call
     to "modifydescript()" associated with exports.

IMP: (DN, 7/21/02) Added enhancements of Spice waveform window, contributed by Gerrit Groenewold:
     - The waveform window starts empty after first simulation.
     - Each frame has its own vertical scale.
     - Cltl-G toggles the grid in the waveform.
     - Improvements on the choice of "sensible" values to put on the y axis (1/2/5 range).
     - Reading _binary_ rawfiles!
     - Prettyprinting of numbers along the axes.
     - One key ("e") to erase all traces.
     Modified files: "simwindow.c", "simspicerun.c", "sim.h", "usrcomek.c", "usrdisp.c", "usr.c"

BUG: (7/19/02) Auto-stitcher may crash.
FIX: In "routauto.c:ro_checkstitching()", must gather all polygons at once (using
     "allnodeEpolys()" instead of doing it one-at-a-time because "ro_findsmallestlayer()"
     also examines polygons.

IMP: (JG, 7/19/02) "sim/simspice.c" and "sim/sim.c" Added option to write transistors
     sizes in lambda, outputs scaling factor into spice deck if doing so.
     "misc/logeffortsun.cpp" Improved Java_LogicalEffort_getdrive(); Logical Effort
     options will now be saved. "db/dbvars.c": added function
     "getlastvariableobject()" which returns the last variable object, similar to
     "getcurrentvariableobject()". Added Java_LogicalEffort functions getdiffn(), getdiffp(),
     getnetfanoutn(), getnetfanoutp().

BUG: (7/18/02) VHDL compiler error messages may change numeric values in the code.
FIX: In "vhdlparser.c:vhdl_reporterrormsg()", in the "switch (tstart->token)" code,
     add a case for "TOKEN_DECIMAL" that prints "tstart->pointer" as a string.

IMP: (7/18/02) Modified the "Get Info" dialogs so that they work with any resistor,
     capacitor, inductor, or diode node, not just the ones in the Schematics technology.

IMP: (7/18/02) "Check and Repair Libraries" now ensures that facet parameters are inheritable.

IMP: (7/18/02) Added "Node moves with export text" option to cause export text dragging
     to move the node too.

BUG: (7/18/02) When changing the default size of a node or arc, all in menu should scale.
FIX: In "usr.c:us_newvariable()", detection of object size change should redraw all
     relevant menus.  Also, in "usrmenu.c:us_drawmenuentry()", increased the menu arc
     width, make sure arcs are longer than they are wide, and scale wide arcs differently
     from normal size arcs.

IMP: (7/18/02) Changes to relevant fields in "NCC Control and Options" dialog causes
     valid NCC date information to be cleared.

BUG: (7/18/02) When a rotated facet is erased, displayble variables are not undrawn right.
FIX: In "usrdisp.c:us_drawnodeinst()", when undrawing a facet, the results of "us_getnodebounds()"
     are already rotated for the node, so transformation "prevtrans" goes too far.
     Also, in "dbvars.c:makedisparrayvarpoly()", (centerobjx,centerobjy) must be rotated if
     on a node.

IMP: (JG, 7/18/02) "sim/simspice.c:markuniquenodeinsts" now works properly.
     "misc/logeffortsun.cpp": Saves sizes as attributes. Erases old sizes properly.

IMP: (7/17/02) "Factory Reset" of DRC rules now clears valid DRC dates, too.

IMP: (7/17/02) Resistors can now be used correctly.  Modified "tecschem.c" to make both ends
     equivalent by default.  Also added technology request options to make the ends differ.
     Only SPICE needs to see them as different, so modified "simspice.c" to check for resistors,
     and redo network numbering if they are found.  Modified NCC to ignore resistors and
     capacitors when both ends of the resistor are on the same net.

BUG: (7/17/02) Text does not always move properly.  Object sizes may be wrong if
     they are from a different technology.
FIX: In "dbmath.c:lambdaofnode()" and "lambdaofarc()", use the lambda of the parent,
     not the prototype.  Fixed "io.c:io_fixnewlib()" to adjust libraries.
     Conversion from lambda to text (the routines "atola()" and "latoa()") now
     take a lambda value.

IMP: (7/17/02) SPICE deck generator now has option to look for header and trailer
     cards with specified extensions to the cell name.

IMP: (JG, 7/17/02) Modified "dbvars.c:parameterizedname()" to record
	object target of evalvar, as in getval.

SUN: (JG, 7/16/02) Added new logical effort tool.

IMP: (JG, 7/16/02) Modified SPICE deck generator to:
     > Not break lines inside of quoted strings
     > Ensure that parameterized subcircuit names are not too long
     > Work with Logical Effort to use unique names where appropriate.

IMP: (JG, 7/16/02) Modified "dbvars.c:getcurrentvariableobject()" to know
     about objects being drawn as displayable variables.

BUG: (7/15/02) Cannot use strings in 2nd argument to "longjmp" on 64-bit machines.
FIX: In "iobinaryi.c", "iotexti.c", "iogdsi.c", and "ioedifi.c", converted strings
     to constant integers.

BUG: (7/15/02) If arc is selected and one end is on facet instance, drawing from that arc
     may pick a random port on the instance.
FIX: In "usrcomcd.c:us_create()", in the "create angle" case, when finding the closest
     port to the cursor, consider the port that was returned by "us_getnodeonarcinst()".

BUG: (7/15/02) DRC may not notice two close active areas if they are connected to opposite
     sides of ANY transistor.
FIX: In "drcbatch.c:drcb_activeontransistor()", make sure the transistor center is inside
     of the bounding box of the two active pieces.

BUG: (7/15/02) Schematic drawing may crash when a small blob is at the edge of the screen.
FIX: In "graphdraw.c:gra_drawdisc()", in the "radius == 1" case, must check screen bounds.

IMP: (JG, 7/12/02) Changed "dbvars.c:inparameterizedcells()" and "addtoparameterizedcells()"
     to handle abbreviated names.  Added "dbvars.c:parentvaldefaulted()" to know when an
     evaluation returned a default value.

BUG: (7/12/02) Doing "Get Info" after DRC may crash.
FIX: In "usrdiacom.c:us_highlightsascending()", change the line:
		if (s2 != HIGHFROM) return(0);
     to:
		if (c2->status != HIGHFROM) return(0);
     And in the routine "us_showdlog()", after the first call to "us_makehighlight()", add:
		if ((high.status&HIGHTYPE) != HIGHFROM) continue;

BUG: (7/12/02) Shift-clicking over already-selected objects does not deselect the proper one.
FIX: In "usrtrack.c:us_finddoibegin()", after the comment "re-find the closest port ..." add:
		(void)us_makehighlight(((char **)highvar->addr)[i], &newhigh);

IMP: (7/12/02) Calls to tool daemons now check that tool is on in "io.c", "iobinaryi.c",
     and "iotexti.c".

BUG: (7/12/02) Crashes when writing GDS files.
FIX: In "iogdso.c:io_outputgdspoly()", the first line of code calls "needstaticpolygon()".
     Change the first parameter on that line from "poly" to "poly2".

BUG: (DN, 6/19/02) Show Name,Inherit,Value has strange behavior on instance variables.
FIX: Restrict Show Name.Inherit,Value to facet variables only in "usrcomtv.c" and "usrdiacom.c".

BUG: (DN, 6/19/02) DiaSetPopup appends new entries to pervious contents on Qt.
FIX: Clear previous contents inn "graphqtdlg.cpp:EDialog::setPopup(int)".

IMP: (6/18/02) Redid "dbmemory.c:valloc()" for Macintosh OS/X.

IMP: (6/18/02) Added the routine "getcurrentvariableobject()" to return the current
     object on which a "getval()" is running.

************************* Version 6.06: Released 6/16/2002 *************************

BUG: (6/12/02) Crashes when renaming a Java attribute.
FIX: In "usrdiacom.c:us_attributesdlog()" in the "DATR_RENAMEATTR" section,
     must treat code as a string.

BUG: (6/11/02) May crash when selecting variables in interpretive languages.
FIX: Modified "dblang.c:doquerry()" and its use in "dbtechi.c:tech_filldisplayableanyvar()",
     "dbvars.c:evalvar()", "usrcomek.c:us_interpret()", "usrcomtv.c:us_var()" and
     "usrdiacom.c:us_varidentify()".

IMP: (6/10/02) Initial version of Macintosh OS/X support in the module "graphmacX.c".

BUG: (DN, 6/9/02) MOSIS CMOS GDS layers are wrong for Metal6, Via5, and Pad-frame.
FIX: (TECHNOLOGY CHANGE!) Updated "tecmocmos.c:mocmos_gds_layers[]", changing the Metal6 layer
     from 38 to 37, Via5 from 39 to 39; Padframe from 19 to 26.  Also changed the Padframe
     CIF layer from CX to XP.

BUG: (DN, 6/7/02) "Save as" dialogs can show invalid paths at initial call on Qt-2* .
FIX: Use "fullfilename in "graphqt.cpp:fileselect".

BUG: (DN, 6/7/02) Crash when saving empty "noname.elib", because "OPTIONVARCACHE->var" becomes invalid.
FIX: Do not save pointer to var in "dbvars.c:OPTIONVARCACHE".

BUG: (6/9/02) Crashes when drawing arcs.
FIX: In "usrarc.c:us_getnodeonarcinst()", make sure the NODEINST is declared "static".

BUG: (6/6/02) Recursive structure can be created if there are icons.
FIX: In "dbmath.c:isachildof()", ensure that the child facet is not an icon.

BUG: (DN, 6/6/02) Compilation fails when "DEBUGMEMORY" is on.
FIX: Type casts in "dbmemory.c".

BUG: (DN, 6/6/02) Electric can handle only first 128 fonts in alphabetical order.
FIX: "screegetfacelist" can return either full list of fonts or list of used fonts.
     Added routine "screenfindface" to make font to be used. Number of used font is
     still limited by 128.

BUG: (6/5/02) When starting a text edit window, some screen errors are visible.
FIX: In "usreditpac.c:us_editpacredrawlines()", extend erasure area by 1 on right and bottom.

BUG: (6/5/02) Horizontal slider in simulation window doesn't work right.
FIX: In "simwindow.c:sim_window_hthumbtrackingcallback()" handle tracking better.

IMP: (DN, 6/4/02) Qt draws on client off-screen buffer by "graphdraw.c" routines again
     because it is faster. Truetype text is drawn also.
     Previously used drawing on server pixmap by Qt painter can be invoked by command-line option "-q".

BUG: (6/3/02) Options get saved in libraries if the libraries are saved during a dialog that prompts
     to save them.
FIX: In "usrstatus.c:us_preventloss()", call "makeoptionstemporary()" before saving.

IMP: (6/3/02) Improved the speed of the facet explorer.

BUG: (DN, 6/3/02) Mouse wheels don't work on Qt.
FIX: In "graphqt.cpp:GraphicsDraw::wheelEvent" fix button numbers. Add settings to "evemenus.mac".

IMP: (5/30/02) Multiprocessor DRC working.

IMP: (5/30/02) Node Get-Info dialog now handles attributes on primitives.

BUG: (5/29/02) Verilog output is wrong when exports mix busses and individual entries of the bus.
     Also generates busses in the wrong order (if bus ascends but port descends).
FIX: In "simverilog.c:sim_vergetnetworks()" do not combine signals if they come from different ports.
     Also, in "sim_verwritefacet()", track directionality of busses and check them.

BUG: (5/29/02) "Make Icon" places icon off-grid.
FIX: In "usrcomcd.c:us_create()", grid-align the icon coordinates.

IMP: (5/28/02) Duplicating and pasting exports in a schematic also creates them in the icon.
     Adding to icon follows the rules for icon options.

BUG: (5/28/02) Can delete the only library, causing other problems.
FIX: In "usrcomln.c:us_library()", must do a better check for the last library (including
     check for hidden libraries).

BUG: (5/28/02) Does not redisplay properly.
FIX: In "usrdisp.c:us_drawnodeinst()", when undrawing a facet instance, must transform the
     polygon by "prevtrans".

IMP: (5/28/02) Changes to a transistor's "normal/weak" state are now major changes that are
     noticed by cross-library copy as a "difference".

BUG: (5/22/02) Project management may not track changes to library that is entirely checked-out.
FIX: In "projecttool.c:proj_showlistdialog()", must add "proj_active = TRUE;".

BUG: (5/22/02) Crashes when clicking on a facet's "global" attributes in the advanced
     "Edit Variables" dialog.
FIX: In "dbvars.c:db_initnodeprotolist()", update their type according to size.

BUG: (5/22/02) Icons are not presumed to be "artwork" unless they have ONLY artwork in them.
FIX: In "dbmath.c:whattech()", do not assign higher importance to schematics over artwork.

BUG: (5/22/02) When a node/arc name is purely numeric, "Get Info" on its text makes it unusable.
FIX: In "usrdiacom.c:us_getinfotext()", make sure node names and arc names are strings, not integers.

BUG: (5/22/02) Cannot paste black color objects onto colored ones.
FIX: In "usrnet.c:us_pastarctoarc()" and "us_pastnodetonode()" must not only copy variables
     from source to destination, must remove destination variables that are not on source.

IMP: (5/22/02) Arc "Get Info" now has color change option for artwork arcs.

BUG: (5/21/02) Cannot set multiprocessor DRC.
FIX: In "drc.c", do not cache DRC options through variables: the tool may not be on.

IMP: (5/21/02) Further reorganization for multiprocessor DRC: changed "dummynode()" and "dummyarc()"
     so that they don't return a static object.  Made many "static polygons" be dynamically allocated.
     "nextobjectlist()" changed to fill supplied variable.

IMP: (DN, 5/20/02) Variable "SIM_irsim_behave_file" can contain filename of external IRSIM deck..

IMP: (DN, 5/20/02) In Simulation options dialog added option "Show commands" which controls playing
     of test vectors.

BUG: (5/20/02) Changes to "node strength" don't trigger major change/database save.
FIX: In "dbchange.c:db_change()", test for changes to variable "SIM_weak_node".

BUG: (5/20/02) Facet lists don't always jump to the proper entry.
FIX: In "usrdiacom.c:us_setscrolltocurrentfacet()", use "nldescribenodeproto()", not "describenodeproto()".

BUG: (5/20/02) Copying arcs that generate new names uses the old name briefly, causing error messages.
FIX: Modified "copyvars()" to take an optional "unique names" parameter.

BUG: (5/20/02) May crash when reading heavily interdependent libraries.
FIX: In "io.c:io_fixnewlib()", move the code that "fills in connection lists on ports"
     to the section that is only executed once the last library has been read.

BUG: (5/20/02) Java evaluation leaks memory.
FIX: In "dblangjava.cpp:java_query()" must call "DeleteLocalRef()" on the string after it is
     passed to the Bean Shell interpreter.

BUG: (5/15/02) CIF resolution errors are wrong when merging polygons.
FIX: In "iocifout.c:io_cif_write_polygon()", include offset when checking resolution.

IMP: (5/15/02) Can now set "visible only inside facet" on parameters to supress
     them on instances.

BUG: (5/15/02) Distance measurement shows text badly and, if zoomed, not at all.
FIX: In "usrtrack.c:us_drawdistance()", clip text to window bounds and in
     "us_distancedown()" use absolute text size.

BUG: (5/15/02) Multicut contacts are not parallelizable.
FIX: In "dbtech.c:tech_shapenodepoly()" and "tech_shapeEnodepoly()", copy the points.

IMP: (5/14/02) MOSIS CMOS now has a "scalable transistor" with attached contacts.

IMP: (5/14/02) Busses number downward by default.

BUG: (5/14/02) NCC assigns the same name to each node when forcing a random match.
FIX: In "netdiff.c:net_findamatch()", search the parent of the node for other names,
     not the top-level facet.

IMP: (5/14/02) When NCC reports size errors, it shows the percent of error.

IMP: (5/14/02) Cycling through errors now wraps around the end of the list.

IMP: (DN, 5/14/02) Remove unused code inside USETK.

BUG: (5/13/02) When going up the hierarchy, if there is ambiguity, doesn't show cell view or version.
FIX: In "usrnet.c:us_pickhigherinstance()", use "describenodeproto()" to list facet name.

BUG: (5/13/02) If a node and an export are selected, cannot run a wire from it.
FIX: In "usrcomcd.c:us_create()", when looking for the port on the selected node, look at
     all highlight objects and be sure to find the right one.

IMP: (5/13/02) Resistance, capacitance, and inductance can now be symbols for SPICE output.

BUG: (DN, 5/13/02) "getval" in language interpreters gives incorrect value of Boolean variables.
FIX: Add "VBOOLEAN" tag to "global.h" and anywhere

IMP: (DN, 5/13/02) TCL interpreter from system libraries is used instead of compiling from sources.

IMP: (DN, 5/12/02) Messages window (on Qt) is now colored similar to edit windows.

BUG: (5/10/02) DRC still complains about active spacing across facet boundaries.
FIX: In "drcbatch.c", crop all active arcs against connected transistors.

BUG: (5/9/02) Macintosh cannot display a popup menu if the mouse is up.
FIX: In "graphmac.c:graphicshas()", check for mouse state before deciding.

IMP: (5/8/02) SPICE no longer emits an extra Options card for HSPICE.

BUG: (5/8/02) Changes to technology may invalidate design rules and give no warning.
FIX: In "io.c:io_fixtechlayers()", improved code to work with node sizes, and updated tables.

IMP: (5/8/02) "DRC Rules" dialog now lets you edit the minimum node sizes.

BUG: (5/8/02) "Check and Repair Libraries" reports that facets have the wrong technology.
FIX: In "dbmath.c:whattech()", if nothing else can be determined, set the facet to be
     "schematic" if there are icons in it.

BUG: (5/7/02) The string "1e-6" is not known to be a number.
FIX: In "dbtext.c:getsimpletype()", accept "e" as well as "." in floating point numbers.

IMP: (5/7/02) NCC now looks at all node names up the hierarchy when disambiguating.

IMP: (5/7/02) SPICE now has option to use facet parameters in SUBCKT declarations.

BUG: (5/3/02) Menus don't work when compiled on Windows with Visual Studio .NET
FIX: In "graphpcmainframe.cpp:OnMenuSelect()", 3rd parameter is now a CMenu* and must
     be treated so (possible Microsoft bug).

IMP: (5/2/02) Messages window (on Windows) is now colored similar to edit windows.

IMP: (5/1/02) Closing a library now gives a message saying that it happened.

BUG: (5/1/02) Selecting two nodes and an export means you can't use "create" to wire them.
FIX: In "usrhigh.c:us_gettwoobjects()", find two selected objects, ignore the rest.

BUG: (4/30/02) NCC doesn't notice minor changes to subfacets.
FIX: In "netdiff.c:net_nccalreadydone()", use a recursive calculation of the latest
     revision date.

BUG: (4/30/02) NCC doesn't pick a proper size for disambiguation.
FIX: Rewrote "netdiff.c:net_findcommonsizefactor()".

BUG: (4/29/02) Macintosh systems have dates that are off by 4 years from other systems.
FIX: In "graphmac.c:machinetimeoffset()", must consider that MSL uses different epoch.

BUG: (4/28/02) Polygon merging reports loops and doesn't work right.
Fix: In "dbmerge.c:db_mergeaddintersectionpoints()", compute "ylist" size according to whether
     or not the merge is between two or one polygon, and also update point lists properly.
     In "db_mergelinesintersect()", consider intersections when lines are parallel.

IMP: (4/25/02) "Define attributes" dialog now defaults to sensible settings for new attributes.

BUG: (4/25/02) Moving multiple instances that are integrally tied may crash.
FIX: In "usrnet.c:us_manymove()", use "modifynodeinsts()" to move all nodes at once.

BUG: (4/25/02) When "Change"ing one facet instance to another, if they are the exact same
     size but the original is off-grid, the new one will be (erroneously) aligned.
FIX: In "dbnoproto.c:replacenodeinst()", do not align the new node if the size is the same.

IMP: (4/25/02) Waveform window shows delta Y values.

BUG: (4/25/02) Multiline text areas in UNIX dialogs don't get read back properly.
FIX: In "graphunixx11.c:DiaGetText()", fixed multiline messages.

BUG: (4/25/02) Cannot change parameters from the "get info" dialog.
FIX: In "usrmisc.c:us_addparameter()", only use "descript" if nonzero.

BUG: (4/24/02) When a circuit is checked into project management, cannot go down the hierarchy.
FIX: In "projecttool.c:proj_newvariable()", in the VNODEPROTO case, allow changes to
     "us_descent_path_key" and "us_descent_view_key".

BUG: (4/24/02) Specialized dialogs for resistance, capacitance, etc. may crash if the
     value is in a nonstandard location.
FIX: In "usrdiacom.c:us_resistancedlog()", "us_capacitancedlog()", and "us_inductancedlog()"
     do not use "var->key" but instead use the proper key.

BUG: (4/24/02) If there are unassociated and ambiguous results in NCC, only one set is reported.
FIX: In "netdiff.c:net_analyzesymmetrygroups()", must report either set that is valid.

BUG: (4/14/02) If objects from multiple facets are selected (such as when reporting
     errors from NCC), "Focus on Highlighted" doesn't work right.
FIX: In "usrhigh.c:us_getareabounds()", do not use the value of "i" to determine whether
     this is the first object whose bounds are being accumulated.

BUG: (4/23/02) Project management retracts a change twice when made to a facet that is not
     checked-out.
FIX: In "projecttool.c:proj_slice()", surround the loop that calls "undoabatch()" with
     setting and resetting of "proj_ignorechanges".

BUG: (4/23/02) Going "down hierarchy" into a piece of facet text crashes.
FIX: In "usrhigh.c:us_getallhighlighted()", only consider node text, not facet text.

IMP: (4/23/02) Polygon merge package is now reorganized to use an opaque object that
     packages all global memory used by the module.  Also allows two groups of merged
     polygons to be merged.

BUG: (4/22/02) If a change is made just after a facet is checked into project management,
     the undo to remove the change also undoes the lock on the facet.
FIX: In "projecttool.c:proj_endwritingprojectfile()", call "noundoallowed()".

BUG: (4/22/02) May crash when building a new project-management library.
FIX: In "usr.c:us_eraselibrary()", must call "us_removeubchange()" for every facet in the library.

IMP: (4/22/02) Added metal layers 9 to 12.

BUG: (4/22/02) "getval" from interpretive languages may return incorrect values for integers.
FIX: Made all "VSHORT" values into "VINTEGER" where appropriate.

IMP: (4/22/02) Now have "verilog template", similar to "spice template".

BUG: (4/22/02) Schematic transistors sometimes appear with unusual text for length/width.
FIX: In "usrcomtv.c:us_var()", after the comment "get options on how to change the variable"
     add "disppart = 0;"

BUG: (4/22/02) Steiner point blobs are not drawn properly for icons.
FIX: In "tecschem.c:sch_intnodepolys()" and in "dbtechi.c:tech_pinusecount()", must
     include an extra connection if it is being drawn higher-up the hierarchy and there
     are no connections inside of the icon.

BUG: (4/21/02) Crashes when measuring distance.
FIX: In "usrtrack.c:us_distanceinit()", set "us_dragwindow" to "el_curwindowpart".

IMP: (4/21/02) 3D thickness and height can now be floating point values.  "3D Options"
     dialog now lets you type height as well as thickness.  3D viewing now has "t" for
     twist.

IMP: (DN, 4/20/02) "DiaSynchVScrolls()", "DiaUnSynchVScrolls()", "DiaSetTextSize()",
     "DiaAllowUserDoubleClick()" available on Qt.

BUG: (4/19/02) IRSIM only simulates to a fixed time.
FIX: In "irsimanalyzer.c:irsim_InitTimes()", account for displayed time.

BUG: (4/19/02) UNIX popup menus that have too many entries are not displayed.
FIX: In "graphunixx11.c:gra_nativepopuptif()", adjust the number of columns if too high.

IMP: (4/18/02) Multiprocessor DRC now available.  Created thread and mutex hooks for
     all platforms.  Rebuild many systems to NOT use globals (such as the infinite string
     package and all allocation routines that save instead of freeing).

IMP: (4/12/02) Created routines to obtain all polygons at once (instead of a count/iteration
     routine).  This is needed by parallel DRC.
     Created "allnodepolys()" to replace "nodepolys()/shapenodepoly()".
     Created "allnodeEpolys()" to replace "nodeEpolys()/shapeEnodepoly()".
     Created "allarcpolys()" to replace "arcpolys()/shapearcpoly()".
     Created TECHNOLOGY->allnodepolys, allnodeEpolys, allarcpolys
     Created data structure POLYLIST
     Created helper routines ensurepolylist(), freepolylist()

BUG: (4/11/02) When a wire runs from a node to itself, deleting that node (or doing a
     "Cleanup Pins Everywhere" may crash.
FIX: In "usrnet.c:us_erasepassthru()", ignore arcs that have both ends on the same node.

IMP: (4/11/02) "Check and Repair libraries" now checks facet dates for sensibility.

IMP: (4/11/02) Made names of bottom diffusion port in transistors consistent (some
     ended in "-bot" and others in "-bottom".  Converted "mocmos:N-transistor",
     "cmosdodn:Tran_N+", "mocmosold:D-Transistor", and "mocmossub:N-Transistor".
     All use later form now.

IMP: (4/11/02) Added "DiaGetNumScrollLines()" to report the number of lines in a dialog's
     scroll list.

IMP: (4/11/02) In the EMACS-like text editor, can now insert CR or type ^O anywhere.

IMP: (4/11/02) When moving objects, shows displacement.

IMP: (4/10/02) DRC sped up considerably by precaching the possible interactions between
     layers and node/arc prototypes.  A given layer now only needs to be checked against
     those nodes and arcs that have any possibility of interacting with that layer.

BUG: (4/10/02) Technology editor doesn't compute serpentine rules properly.
FIX: In "usredtecp.c:us_tecedmakenodes()", compute actual edge placement from
     "mul" and "sum" rather than assuming the "mul" value and using only the "sum".

IMP: (4/8/02) Added "Tools/Simulation/Save Vectors as SPICE commands" to dump ALS or
     IRSIM test vectors as a SPICE command file.

BUG: (4/8/02) Making busses in the simulation window can cause the window to become unstable.
FIX: In "simwindow.c:sim_window_makebus()", build "mintime" and "maxtime" of the new bus
     from the component signals.

IMP: (4/5/02) Multi-object "Get Info" can now change export characteristics.

IMP: (4/5/02) Mimic stitching sped up.

IMP: (4/5/02) Cross-library copy now aligns the facet names with the libraries better.

BUG: (4/5/02) On UNIX, component menu shrinks unnecessarily.
FIX: In "graphunixx11.c:getpaletteparameters()", do not subtract top from height.

BUG: (4/5/02) On UNIX, using Athena widgets, cannot cancel a file input dialog.
FIX: In "graphunixx11.c:fileselect()", after the termination of the dialog, clear
     "gra_curpath" if cancelled.

BUG: (4/5/02) SILOS output doesn't handle hierarchy right when there are icons.
FIX: In "simsilos.c:sim_writesilinstances()", in the "SILOSFACET" case, must switch
     from icon to contents and handle export equivalences.

BUG: (4/5/02) Small steiner points and other circles are drawn irregularly.
FIX: In "usrwindow.c:us_showpoly()", clip DISC size only to 0, not MINDISCSIZE.
     Also, compute radius for DISC and CIRCLEs by computing difference before scaling.
     In "graphdraw.c:gra_drawdisc()", fill in discs of radius 1.

IMP: (4/4/02) "Change Current Library" now highlights the current library in the list.

BUG: (4/4/02) Export names may get corrupted when reexporting them.
FIX: In "dbtext.c:namesamenumeric()", when saving characters to truncate strings,
     restore them in the reverse order they are created in case the two strings are equal.

IMP: (4/4/02) Parameters can now be set to show only value, and not name.

IMP: (4/3/02) Added "DiaSynchVScrolls()" to synchronize two scroll lists.  Use it in NCC Preanalysis.

BUG: (4/3/02) MOCMOS well and substrate contacts need only 3 lambda of well surround, not 6.
FIX: (TECHNOLOGY CHANGE!) Modified technology in "tecmocmos.c".  Before, rule 6.2 set
     the surround of well about active to 6 lambda for the substrate and well contacts.
     This is now changed to 3.

BUG: (4/3/02) MOCMOS active contacts should have a well surround of 5 lambda in SCMOS, not 6.
FIX: (TECHNOLOGY CHANGE!) Modified technology in "tecmocmos.c".  Before, rule 2.3
     was properly used to change the well surround to 5 in the SCMOS rule set.  However,
     implementation of rule 6.2 overrode this computation.  Now rule 6.2 has checks
     for the process type as well.

IMP: (4/3/02) "Up Hierarchy" creates new window if a choice is necessary.

IMP: (4/3/02) When a facet instance from another library is selected, "Change..."
     offers that library as the default list.

BUG: (4/2/02) When an arc covers a node, both it and the node get cropped which
     allows DRC errors to go unnoticed.
FIX: In "drcbatch.c:drcb_checkdist()" do not call "drcb_cropnodeagainsarcs()".

BUG: (4/2/02) NCC does not consider size tolerance when disambiguating.
FIX: In "netdiff.c", redid size ambiguity resolution to use tolerances.

IMP: (4/2/02) Removed MOSIS rule 6.7b from consideration, MOSIS agrees it can be ignored.

IMP: (4/1/02) All NCC functions are now combined into one command, "NCC Control and Options..."
     which shows a dialog for NCC, options, and preanalysis.

BUG: (4/1/02) May crash after deletion of multiple exports.
FIX: In "usrcomek.c:us_erase()", after call to "us_undoportproto()", do not call
     "us_addhighlight()".

BUG: (4/1/02) Area-select of exports doesn't work right.
FIX: In "usrhigh.c:us_selectarea()", when searching for exports in the area, set
     "newhightext.fromport" to "pe->exportproto", and not "ni->firstportexpinst->exportproto".

BUG: (4/1/02) IRSIM simulator cannot be run more than once reliably.
FIX: In "irsimanalyzer.c:irsim_freeanalyzermemory()", set "irsim_inputparametertotal" to 0.
     In "irsimnetwork.c:irsim_init_listTbl()", set globals "irsim_hinputs", "irsim_linputs",
     "irsim_uinputs", "irsim_xinputs", "irsim_infree" to NULL.
     Created "irsimeval.c:irsim_init_eval()" to initialize globals in that module.
     Created "irsimfaultsim.c:irsim_init_faultsim()" to initialize globals in that module.
     Modified "irsimhist.c:irsim_init_hist()" to initialize globals in that module.
     Created "irsimincsim.c:irsim_init_incsim()" to initialize globals in that module.
     Created "irsimnewrstep.c:irsim_init_newrstep()" to initialize globals in that module.
     Created "irsimrsim.c:irsim_init_rsim()" to initialize globals in that module.
     Created "irsimsched.c:irsim_init_sched()" to initialize globals in that module.
     Created "irsimstack.c:irsim_init_stack()" to initialize globals in that module.
     Created "irsimtpos.c:irsim_init_tpos()" to initialize globals in that module.

BUG: (4/1/02) Point-and-click text editor crashes if selection auto-scrolls to the top.
FIX: In "usreditpac.c:us_editpacdoclickdown()", do not "l" become negative.

IMP: (3/31/02) Added thread routines: enumprocessors(), enewthread(), emakemutex(),
     emutexlock(), emutexunlock().

IMP: (3/31/02) NCC now uses full 64-bit random values.  Also uses net/component count
     as a checksum to detect hash-code clashes.

IMP: (DN, 3/30/02) Clean unused field "backupto" from "COMCOMP".

BUG: (3/29/02) When creating an icon, facet parameters are not placed on the instance.
FIX: In "usrcomcd.c:us_create()" in the "create icon" code, call "us_inheritattributes()"
     after creating the instance.

BUG: (3/29/02) Parameter evaluation does not work right if you have descended in two
     different ways (for example, using "Down Hierarchy" to go down some levels, and then
     doing some analysis that goes further down).
FIX: In "dbnoproto.c:gettraversalpath()", must examine user-traversals even if there is
     an internal traversal sequence.  Also do not check the instance type after including
     it in the path.

BUG: (DN, 3/28/02) Fast typed consequent keys are lost in Full Input Dialog on Qt because of
     "DiaCharacterEdit" hack.
FIX: "usrparse.c:ttygetfullparam" is implemented without "DiaCharacterEdit".

IMP: (DN, 3/28/02) "nativemenurename" creates menu from scratch in Qt so it can handle change of menu size.

IMP: (3/27/02) "Change Text Size" now allows you to change all facets with a particular
     view.

IMP: (3/25/02) When placing an instance that has parameters, the displayable part of
     the parameter (name&value or just value) is also copied from the instance in the
     contents.

BUG: (3/25/02) On Macintosh, cannot save a history of library files.
FIX: Filled in "graphmac.c:erename()" and "graphmac.c:eunlink()".

BUG: (3/25/02) On Macintosh, messages window location is only saved when the window
     is grown, not moved.
FIX: In "graphmac.c:gra_dragfloatingwindow()", call "gra_savewindowsettings()" when
     changing the messages window bounds.

IMP: (3/25/02) Modified "TECH_SERPENT" to have different poly extension for
     serpentine transistors on either end.

BUG: (3/25/02) Internal variables may have random units built into them.
FIX: In "usrparse.c:us_fleshcommand()", clear the "textdescript" field when building
     a pseudo-variable from the results of "us_evaluatevariable()".

BUG: (3/25/02) SPICE deck generator crashes if an icon port has no equivalent in the
     contents.
FIX: In "simspice.c:sim_spicewritefacet()", check the result of "equivalentport()".

IMP: (3/25/02) NCC now prompts before running if there are obvious errors.  Checks
     power and ground nets to see that the have the same number of components.  Displays
     preanalysis in a dialog so clicking can show parts (and lets you see only places
     where the numbers are different).

BUG: (DN, 3/25/02) Spaces are still lost on Qt in messages window, because "QTextEdit scroll"
     treats them as commands.
FIX: In "graphqt.cpp:MessagesMainWindow::eventFilter" spaces are ignored before sending to
     "scroll", so that Qt passes them to MessagesMainWindow::keyPressEvent later.

BUG: (DN, 3/25/02) Compilation fails on Qt, because enum and int are not compatible on C++.
FIX: Change 0 to KUNKNOWN in static initialization ioedifo.c:edif_keywords.

IMP: (3/22/02) EMACS text editor supports arrow keys.

BUG: (3/22/02) Verilog netlister aggregates multiple signals into a bus, but only
     considers the indices, thus merging different busses together.
FIX: In "simverilog.c:sim_verwritefacet()" consider bus names, too.

IMP: (3/22/02) Multi-object "Get-info" shows the range of values that can be set.

IMP: (3/22/02) When "Close Library" fails, it now better explains why.

BUG: (3/22/02) Cannot add lines to an EMACS text buffer that are more than 1 line
     past the end of the text.
FIX: In "dbvars.c:db_insindvar()", allow insertion anywhere, not just one larger.

BUG: (3/22/02) Shape of "Join" node's port in Schematics technology is wrong.
FIX: In "techschem.c:sch_wirecon_p[]" swap "BOTIN0H" and "TOPIN0H".

IMP: (3/21/02) Waveform window has concept of "current frame" when analog.
     Waveform window shows warning when no signals are present.
     Waveform window allows "delete" key to remove signals.

IMP: (3/21/02) Can use "window zoom" button ("shift-meta-right") in SPICE waveform window.

IMP: (3/21/02) Analog waveform display no longer takes values scaled from 0 to 1:
     In "simwindow.c", removed use of "sim_window_anarange" (2 places).
     In "simspicerun.c", removed use of "sim_spice_highy" and sim_spice_lowy" from
     "sim_spice_val" computation (5 places).

BUG: (DN, 3/21/02) Lutz Morawietz reports that compilation of Electric on Qt fails in
	"graphqt.cpp:filesindirectory()" near "readdir_r".
FIX: Use "QDir" class for scanning files.

BUG: (DN, 3/21/02) Translation dialog hangs after error message.
FIX: Add "DiaDoneDialog" before error return in "usrtranslate.c:us_translationdlog".

BUG: (DN, 3/21/02) Keyboard events are lost on Qt on some window managers.
FIX: Add "setFocusPolicy( QWidget::StrongFocus )" to routine
	 "graphqt.cpp:GraphicsDraw::GraphicsDraw( QWidget *parent )".

BUG: (3/20/02) Area and perimeter calculations in "Tools/Logical Effort/Analyze Network"
     includes gate twice.
FIX: In "logeffort.c:le_analyzenetwork()", exclude "transistor-poly" from "polysilicon-1".

BUG: (3/20/02) Auto-router ignores the prefered arc if it is a different technology from
     the destination node, even if connectivity is allowed.
FIX: In "routauto.c:ro_checkstitching()", disable technology check for prefered arc.

IMP: (3/18/02) Implemented electrical units for resistance, capacitance, and inductance.

BUG: (3/18/02) Going up the hierarchy to an old version of an icon shows the wrong port.
FIX: In "usrcomoq.c:us_outhier()", when the instance is not the same type as the
     lower-level facet, simply use the instance type in "equivalentport()", not the
     "iconview()" result.

BUG: (3/18/02) Typing a floating-point number into an in-place edit doesn't work.
FIX: In "usrmisc.c:us_editvariabletextreplacetext()", always treat new value as a
     string, and in "us_editvariabletext()", recompute type when done typing.

BUG: (3/18/02) NCC Preanalysis crashes if networks have too many names.
FIX: In "netdiff.c:net_dumpnetworks()", do not use the "line" array for the
     results of "net_describepnet()".

BUG: (3/17/02) Technology libraries cannot be saved and restored as readable dumps.
FIX: In "iotexto.c:io_makestring()" and "io_makestringvar()", must handle VSHORT.
     In "iotexti.c:io_getvar()" and "io_decode()", must handle VSHORT.

IMP: (3/17/02) Technology editor now handles layer deletion better (cleans up DRC,
     makes deleted layer usage more clear).

IMP: (3/17/02) "Change Units" now gives additional warning before changing lambda values.

IMP: (DN, 3/17/02) PADS, ECAD & EAGLE output warns user if attributes 'ref_des' and 'pin'
     are missing.

IMP: (3/15/02) In NCC, unassociated but unused networks are not errors, just warnings.

IMP: (3/15/02) "Facets / Facet Information / List Facets not used by this" shows all
     facets not used below the current one.

BUG: (3/15/02) Icon facets may be considered to be "artwork technology" even if they
     are created from, and used by schematics.
FIX: In "dbmath.c:whattech()", look at contents facet when computing technology.
     Also, consider the schematics technology after layout but before others.

BUG: (3/15/02) When a cross-library reference fails, the referenced library is created.
FIX: In "iobinaryi.c" and "iotexti.c", keep track of failed libraries and delete them.

IMP: (3/15/02) "Show Libraries" now explains failed cross-library dependencies, too.

BUG: (3/15/02) Crashes when "Change..." fails.
FIX: In "usrcomrs.c:us_replace()", when replacement fails, highlight "ni", not "onlynewno".

BUG: (3/14/02) Technology editor doesn't recognize layer pattern squares.
FIX: In "usredtecc.c:us_teceditgetlayerinfo()", look for nodes with the appropriate
     technology-edit relevance, not those that are 2000x2000.

BUG: (3/14/02) The Array command doesn't let you use "Characteristic Spacing" if it
     was ever off (Mac only).
FIX: In "usrdiacom.c:us_arraydlog()" be sure to re-enable (DiaUnDimItem) the button.

BUG: (3/14/02) Going down into an old icon and then back up doesn't work.
FIX: In "dbnoproto.c:descentparent()", must check all versions of icon for validity.

IMP: (3/14/02) "Change" now has checkboxes to allow primitives and/or facets to be shown.

BUG: (3/14/02) Crashes when two facet variables are selected with "click" and "shift-click".
FIX: In "usrtrack.c:us_finddoibegin()", in the "shift-click" case, set "newhigh.facet"
     to "getcurfacet()".

BUG: (3/14/02) Generalized and specialized "get info" dialogs on capacitors destroy
     code expressions on capacitors.
FIX: In "usrdiacom.c:us_capacitancedlog()" and "us_getinfonode()" must save initial string
     and be sure it changed before updating value.

BUG: (3/14/02) Thick circles lose their thickness when stretched into ellipses.
FIX: In "tecart.c:art_fillellipse()", use proper graphics for ellipses.

IMP: (3/14/02) "Translation" dialog can now do search.

IMP: (3/13/02) Java (with the Bean shell) now allows "@parameter" instead of P("parameter").

IMP: (3/13/02) "Erase" now reconnects arcs connected to facet instances.

IMP: (3/13/02) "Select All Like This" can handle multiple things that are selected.

BUG: (3/13/02) Readable-dump libraries may be saved with the "library changed" bit
     and restored in that state.
FIX: In "iotexti.c:io_doreadtextlibrary()", move the clearing of "LIBCHANGEDMAJOR"
     and "LIBCHANGEDMINOR" bits to the end.

IMP: (3/13/02) "Check and Repair Libraries" no longer complains about old,
     unused icons with unmatched exports.

IMP: (3/13/02) IRSIM and ALS waveform windows can remove multiple signals.

BUG: (3/12/02) Crash during library input.
FIX: In "iobinaryi.c:io_doreadlibrary()", when fixing external variables on tools,
     check for null tool.

BUG: (3/12/02) International version doesn't display component menu properly.
FIX: In "dbtext.c:getecolor()", translate the parameter.

BUG: (3/12/02) Double-clicking on a 4-port schematic transistor does not show the
     specialized dialog.
FIX: In "usrdiacom.c:us_getinfonode()", handle specialized dialog for both types of
     primitives and functions.

IMP: (3/12/02) SPICE options let you set the SPICE command to execute.

IMP: (3/12/02) SPICE waveform viewer displays better, can remove multiple signals.

BUG: (3/12/02) Foreign-language versions of Electric have dialogs that are too wide.
FIX: In "graphXXX.c:DiaInitDialog()", do better computation of dialog item position.

IMP: (3/11/02) Java class names are now capitalized.

IMP: (3/11/02) Transistors with only length or width, but not both, now presume 2 for the
     other dimension.

IMP: (3/11/02) SUE input handles "u" on size variables (length/width) properly.

BUG: (3/11/02) SUE input places variables incorrectly.
FIX: In "iosuei.c:io_suereadfile()", move the computation of "varoffset" to just after
     setting "varindex" to 1.

IMP: (3/11/02) "NCC Options" has new checkbox: "Show 'NCCMatch' tags" to control visibility.

IMP: (3/11/02) Added new Java methods: "nodeProtoSizeOffset" and "arcProtoWidthOffset".

BUG: (3/7/02) Moving selected text and its node moves it twice.
FIX: In "usrhigh.c:us_moveselectedtext()", also look at the list of objects being
     moved and do not move text if it is on one of them.

BUG: (3/7/02) PostScript output is done in the wrong order.
FIX: In "usrdisp.c:us_writeprotoname()", and "us_drawnodeinst()" set "poly->layer" to -1
     when the polygon is not associated with a layer.  In "usr.c:us_request()"
     in the "display-to-routine" code, call "us_redisplaynow()" with FALSE, not TRUE, and
     then call "us_endchanges(el_curwindowpart);".  In "iopsout.c:io_pspoly()", check
     that the polygon is for the current technology before looking at permissible layers.
     In "usrwindow.c:us_queueopaque()", put current technology at the start of the list,
     things in other technologies at the end of the list.

BUG: (3/7/02) Encapsulated PostScript output may be wrong if EPS scale accidentally set to 0.
FIX: In "iopsout.c:io_pswritefacet()", ignore zero EPS scale factors.

BUG: (3/6/02) Crashes when undoing a menu change.
FIX: In "dbchange.c:db_reversechange()", in the VARIABLEMOD case, before the call to
     "setindkey()", add this code:
		if ((c->p3&(VCODE1|VCODE2)) != 0 || (c->p3&VTYPE) == VSTRING)
		{
			char *storage;
			(void)allocstring(&storage, (char *)oldval, db_cluster);
			oldval = (INTBIG)storage;
		}

BUG: (3/6/02) Replacing an entire pulldown menu (resizing it) doesn't work.
FIX: In "usrcomln.c:us_menu()", must replace all references to the menu with a
     call to "us_recursivelyreplacemenu()".

IMP: (3/6/02) Errors during library input now name the library file.

IMP: (3/6/02) SPICE now writes "include" commands for facets described by a disk file.

BUG: (3/6/02) Changing a pulldown menu entry into a separator doesn't work.
FIX: In "usr.c:us_setcommand()", when unbinding, always free "rb->message".

BUG: (3/5/02) DRC gives erroneous active spacing error when two transistors bend.
FIX: (TECHNOLOGY CHANGE!) Modified technology in "tecmocmos.c".  Before, the Active area
     of a transistor was broken into two pieces for DRC purposes: each piece being on one
     half of the transistor.  The two pieces met in the middle.  Because of this, it was
     possible for the middle ground to be too close to some other object.
     Also, the polysilicon part of a transistor used to be all 1 piece, called "transistor-poly"
     which is treated differently than field-poly.  The problem here is that this poly
     includes the "tabs" of poly sticking out of the gate, which are not transistor-poly.
     Now, the Active area is in two pieces, but they stop at the gate edge.  There are three
     pieces of poly defined: transistor-poly that is only in the crossing area, and two plain
     poly (field poly) that convers only the tabs.
     The only detail associated with this is rule 5.4, which used to measure poly-cut to
     active, and now measures poly-cut to transistor-poly.
     An additional detail that needs to be handled is the routine "logeffort.c:le_analyzenetwork()"
     which handles the "Tools/Logical Effort/Analyze Network" command and must accumulate gate
     area properly.

IMP: (3/5/02) SPICE deck generation now considers "PSpice", uses "0" instead of "gnd"
     for SPICE2/3, and does not use ".global" for SPICE2/3.

IMP: (3/5/02) SPICE waveform window now shows tick marks on the Y axis of analog waveforms.

IMP: (3/4/02) SPICE Options lets you choose the set of primitives to use.

BUG: (3/4/02) Parameter evaluation does not work when the same variable name is used
     at different levels of hierarchy.
FIX: Created "getpopouthierarchy()" and use it in "dbvars.c:getparentvalkey()" to
     make sure that the proper level of the hierarchy is being examined.

BUG: (3/4/02) Color changes do not get saved with other options.
FIX: In "usr.c:us_do3init()", move call to "us_getcolormap()" up to just before
     reading the options.

BUG: (2/28/02) Removing a bus from the IRSIM waveform window doesn't redraw the individual
     signals right.
FIX: In "irsimanalyzer.c:irsim_charhandlerwave()", must give position numbers to the bus
     signals when the bus is removed.

BUG: (2/28/02) Preserving a snapshot of the simulation window doesn't work right.
FIX: In "simwindow.c:sim_window_savegraph()", must set "y_max" after setting "y_min".

BUG: (2/28/02) Removing a signal from the IRSIM waveform window is slow.
FIX: In "irsimanalyzer.c:irsim_charhandlerwave()", removed call to "irsim_UpdateWindow()"
     in "r" case.

BUG: (2/28/02) When removing a signal from the waveform window, others don't grow to fill the window.
FIX: In "simwindow.c:sim_window_setlines()", set "sim_window_vislines" if appropriate.

BUG: (2/28/02) SPICE waveform window may rearrange colors of signals.
FIX: In "simwindow.c", set "tr->color" in "sim_window_loadanatrace()" instead of in
     "sim_window_drawgraph()" and "sim_window_savegraph()".

IMP: (2/28/02) SPICE waveform window now remembers signal order, allows 'r' to remove signals
     from schematic side; allows multiple copies of a signal to appear, allows vertical
     scale adjustment to work on a single signal, can select signals by clicking on the
     actual waveform, value of currently selected signal at cursor time is displayed.

BUG: (2/28/02) Multiple exports get created in the wrong order if they are multidimensional.
FIX: In "dbtext.c:namesamenumeric()", must check for numeric index entries.

IMP: (2/27/02) Created Logical Effort "load" symbol for better declaration of capacitances.

IMP: (2/27/02) "Change Units" now lets you specify default electrical units for
     resistance, capacitance, inductance, current, and voltage.

BUG: (2/27/02) Overwrites read-only library files.
FIX: Modified "graphxxx.c:fileexistence()" to report read-only files, and avoid overwriting
     libraries of this type.

BUG: (2/27/02) Crashes if facet variable is deleted.
FIX: In "usrcomek.c:us_erase()", change:
		if (high.fromgeom == NOGEOM) continue;
		np = geomparent(high.fromgeom);
     to:
		np = high.facet;

BUG: (2/26/02) Windows printing always prints the displayed facet, even if "entire
     facet" is selected.
FIX: In "graphpccode.cpp:gra_printwindow()", redraw facet properly in the offscreen buffer.

IMP: (2/26/02) Windows printing and copying now has an option to use a higher-resolution
     offscreen buffer, for better quality.

BUG: (2/26/02) Lambda unification doesn't work right.
FIX: In "io.c:io_unifylambdavalues()", only adjust lambda if requested.

IMP: (2/25/02) HSPICE plotting now looks for ".pa0" file and does proper name substitution.

BUG: (2/25/02) Auto-stitching fails sometimes.
FIX: In "routauto.c:ro_checkstitching()", the 4 tests on the call to "samelayer()"
     should "continue" and not "break".

BUG: (2/25/02) Hierarchical interpretive language evaluation returns the wrong value.
FIX: In "dbvars.c:evalvar()", must cache many static variables, not just 1.

************************* Version 6.05: Released 2/19/02 *************************

BUG: (2/24/02) Loops infinitely when converting library to technology with a unique name.
FIX: In "usrdiacom.c:us_libtotechnologydlog()", change the block of code after the line
     "if (itemHit == OK)" from:
		if (conflicts)
			if (DiaValidEntry(DLTT_RENAME)) break;
		continue;
     to:
		if (conflicts)
		{
			if (!DiaValidEntry(DLTT_RENAME)) continue;
		}
		break;

IMP: (2/22/02) Java interpreter now distingushes between "void" values and errors.

IMP: (2/22/02) Removed caching for unused variable "FACET_parameter".

BUG: (2/22/02) Auto-stitching doesn't work right.
FIX: In "routauto.c:ro_testpoly()", fix calls to "nonpseudolayer()" to use "opoly", not "poly".

BUG: (2/22/02) IRSIM deck generation may crash.
FIX: In "simirsim.c:sim_irsimaddarctomerge()", change the line:
		tot = arcpolys(ai, 0);
     to:
		tot = arcpolys(ai, NOWINDOWPART);

BUG: (2/22/02) VHDL compiler crashes if it sees unusual characters (high bit, negative)
FIX: In "vhdl.c:vhdl_identfirsthash()" and "vhdl_identsecondhash()", mask the results
     of "vhdl_toupper()".

BUG: (2/22/02) Point-and-click editor does not show unusual characters.
FIX: In "usreditpac.c:us_editpacimplementchar()", remove restriction on what is
     a "normal" character.

BUG: (DN, 2/18/02) Xft antialiasing font works bad in Electric on Qt because of SetPlaneMask trick.
FIX: "setStyleStrategy( QFont::NoAntialias )" is added in "graphqtdraw.cpp::gra_createtextfont()" and
     in "graphqt.cpp:EApplication::EApplication()". This disables antialiasing on Qt-3.
     On Qt-2 antialising can be disabled only by setting environment variable "QT_XFT=0".

BUG: (2/15/02) Encapsulated PostScript scale is incorrect.
FIX: In "iopsout.c:io_pswritefacet()", modified "epsformat" code to be consistent
     with regular PostScript.

BUG: (2/15/02) "Unexpand" may take a very long time.
FIX: In "usrcomln.c:us_node()", do the "startobjectchange/endobjectchange"
     at the top level of expansion/unexpansion instead of in "usrnet.c:us_doexpand()"
     and "us_dounexpand()"

IMP: (2/15/02) Pad frame generation now grid-aligns the central core facet.

BUG: (2/15/02) PostScript font setting doesn't work.
FIX: In "iopsout.c:io_pswritefacet()", change the emitted PostScript from
     "/DefaultFont findfont" to "DefaultFont findfont".

BUG: (2/14/02) Deleting an arc inside a schematic facet may not properly renumber
     the icon instances.
FIX: In "network.c:net_killobject()", renumber above if deleted arc is connected to
     an export.  In "net_recursivelymarkabove()", consider icons, too.

BUG: (2/13/02) "Re-export" commands do not assign names in the proper order.
FIX: In "usrcomoq.c:us_port()", sort export names (same as for the "Array" command).

IMP: (2/13/02) When NCC checks recursively, it now warns when the top level has matched
     but some subfacets have failed to match.

BUG: (2/13/02) NCC crashes if an icon export has no equivalent in the contents.
FIX: In "netflat.c:net_buildpseudo()", check results of all calls to "equivalentport()".

BUG: (2/12/02) Boxed text shows wrong highlight and selects incorrectly.
FIX: Created "usrnet.c:us_gettextscreensize()" that accounts for boxing, and use it in
     "usrnet.c:us_filltextpoly()" and "usrhigh.c:us_gethightextsize()".

BUG: (2/12/02) Copying facet instances doesn't preserve the text on their unexpanded boxes.
FIX: In "usrnet.c:us_copylisttofacet()", copy the "textdescript" field on nodes.

BUG: (2/12/02) "Delete exports on highlighted" crashes if an area is selected.
FIX: In "usrhigh.c:us_gethighlighted()", use "geom" instead of "high.fromgeom"
     in places where searching an area.

BUG: (2/12/02) If key bindings have changed, first library (on UNIX command line)
     appears to have changed the bindings.
FIX: In "usrmisc.c:us_adjustquickkeys()", must construct new line right if it
     is checked and quick-key bound.

BUG: (2/12/02) If a library references another, and they have nonstandard lambda
     values, then the other library is marked "changed".
FIX: In "io.c:io_unifylambdavalues()", preserve library dirty information when
     changing lambda values.

IMP: (2/12/02) If a second SPICE plot is requested, and the waveform is gone but
     the "schematic" is present, terminates the simulation state.

BUG: (2/12/02) "Show Ports on Node" does not work right when editing "in place".
FIX: In "usrdisp.c:us_identifyports()", account for in-place editing.

IMP: (2/11/02) Verilog globals now have the proper "supply0/supply1" type if they
     are power or ground.

BUG: (2/11/02) Grid can be drawn too densely.  Draws incorrectly when switching facets
     to one in a different technology.
FIX: Changed "gridx/gridy" to use fractional values that are converted to lambda only
     when grid is drawn.  In "usrdisp.c:us_gridset()", turn off grid sooner.

BUG: (2/11/02) "Down Hierarchy In Place" draws incorrectly.
FIX: In "usrwindow.c:us_erasewindow()", must account for drawing "in place".

BUG: (2/11/02) Crashes when last waveform is removed from the window.
FIX: In "simwindow.c:sim_window_redisphandler()", check for zero number of lines.

BUG: (2/11/02) SPICE waveform viewer gives incorrect help for '0' and '7' keys.
FIX: Change "vertical" to "horizontal".

BUG: (2/11/02) Using "Window/Left", "Right", "Up" and "Down" in waveform shifts by
     incorrect amounts.
FIX: In "usrcomwz.c:us_window()", in the "left", "right", "up", and "down" cases,
     do not specify the shift amount.

IMP: (2/11/02) When "Check and Repair Library" finds variable errors, it marks the
     associated libraries for saving.

BUG: (2/10/02) "Up Hierarchy" and "Down Hierarchy" don't work right in IRSIM.
FIX: In "irsimanalyzer.c" now redisplay properly.

BUG: (2/10/02) Spurious errors given about port indices during input.
FIX: In "iobinaryi.c:io_doreadlibrary()", detect circular external library reading
     and do not give errors if port conversion will happen elsewhere.

BUG: (2/8/02) SPICE Options should sets technology information (such as header cards) wrong.
FIX: In "sim.c:sim_spicedlog()", set technology information for the non-schematic technology.

BUG: (2/8/02) Verilog output breaks busses if they are connected to multiple exports
     with different sizes and directions.
FIX: In "simverilog.c:sim_vergetnetworks()", unify direction of all busses.

BUG: (2/8/02) CIF output flags spurious resolution errors.
FIX: In "iocifout.c:io_cifreserror()", must account for node rotation.

BUG: (2/8/02) MOSIS CMOS Multiple contact cuts don't appear properly in all situations.
FIX: In "techmocmos.c:mocmos_drcrules[]", adjusted cut surrounds.

BUG: (2/7/02) "Boxed" text is selectable anywhere in the box.
FIX: In "usrnet.c:us_getnodetext()", compute selection bounds better.

IMP: (2/7/02) Waveform window snapshots look better.

IMP: (2/7/02) Opening a second library now displays the top facet in a new window.

BUG: (2/7/02) Technology editor builds library incorrectly.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", set port name text descriptor.
     Now call "endobjectchange()" properly.

BUG: (2/6/02) DRC size that defines "wide" rules is not saved.
FIX: In "drc.c:dr_rulesdlog()", remove "VDONTSAVE" from storage of the value.

BUG: (2/6/02) ERC does not properly check distance of unconnected well areas.
FIX: In "erc.c:erc_analyzefacet()", number each well area uniquely before assigning
     numbers from the well contacts.

BUG: (2/6/02) Removing a signal from the waveform window doesn't highlight the
     correct next signal.
FIX: In "simwindow.c", renumber undisplayed signals as well as displayed ones.

IMP: (2/6/02) Better reporting of hierarchical DRC errors.

BUG: (2/6/02) Clicking and holding on an object doesn't always show the highlight
     of it quickly.
FIX: In "usrtrack.c:us_multidragbegin()", should show the highlight immediately.

BUG: (2/6/02) Clicking and releasing quickly in a different UNIX window now only
     switches the window but may start a selection.
FIX: In "graphunixx11.c:gra_getcurrentwindowframe()" must return NOWINDOWFRAME if
     the window context switches.

BUG: (2/6/02) DRC misses multi-cut rules (such as 6.7b).
FIX: In "drcbatch.c:drcb_badbox()" consider the multicut state of the parameter "geom".

IMP: (2/6/02) Verilog output now considers default bus direction when writing
     busses that are not explicitly specified (such as in layout).

BUG: (2/6/02) "3D Options" does not save layer height and thickness.
FIX: In "dbtech.c:set3dheight()" and "set3dthickness()", make variables permanent.

IMP: (2/5/02) Facet center nodes are set to be visible inside facet only.

BUG: (2/5/02) Nodes that are "only visible inside facet" are still drawn when "peeked".
FIX: In "usrdisp.c:us_drawall()", ignore such nodes at lower levels.

IMP: (2/5/02) DRC no longer checks circuitry in hidden libraries (such as the clipboard).

BUG: (2/5/02) Pasting text shows no highlight.
FIX: In "usrtrack.c:us_multidragdraw()", draw location of invisible pins necessary.

IMP: (2/5/02) DRC now checks pins that are exported but unconnected.  Gives more
     informative error messages.

BUG: (2/4/02) PostScript exporting may clear the screen.
FIX: In "usrwindow.c:us_erasewindow()", use "us_displayroutine()" to do the clear.

IMP: (2/4/02) NCC now checks for duplicate network names (caused when layout arc
     names are the same but not unified into a single network).

BUG: (2/4/02) SPICE netlister may generate comments that span two lines and continue
     with "+" instead of "*".
FIX: In "simspice.c", added parameter to "sim_spice_xputs()" and "sim_spice_xprintf()"
     to flag comments and continue them properly.

BUG: (2/4/02) Verilog netlister ignores power or ground if multiple ones are found.
FIX: In "simverilog.c:sim_vergetnetworks()", do not clear the power/ground network
     if multiple ones are found.

BUG: (2/4/02) Verilog netlisting does not handle transistors with exports.
FIX: In "simverilog.c:sim_verwritefacet()", look for exports if no arcs are found.

BUG: (2/4/02) Duplicating arc names that are multiply indexed doesn't always work right.
FIX: Improved "usrstatus.c:us_uniqueobjectname()".

BUG: (2/3/02) "Align to Grid" does not work right for transistors.
FIX: In "usrnet.c:us_regridfacet()", use displayed coordinates instead of corner.

BUG: (DN, 2/3/02) Qt command-line options (e.g. -style=windows) cause error report in us_options.
FIX: Move "new EApplication(argc,argv)" from "graphqt.cpp:intgraphics()" to "graphqt.cpp:graphicsoptions()".

IMP: (DN, 2/1/02) "window move-display" command on Qt

IMP: (1/31/02) No longer have 32-bit limit on busses in waveform window.

IMP: (1/30/02) Waveform window now shows sensible time values.

BUG: (1/30/02) Closing a split window on the Macintosh may crash.
FIX: In "graphmac.c:gra_disposeoswindow()" must set WINDOWFRAME fields to zero
     after deallocating.

BUG: (1/30/02) "Layer Visibility" on the Mac or Athena UNIX resets the list to the top
     after each click.
FIX: In "graphmac.c:DiaSelectLines()" and the Athena version in "graphunixx11.c", do not
     redraw the scroll area if setting to a null selection.

BUG: (1/29/02) Can enter zero lambda sizes, causing a crash.
FIX: In "usrdiacom.c:us_lambdadlog()" check for valid lambda.

BUG: (1/29/02) "Cross Library Copy" lists unalphabetized libraries.
FIX: In "usrdiacom.c:us_copyfacetdlog()", sort the library names.

BUG: (DN, 1/27/02) Crash in gra_finddisplays on Linux with '-m', because number of screens is
     less than number of "/dev/fbXX" files.
FIX: In "graphunixx11.c:gra_finddisplays()", check for dpy==NULL.

IMP: (1/25/02) "Change" can now handle it when multiple objects are selected.

IMP: (1/25/02) Changed default Schematic Wire Pin size to 0.5x0.5

IMP: (1/24/02) Expanded facet instances with pins in them (such as icons) consider
     the wires attached at the higher level when determining whether to draw steiner point.

IMP: (1/24/02) The "Icon option" to place a facet center is now gone, replaced by the
     "Facet Options" option to place a facet center.

BUG: (1/24/02) Simulation times are described incorrectly.
FIX: Improved "simwindow.c:sim_windowconvertengineeringnotation()".

IMP: (1/24/02) Multi-object Get-Info now leaves highlighting as it is when manipulated
     in the dialog.

BUG: (1/24/02) Wiring a schematic transistor to itself (source-to-drain) creates
     3 arcs that are badly positioned.
FIX: In "usrarc.c:us_twobend()", ensure that the orientation of the jog is sensible.

BUG: (1/24/02) Exporting from an arc crashes.
FIX: In "usrhigh.c:us_getobject()", must check the type of the selected object.

BUG: (1/24/02) Bus pins on the edge of icons get drawn badly.
FIX: In "dbgeom.c:boundobj()", only wipe out pins if they have no exports.

BUG: (1/23/02) Zero-length arcs with end-extension turned off appear as slivers.
FIX: In "dbtech.c:arcpolys()", ignore such arcs.

BUG: (1/22/02) SUE input doesn't connect things that touch (implicit connections).
FIX: In "iosuei.c:io_sueplacewires()", look for implicit connections.

IMP: (1/22/02) Now can use "text find" on layout.

IMP: (1/22/02) Breaking an arc (by wiring it from the middle) now intelligently
     chooses on which end to place the name and other information.

BUG: (1/22/02) "Erase Geometry" does not preserve arc names.
FIX: In "usrnet.c:us_choparc()", must call "copyvars()" after creating a new arc.

IMP: (1/21/02) CIF resolution errors now go through standard error reporting.

IMP: (1/21/02) Now limit the number of errors.

BUG: (1/18/02) Pasting an arc onto another doesn't copy the constraints.
FIX: In "usrnet.c:us_pastarctoarc()", include relevant "userbits".

IMP: (1/17/02) Negative size nodes now reported by "cleanup pins" and "check and repair
     library".

IMP: (1/17/02) Layout text now has an option to separate each pixel, for DRC purposes.

IMP: (1/17/02) Interactive node sizing now keeps the anchored point.  Uses control
     key to restrict growth to one axis.

BUG: (1/17/02) "Change Text Size" cannot change the size of facet instance names.
FIX: In "usrdiacom.c:us_modtextsizedlog()", changed "facet" option to change instance names,
     not facet variables.

IMP: (1/17/02) "Artwork Color" can now handle multiple selected objects.

BUG: (1/17/02) DRC misses some errors.
FIX: In "drcbatch.c:drcb_getnodepolys()" and "drcb_getnodeEpolys()", must transform
     bounds of each polygon.

BUG: (1/17/02) NCC reports unnamed nets.
FIX: In "netflat.c:net_getpnetandstate()", now warn if adding a pseudonet with
     a null NETWORK pointer.

BUG: (1/15/02) Polygon merging may crash
FIX: In "dbmerge.c:db_mergeaddintersectionpoints()", adding to queues must check
     queue allocation first.

BUG: (1/14/02) Deleting multiple export names doesn't work.
FIX: Modified "usrcomek.c:us_erase()" to handle any number of text objects.

BUG: (1/11/02) "Insert Break in Arc" doesn't work.
FIX: Rearranged code in "usrcomcd.c:us_create()".

BUG: (1/11/02) Very large transistors may overflow and have negative width/length.
FIX: In "netflat.c:net_buildpseudo()", use "muldiv()" when scaling by WHOLE/lambda.

IMP: (1/10/02) The log file (Windows and UNIX) is now readable text.

IMP: (1/10/02) Load calculations (in "List Geometry On Network") now uses separate
     wire ratio for each arc, as specified in "Logical Effort Options".

BUG: (1/9/02) May crash while merging geometry.
FIX: In "dbmerge.c:db_mergeaddintersectionpoints()", only free "db_mergeOqueue" if
     "db_mergeOqueuetotal > 0".

BUG: (1/7/02) Changing node placement with the "Get Info" dialog does not always work.
FIX: In "usrdiacom.c:us_getnodemodfromdisplayinfo()", center-adjustment code at the
     top should add low offset, not subtract it.

BUG: (1/4/02) Highlighting of multi-line text objects is wrong.
FIX: In "usrhigh.c:us_gethightextsize()", must return after computing size of multiline text.

BUG: (1/4/02) Crashes when going "Up Hierarchy" if an arc is selected.
FIX: In "usrcomoq.c:us_outhier()", do not set port if object is an arc.

IMP: (1/4/02) Changing default arc width or node size now updates component menu.

IMP: (1/4/02) "Verilog Options..." dialog now sorts libraries in popup and facets in scroll.

BUG: (1/4/02) Cannot place an instance of one facet into another version of that facet
FIX: In "dbmath.c:db_isachildof()", compare actual facets, not their cells.

IMP: (1/4/02) "Change..." dialog now sorts libraries in popup.

BUG: (DN, 1/3/02) Compilation fails on Qt because Boolean not defined.
FIX: All Electric sources are compiled by C++ compiler on Qt.

BUG: (12/24/01) Pasting one schematic transistor type onto another is not undoable.
FIX: In "usrnet.c:us_pastnodetonode()" set "userbits" with "setval()".

BUG: (12/23/01) Reading old readable dumps that require the new SPICE library crashes.
FIX: In "iotexti.c:io_doreadtextlibrary()", move call to "io_fixnewlib()" to the end.

IMP: (12/21/01) Converted most INTSML to either INTBIG or new BOOLEAN type.

BUG: (12/19/01) On Mac, first display of "no facet in this window" is wrong
FIX: In "graphmac.c:gettextbits()" recache window pointers after creating memory.

BUG: (12/19/01) On Mac, pulldown menu entries not correct
FIX: In "graphmac.c", fixed routines to handle parentheses and new quick-key names.

BUG: (12/19/01) On Mac, "Windows/Adjust Position" commands don't handle 2 screens.
FIX: In "graphmac.c:adjustwindowframe()", make outer loop over each screen.

BUG: (12/18.01) "Fill Window" doesn't handle large text right
FIX: In "usrdisp.c:us_fullview()", call "us_squarescreen()" after creating
     dummy window extent.

BUG: (12/18/01) Alignment changes when technologies change.
FIX: Now hold alignment as a fractional value.

IMP: (12/18/01) Multi-object Get Info now allows multiple lines to be selected.

IMP: (12/18/01) IRSIM now handles "Auto Advance", remembers parameter file.

BUG: (12/17/01) SPICE output allows illegal characters (only allows "!#$%*+-/<>[]_").
FIX: In "simspice.c", convert illegal characters.

BUG: (12/17/01) Verilog output allows illegal characters (like ".").  Also ignores
     instances with only 1 connection.
FIX: In "simverilog.c:sim_verwritefacet()" only ignore passive components that are
     primitives.  In "sim_verconvertname()" and "sim_vernamenoindices()", convert all
     punctuation except "$".

BUG: (12/17/01) Cannot set "weak transistor" on schematics transistors.
FIX: In "usrcomtv.c:us_var()", after getting variable name "qual", cache its key
     and use that later.

BUG: (12/17/01) Simulation waveform window may overwrite its bounds.
FIX: In "simwindow.c:sim_window_plottrace()", the digital signal drawing
     must crop its "x_max" to 767.

BUG: (12/17/01) Should not allow text to show inherited values unless it is a facet
     parameter.
FIX: In "usrdiacom.c:us_getinfotext)" make the check.

IMP: (12/17/01) "Change..." dialog now allows arcs to be changed to another arc
     with appropriate node replacement so that any other arc can be chosen.

IMP: (12/14/01) IRSIM now handles arrayed nodes, can save and restore test vectors.

BUG: (12/14/01) Connecting arcs of different material may create them with wrong width.
FIX: In "usrarc.c:us_twobend()", do not use "wid", the maximum of the two widths.

BUG: (12/14/01) Verilog netlister may crash.
FIX: In "simverilog.c:sim_vergatherglobals()", must set "j=0" before looping on
     names gathered by "sim_vergetnetworks()".

BUG: (12/13/01) Doing NCC preanalysis recursively shows too much information.
FIX: In "netdiff.c:net_ncconelevel()", must set facet "temp1" flags after
     dumping preanalysis information.

IMP: (12/13/01) Creation and deletion of arcs now redraws the attached facet instances
     so that export names get drawn/undrawn properly.

IMP: (12/13/01) Pad frame generator places pads on-grid.

BUG: (12/13/01) Auto-stitching doesn't work right for schematics.
FIX: In "routauto.c:ro_checkstitching()" only call "samelayer()" if "useportpoly" is zero.

BUG: (12/13/01) DRC allows some select and active spacing errors.
FIX: In "drcbatch.c:drcb_activeontransistor()", compare layer function against
     "LFDIFF", and not the "AP*" function codes.

BUG: (12/13/01) "Select All" does not select facet text, chooses invisible pins
     instead of their text.
FIX: In "usrcomek.c:us_find()", fixed the "all" command.

IMP: (12/10/01) IRSIM built-in simulator now remembers signal order.

IMP: (12/10/01) IRSIM now handles global signals.

IMP: (12/10/01) Dialogs now scale to fit their contents.

BUG: (12/9/01) Electric does not work well on Alpha.
FIX: In "global.h", changed Alpha 64-bit definition from "int" to "long".
     In "iotexti.c:io_getvar()", made special case code for "float" arrays.

IMP: (12/7/01) DXF now has a scale factor.

IMP: (12/6/01) Renamed "Transistor" layer in mocmos to "Transistor-Poly".

IMP: (12/6/01) Added ability to read binary tr0 HSPICE output files.

IMP: (12/5/01) Multi-object "Get Info" now handles setting hard-to-select.

IMP: (12/5/01) NCC now handles global signals and multiple power and ground.

BUG: (12/4/01) Arrow keys don't work right when editing a transformed facet in place.
FIX: In "usrcomln.c:us_move()", must transform the "up/down/left/right" commands.

IMP: (12/4/01) Locating referenced libraries includes a search of the library directory.

BUG: (12/4/01) The string "." is converted to "0" in variables.
FIX: In "dbtext.c:isanumber()" disallow the string "." as a number.

BUG: (12/4/01) Cannot set capacitors to Picofarads.
FIX: In "usrdiacom.c:us_capacitancedlog()", change "i-3" to "i-1" in the Picofarad parsing code.

BUG: (12/3/01) GDS does not handle multiple properties in an element.
FIX: In "iogdsi.c:io_gdsIelement()", changed "if" to "while" in property grabbing code.

BUG: (12/3/01) Cannot change value of resistance, capacitance, or inductance by
     double-clicking on value.
FIX: In "usrdiacom.c:us_inductancedlog()", "us_capacitancedlog()", and
     "us_resistancedlog()", must save "final" in memory before calling
     "us_setvariablevalue()".

BUG: (12/3/01) Drawing an arc connects to another object if constrained endpoint
     is over that object but cursor is not.
FIX: In "usrcomcd.c:us_create()", only handle code block headed by the comment:
     "find the object under the cursor" if NOT in interactive mode.

BUG: (12/3/01) Constraint system may move objects in unexpected ways.
FIX: In "conlay.c", remove all calls to "reduceportpoly()".

IMP: (11/29/01) SPICE output now makes use of global signals.

IMP: (11/29/01) Can now set display part of attributes from command line.

IMP: (11/29/01) Now allow primitives to be replaced with facet instances.

BUG: (11/29/01) When wire creation places an intermediate node, its size may be too big.
FIX: In "usrarc.c:us_getnodeonarcinst()", change first argument to "us_widestarcinst()"
     to be "ap", not "NOARCPROTO".

BUG: (11/29/01) "Cleanup Pins" will shrink pins even if there are arcs attached
     off center that end up moving.
FIX: In "usrnet.c:us_cleanupfacet()", only shrink pins that have all arcs connected
     to the center.

BUG: (11/29/01) Saving files that came in as readable dumps presumes incorrect names.
FIX: In "iobinaryo.c:io_writebinlibrary()" and "iotexto.c:io_writetextlibrary()"
     check for ".txt" and ".elib" extensions.

BUG: (11/29/01) Node Information shows wrong center position for some rotated nodes.
FIX: In "usrmisc.c:us_getnodedisplayposition()", must transform coordinates in
     center-based situation.  In "usrdiacom.c:us_getnodemodfromdisplayinfo()",
     fixed application of position/size to center-based primitives.

BUG: (11/29/01) Transistors mirror properly, but 4-port transistors do not.
FIX: In "usrcomln.c:us_mirror()", extend special transistor rule to 4-port transistors.

BUG: (11/28/01) MOSIS DRC rule 4.4 is not checked properly
FIX: In "tecmocmos.c", make all select and well layers be attached to the node.
     Also make rule 4.4 work for connected and unconnected layers.

BUG: (11/27/01) Facets with only instances and no arcs may appear wrong.
FIX: In "dbmath.c:whattech()", consider technology of instances, too.

BUG: (11/27/01) Changing lambda values can wreck arcs.
FIX: In "dblibrary.c:db_validatearcinst()", do not reduce port areas.

IMP: (11/27/01) Displayable variables can now display their inherited value.

IMP: (11/26/01) Can now define SPICE templates for icons to define arbitrary cards.

IMP: (11/26/01) DRC now caches bounds for each polygon inside of a node or arc
     to speed checking of complex primitives (such as large contacts).  DRC also
     notices when an instance has no surrounding geometry and does not need to be
     checked.

BUG: (11/26/01) Cannot edit or create a facet whose name conflicts with a primitive
     node.
FIX: In "usrdiacom.c:us_editfacetdlog)", always use library name.

IMP: (11/25/01) Arraying multidimensional arrays chooses a numeric one if the last
     is nonnumeric.

BUG: (DN, 11/23/01) Escape key in dialog leads to strange behaviour because DiaDoneDialog not called.
FIX: Disable EscapeKey in EDialog::keyPressEvent(...).

BUG: (DN, 11/23/01) Can't compile on qt-2.3.1 .
FIX: Use obsolete QAccel::stringToKey(...) which however works both on qt-2.3.1 and qt-3.0.0 .

IMP: (11/20/01) Added "Global-signal" component to schematics technology.

BUG: (11/20/01) NCC may get into a loop.
FIX: When a symmetry group is split artificially, redoing the same type of group's
     hash values will reunify it.  So after a split, must redo the opposite group
     types first.

IMP: (11/20/01) Now have "No to all" option when quitting and libraries have changed.

BUG: (11/19/01) Changing the size of many nodes at once can cause constraint
     propagation errors if there are too many rigid arcs in the mix.
FIX: Introduced a new database routine: "modifynodeinsts()" which modifies multiple
     nodes at once, applying constraints properly.

BUG: (11/19/01) Command line parsing doesn't handle octal character codes right.
FIX: In "usrparse.c:us_fleshcommand()", after the loop that gathers an octal number,
     must decrement "pp".

BUG: (11/19/01) Shift-click doesn't work when editing text "in place".
FIX: In "usrmisc.c:us_editvariabletexthandlebutton()" added code to handle shift-clicks.

IMP: (11/17/01) Converted key binding data structures to use special strings for special
     characters so that they don't have to override the ASCII characters.

BUG: (DN, 11/16/01) "Default button" does not work in "NewFacet" on other dialogs
     on qt-2.3.1.
FIX: Make "ElectricDialog" be inherited from "QDialog" and modify "ElectricDialog::showMe".

IMP: (11/15/01) ERC now has option to check that NWell contacts connect to power
     and PWell contacts connect to ground.

BUG: (11/15/01) Intermediate contact not always the right size when wiring.
FIX: In "usrarc.c:us_onebend()", call "us_getproperconsize()" with proper values.

BUG: (11/15/01) Redraw doesn't always work when there is large text on the object.
FIX: In "usrwindow.c:us_queuevicinity()", use "us_getnodebounds()" and "us_getarcbounds()"
     to determine full object bounds.  In "usrdisp.c:us_drawnodeinst()", use
     "us_getnodebounds()" when erasing facet instances.

IMP: (11/15/01) Parallel transistors now merged wherever they exist
     (even in different subfacets)

IMP: (11/15/01) Technology editor now offers to rename existing technology.

BUG: (11/15/01) Technology editor renames primitives, making it hard to reread
     an existing technology.
FIX: Removed usage of "us_tecedstripdash()".

IMP: (11/15/01) Rearranged menus to be more sensible.

IMP: (DN, 11/15/01) Graph API function "getbuckybits" implemented on Qt.

BUG: (DN, 11/15/01) Can't compile with qt-2.3.1 .
FIX: In graphqt.h define Q_CHECK_PTR if not defined.

IMP: (11/14/01) Netlister now assigns node names based on node function.

BUG: (11/14/01) Netlister does not assign names if the name variable is empty.
FIX: In "network.c:net_nameallnodes()" check for empty names.

BUG: (11/14/01) Verilog netlister doesn't handle multidimensional busses properly.
FIX: In "simverilog.c", ignore all but the last index.

IMP: (11/13/01) "Redo Network Numbering" now shows a busy cursor.

IMP: (11/13/01) Now have "Tools/Simulation Interface/Add Spice Card" to add an
     arbitrary SPICE card to the deck.

IMP: (11/13/01) "Show Facets Graphically" now has submenu to select entire library
     or just tree below current facet

IMP: (11/13/01) Now have language translation dialog.

IMP: (11/13/01) Removed Control-Right button (constrained dragging) and also
     "Selection Option" to make it the default.  Instead, hold control key for
     constrained dragging.

IMP: (11/13/01) Can no longer change lambda for schematics, artwork, or generic

BUG: (11/13/01) Verilog arrayed names use "[]" which is illegal.
FIX: In "simverilog.c:sim_verwritefacet()", strip the brackets

IMP: (11/12/01) "List Libraries" now explains cross-library dependencies.

IMP: (11/12/01) NCC now looks for unique matches when resolving ambiguity.
     NCC sped up by removing matched groups from further consideration.
     NCC sped up by examining circuit locally after match is made.

BUG: (11/12/01) Alignment values get corrupted easily.
FIX: Now save alignment as a fractional value, not lambda, so that it doesn't change
     when lambda does.

IMP: (DN, 11/12/01) Qt painter is used for drawing instead of "graphdraw".

BUG: (11/11/01) Many Macintosh features are not implemented.
FIX: Added printing of text facets, rewriting of dialog buttons, proper
     messages window control, dialog sizing.

BUG: (DN, 11/10/01) Selection box do not stretch on X11, because MOTION bit is out of INTSML.
FIX: In "graphunixx11.c:trackcursor()", change type of "action" to INTBIG.

BUG: (DN, 11/10/01) Function "us_keyname" do not give names of shifted keys.
FIX: In "usrmisc.c:us_keyname()", change mask to SHIFTDOWN.

BUG: (11/9/01) "Size" command doesn't work right if multiple nodes are selected.
FIX: In "usrcomrs.c:us_size()", rearranged error messages.

IMP: (11/8/01) Node type in status bar now shows specialization.

IMP: (11/8/01) Character processing no longer overloads the key code with extra bits
     such as the control key, etc.  This allows full 8-bit codes to be used.

IMP: (11/7/01) Can now "edit in place" with "Down Hierarchy in Place", which
     views a facet in its parent location AND ORIENTATION.

BUG: (11/7/01) Error review overwrites existing windows.
FIX: In "dberror.c:db_reportcurrenterror()", no longer look for a window to use: create it.

BUG: (11/7/01) "Change..." can leave new nodes on nongrid locations.
FIX: In "dbnoproto.c:replacenodeinst()", align placement.

BUG: (11/7/01) "Up Hierarchy" may offer to show instances in the clipboard.
FIX: In "usrcomoq.c:us_outhier()" and "usrnet.c:us_pickhigherinstance()",
     exclude nodes in hidden libraries.

BUG: (11/7/01) Automatic placement of facet-centers does not make them hard-to-select.
FIX: In "ioedifi.c", "iogdsi.c", "iolefi.c", and "usrnet.c", set the HARDSELECTN bit.

BUG: (11/7/01) "List Nodes in this Facet" does not find contents of icons, nor does
     it find nodes in other libraries.
FIX: In "usrstatus.c:us_describecontents()", fixed searching.

BUG: (11/5/01) Going up the hierarchy when the only instance is inside the contents
     facet causes that facet to be redisplayed.
FIX: In "usrcomoq.c:us_outhier()", ignore icon documentation instances.

BUG: (11/5/01) NCC may fail if one equivalent port is wired and another isn't.
FIX: In "netflat.c:net_buildpseudo()", must compare ports in their contents, not
     at the icon level.

BUG: (11/5/01) Text that is far away may not get selected.
FIX: In "usrcheck.c", repair this bit.

BUG: (11/5/01) After reading a library, opaque layers are not drawn.
FIX: In "usrcomln.c:us_library()", after reading the library, call "us_endbatch()".

BUG: (11/5/01) Truetype text gets spaces wrong on UNIX.
FIX: In "graphunixx11.c" must account for spaces separately.

BUG: (11/4/01) DRC fails to find some active spacing errors.
FIX: In "drcbatch.c:drcb_activeontransistor()", only allow active that is
     directly connected to the transistor to be ignored.

BUG: (11/4/01) "Erase and Reconnect" may create strange replacement arcs
     if they connected in different locations on the deleted node.
FIX: In "usrnet.c:us_erasepassthru()", need more rigorous test that the arcs
     have the same slope.

IMP: (DN, 11/3/01) Qt implementation of text is added, which can replace T1Lib.
     It is disabled by default and can be turned on by "#define QTEXT".

BUG: (DN, 11/3/01) When overwriting existing file on Qt,
     yesno dialogs spoils first 8 characters of its name.
FIX: In graphqt.cpp:fileselect use ElectricApplication::localize() .

IMP: (11/2/01) Made parameters more robust: able to be recursively called.

IMP: (11/1/01) When connecting into an arc, if the new arc is wider, the contact is
     rectangular.

IMP: (11/1/01) Can now print text facets on UNIX.

IMP: (11/1/01) User interface variables that track macro execution are now done
     quietly so that undo works more cleanly.

BUG: (11/1/01) Reading a small library after many others are read in causes a delay
     while all networks are renumbered.
FIX: In "io.c" now renumber only 1 library if no dependent libraries were read.

IMP: (11/1/01) Auto-routing now handles schematics.

BUG: (11/1/01) Arc angle improperly determined when arc is zero length.
FIX: In "dbcreate.c:determineangle()", use node position if arc length is zero.

BUG: (11/1/01) When the component menu is 2-wide, a pure-layer node may appear at
     the top.
FIX: In "usrmenu.c:us_setmenunodearcs()", clear odd entries.

IMP: (10/31/01) SPICE sources and Two-ports now have full dialogs for describing
     their parameters.

BUG: (10/30/01) Two-port nodes are not described properly.
FIX: In "global.h", must allocate one more bit for NFUNCTION.

IMP: (10/30/01) Mimic stitching now tells which options are preventing wiring.

BUG: (DN, 10/30/01) Sometimes Electric hangs in input mode on Qt.
FIX: In graphqt.cpp:GraphicsMainWindow::menuAction(...) enable menu items after 2 tries.

BUG: (DN, 10/30/01) When entering EDITLINE's in atributes dialog on Qt, focus moves to
     default button after every key.
FIX: In graphqtdlg.cpp:ElectricDialog::defaultButton temporary disable changing foucs.

BUG: (DN, 10/30/01) MessagesWindow SetFont dialog do not show previous font ont Qt.
FIX: In 'graphqt.cpp:setmessagesfont' previous font is given to "getFont".

IMP: (10/29/01) Changing technology options adjusts existing node sizes so that their
     highlighted area is unchanged.

IMP: (10/29/01) Facet centers are placed in new facets by default.

BUG: (10/29/01) Zooming in and out does not return to the same scale.
FIX: In "usrcomwz.c:us_window()", the "in-zoom" and "out-zoom" cases must call
     "us_squarescreen" with the last parameter nonzero.

BUG: (10/29/01) When running an arc directly (no jogs) but changes layer, the
     contact is not grid aligned.
FIX: In "usrarc.c:us_directarcinst()", call "us_alignvalue" on the variable
     coordinate.

BUG: (10/29/01) DRC rule 6.5 is not always detected.
FIX: In "tecmocmos.c", change "electrical" description of transistors to have
     "transistor" in the center and "poly1" for the tabs.

BUG: (DN, 10/29/01) Keyboard commands do not work in messages window on Qt.
FIX: Added graphqt.cpp::MessagesMainWindow::keyPressEvent(...).

BUG: (DN, 10/29/01) Control-DIGITs do not work on Qt.
FIX: Change handling of ascii characters in graphqt.cpp:ElectricApplication::translatekey.

BUG: (DN, 10/29/01) Saving library causes crash sometimes on X11 and on Qt,
     because T1_LoadFont called from "screengetfacetlist" spoils memory.
FIX: Preload all fonts in "graph*:initgraphics".

BUG: (DN, 10/28/01) Highlighted item in ScrollField not always visible on Qt.
FIX: In "graphqtdlg.cpp:ElectricDialog::selectLine(...) do "setTopItem" when necessary.

BUG: (DN, 10/27/01) Random crashes on Qt. DEBUGMEMORY shows at "gra_statusfieldtext".
FIX: In "ttyfreestatusfield" compression of "gra_statusfieldtext" moved out of windowframe loop.

BUG: (DN, 10/27/06) Memory leakage on Unix and Qt.
FIX: "graph*:termgraphics" must free "gra_textbitsdatasize" "gra_textbitsrowstartsize".
     "usrparse.c:us_freeparsememory" must free "us_lastcom".

BUG: (DN, 10/27/01) DEBUGMEMORY do not work without clusters.
FIX: Repaired dbmemory.c:_emalloc.

BUG: (DN, 10/27/01) graphqt*.cpp files not recompiled after change of global.h, because
     they depends on global.h indirectly by graphqt.h.
FIX: Indirect dependences appended to dependency lists in Makefile.in .

BUG: (DN, 10/27/01) Crash on fatal error when graphics is not initialized on Qt.
FIX: In graphqt.cpp:error print message to stderr when gra == 0.

BUG: (DN, 10/27/01) Hitting "return" don't close "About" dialog on Qt.
FIX: Set focus to first widget if there is no DEFBUTTON in dialog.

BUG: (DN, 10/26/01) Crash when copying selected nodes.
FIX: In "usrnet.c:us_sortarcsbyname" and "usrnet.c:us_sortnodesbyname", must "empty[0]".

IMP: (10/26/01) Can now print text facets on Windows.

IMP: (10/26/01) "Measure Distance" is now a mode, and any command can be used
     while measuring.

BUG: (10/26/01) Cannot bind to shifted keys (not control, just capitalized).
FIX: In "usrmenu.c:us_setkeyequiv()" only translate to lower case if using "/", not "\".

IMP: (10/26/01) Cleaned up translatable messages in PLA generator.

IMP: (10/25/01) Added support for arrayed nodes.  Node names can now have form
     "x[0:3]" (any valid arc array name) and they will be repeated.  Busses
     connected to such nodes can be multiples of the node repetition.  Only
     works in schematics.  Modified SPICE netlister, NCC, Sue input, and
     Verilog netlister to handle this.

BUG: (DN, 10/25/01) "ShowCursorCoordinates" appears twice in menu after it is
     checked once.
FIX: Changed item number in evemenus.mac.

BUG: (DN, 10/25/01) Problems with input of language interpreters on Qt.
FIX: getmessagesstring interrupts on Ctrl-D, language loop is supported by
     ElectricApplication::toolTimeSlice .

BUG: (DN, 10/25/01) Alt keys of menu bar items do not work on Qt.
FIX: Modified graphqt.cpp:ElectricDraw::event(...) not to disable Alt accelerators.

IMP: (DN, 10/24/01) Reimplemented graphqt.cpp:getmessagesstring. Input is

IMP: (DN, 10/24/01) Fixes: leading and trailing space on T1LIB, rebind of quick keys
    are repeated on Qt.

BUG: (DN, 10/24/01) "nativepopupmenu" always show menu at cursor position on Qt.
FIX: "left" and "top" parameters are considered in graphqt.cpp:nativepopupmenu

IMP: (DN, 10/24/01) Reimplemented graphqt.cpp:getmessagesstring . Input is
     performed in a line editor at bottom of messages window.

BUG: (DN, 10/24/01) When "selected" option is given to auto-stitching router, pins
     are not deleted together with arcs.
FIX: Added parameters to usrarc.c:aconnect and usrarc.c:us_makeconnection to return
     created contact/pin nodes.

IMP: (DN, 10/24/01) When "selected" option is given to auto-stitching router, popup menu
     is shown to confirm stitch.

BUG: (10/24/01) Crossing lines not flagged as DRC errors.
FIX: In "dbmath.c:polyseparation()", must check for overlap.

BUG: (10/24/01) Switching technologies does not redraw grid properly.
FIX: In "usrcomtv.c:us_technology()", redraw grid when "use" option changes lambda.

BUG: (10/24/01) Reading a library may alter the grid spacing.
FIX: In "usrcomln.c:us_library()", adjust alignment and grid after displaying
     new new facet, not before.

BUG: (10/24/01) Load calculations ("List Geometry on Network") consider transistor
     area in metal+poly calculation.
FIX: Now tag transistor area specially with LFINTRANS and remove it from calculation.

IMP: (10/24/01) Deleting a node that is "inline" does an "erase-and-reconnect".

IMP: (10/24/01) When all layers of a node or arc are set invisible, the object
     is no longer selectable.

IMP: (10/24/01) Renamed DRC's "Nonhierarchical Check" to be "Check this Level Only".

BUG: (10/24/01) On UNIX with T1Lib, text with leading or trailing spaces is drawn wrong.
FIX: In "graphunixx11.c", cache space width and use it properly.

BUG: (10/23/01) Cannot rebind the quick keys 'f', 'h', 'q' (full/half/quarter)
     or others that are programmed in "evemenus.mac".
FIX: Added ability to bind to "previous" quick key by placing a "/" at the
     end with no key specified.  Modified "evemenus.mac" to use this.  Modified
     "usrcomab.c:us_bind()" to fill in the previous value.

IMP: (10/23/01) DXF input now has the option to read all layers.

IMP: (10/23/01) When quitting and options have changed, now shows which options.

IMP: (10/23/01) Now have "Selection Option" to request that drag-selections pick only
     those objects that are completely inside the dragged area.

IMP: (10/23/01) When prompted to save options at exit, shows which options changed.

IMP: (10/23/01) Can now have multidimensional busses (such as "a[0:1][0:7]").
     Rewrote "network.c:net_evalbusname()" to handle it and removed the need for "net_buildnetname()".

BUG: (DN, 10/22/01) Characters hidden by accelerator keys can't be inserted on Qt
     in text-editing windows and in in-place editing.
FIX: Added graphqt.cpp:ElectricDraw::event(...) which disables accelerators.
     Acceletor key are handled by us_oncommand.

BUG: (DN, 10/22/01) Characters come out upper-case on Qt.
FIX: Change handling of ascii characters in graphqt.cpp:ElectricApplication::translatekey.

BUG: (DN, 10/22/01) Sometimes editing in-place text is not highlighted on Qt.
FIX: flushscreen() called in graphqt.cpp:modalloop

IMP: (DN, 10/22/01) "ttygetparam" is called instead of "ttygetchar" in compact.c:comset
     to ask compaction direction from user.

BUG: (10/22/01) "Select/Enclosing" selects the pins under text nodes.
FIX: Created "usrhigh.c:us_selectarea()" and use it to select areas.

BUG: (10/22/01) "Fill Window" draws text too large if there is nothing else in
     the facet.
FIX: in "usrdisp.c:us_fullview()", ensure that there are no zero-dimensions in
     the initial setting for the window extent.

IMP: (10/22/01) No longer draw oversize invisible pins in technology editor.

BUG: (DN, 10/21/01) Sometimes there is a delay after dialog events on Qt.
FIX: Timer alarm in graphqtdlg.cpp:ElectricDialog::nextHit().

BUG: (DN, 10/21/01) CheckBox fields in Qt dialogs has a glitch.
FIX: Class CheckField adapts QCheckBox to Electric style.

BUG: (DN, 10/21/01) Crash on Qt after selecting item from component menu
     when mouse is moved with button pressed, because "eachdown" handler is called
     instead of "whileup".
FIX: Added condition gra->waitforpush in graphqt.cpp:GraphicsDraw::mouseMoveEvent(QMouseEvent*).

BUG: (DN, 10/21/01) Double-click in dialog scroll fields do net exit dialog on Qt.
FIX: In graphqtdlg.cpp:ElectricDialog::initTextDialog(...) signal "doubleClicked" of ScrollField
     is connected to slot "animateClick" of button item 0.

BUG: (DN, 10/21/01) Help info is unaligned in Info/Help/Buttons on Qt because SCFIXEDWIDTH flag don't work.
FIX: In graphqtdlg.cpp:ElectricDialog::initTextDialog(...) set font with "fixedPitch"=TRUE.

BUG: (DN, 10/20/01) Accelerator control keys work only in one of editor windows on Qt,
     because QMenu objects of one of the editor windows are shared by other windows.
FIX: Every editor window has its own set of QMenu objects.

IMP: (DN, 10/20/01) Popup menus are implemented on Qt.

BUG: (DN, 10/19/01) Hitting "return" in a dialog doesn't select the "default button" on Qt.
FIX: Set focus on default button in graphqtdlg.cpp:ElectricDialog::ElectricDialog(QWidget*, DIALOG).

BUG: (DN, 10/19/01) The editor windows are not close on Qt (not with the close box in the
     upper-right, nor with the close menu item in the upper-left).
FIX: Added call of gra_handlequeuedframedeletion to graphqt.cpp:ElectricApplication::toolTimeSlice().

BUG: (DN, 10/19/01) Double-clicking doesn't work on Qt (to do a "Get Info" on a node or arc)
FIX: DoubleClick (and Wheel) events are handled by graphqt.cpp:GraphicsDraw::mouseDoubleClickEvent(QMouseEvent*)
     and graphqt.cpp:GraphicsDraw::wheelEvent(QWheelEvent*).

BUG: (DN, 10/19/01) When a dialog item is an "icon" (such as in the "Layer Pattern Options"
     dialog ), the icons show as "pushable buttons" on Qt.
FIX: Icons are implemented on Qt by new class IconField which inherits QLabel.

BUG: (DN, 10/19/01) Nested dialogs (ex. "New Facet") do not obtain focus on Qt.
FIX: Parent of nested dialog is set to father dialog in graphqt.cpp:DiaInitDialog.

IMP: (DN, 10/19/01) ElectricApplication::toolTimeSlice() is called directly instead of by timer.
     This is more deterministic behavior, possible crashes are easier reproduced.

BUG: (10/19/01) Technology edit objects are not properly identified in the
     node "Get Info" dialog.
FIX: In "usrdiacom.c:us_getinfonode()", must clear "wantpopup" if this is a
     technology edit object.

IMP: (10/19/01) Now have parameters to facets.  New "Info/Attributes/Facet Parameters"
     dialog controls them for a facet.  Node's "Get Info" has option to see
     node's parameters.  New bit "VTISPARAMETER" in text descriptor.  Binary
     I/O now saves text descriptors of all variables (not just displayable ones).

IMP: (10/18/01) Internationalization support fully implemented.

IMP: (10/18/01) SPICE output uses parameter information correctly.

IMP: (10/17/01) New "Info/Attributes/Node Parameters" dialog for setting parameters
     on node instances.

BUG: (10/17/01) MOSIS CMOS Metal-3-Metal-4 contacts do not follow proper multicut rules.
FIX: In "tecmocmos.c", edited tables to adjust cut surround.

BUG: (10/17/01) Nonlayout text cannot be made into language code.
FIX: In "usrdiacom.c:us_getinfotext()", clear VISARRAY if text is code.

BUG: (DN, 10/16/01) Qt port can't be  compiled on qt-2.3.1
FIX: Changed calls of qt-3.0.0 functions to old ones:
     "setEraseColor"->"setBackgroundMode", "push_back"->"append".

IMP: (10/16/01) Removed Network Option to automatically name networks (network
     names are not persistent and cause confusion when named in this way).

IMP: (10/16/01) Nonhierarchical DRC now logs errors and reports in the same manner
     as hierarchical DRC

IMP: (10/16/01) Going Up and Down the hierarchy in layout now preserves coordinates
     exactly.

BUG: (10/16/01) DRC flags notch violation when polygons overlap.
FIX: In "drcbatch.c:drcb_findinterveningpoints()", indicate that there are
     no intervening points if no manhattan gaps are found.

BUG: (10/15/01) Technology edit component entries change when a facet is edited
FIX: In "evemenus.mac" clear technology auto-switching during technology editing.

IMP: (10/15/01) NCC Options lets you do Preanalysis immediately and also has
     button to list all overrides.

BUG: (10/15/01) NCC may crash for complex libraries.
FIX: In "dbmath.c:db_extendprimetable()", make sure "db_maxcheckableprime" does
     not overflow in value.

BUG: (10/15/01) Nodes that are smaller than default may have port areas that are
     incorrect (for example, on zero-size pins).
FIX: In "dbtechi.c:tech_fillportpoly()", prevent negative port size.

BUG: (10/15/01) Auto-Routing doesn't work if the two nodes are zero-size.
FIX: In "routauto.c:ro_comparepoly()", remove requirement that objects overlap
     by more than a point.

BUG: (10/15/01) NCC Preanalysis misses reporting some networks.
FIX: In "netdiff.c:net_dumpnetworks()", do not increment "ind1" and "ind2" twice.

IMP: (DN, 10/15/01) Qt port:
     Modifications of screen update.
     User drawn fields in dialogs implemented.

IMP: (10/14/01) Added back annotation preservation to PADS, EAGLE, and ECAD output.

BUG: (10/12/01) Cannot read GDS files with rotated text.
FIX: In "iogdsi.c:io_gdsIdetermine_text()", allow the "GDS_ANGLE" token.

BUG: (10/12/01) Circular cross-library references may read exports badly.
FIX: In "iobinaryi.c:io_doreadlibrary()", reset "pp->temp2" to 0 after resolving export.
     In "io_readexternalnodeproto()", only set "pp->temp2" to 0 if creating it.
     In "io_readnodeinst()", set "pp->subportproto" to the "pe->proto".

BUG: (10/12/01) Readable dumps may not have all facets.
FIX: In "iotexto.c:io_writetextlibrary()", must check all facets when gathering,
     not just ones with no instances.

IMP: (10/11/01) "Curve Through Cursor" and "Curve About Cursor" now work interactively.

IMP: (10/11/01) Arcs now land on grid even if nodes are off-grid.

IMP: (10/11/01) "Show Facets Graphically" now attaches the text to the arcs so that
     the result can be manipulated easily.

BUG: (10/11/01) Does not run on Windows if executable is on a server that is not
     letter-mapped.
FIX: In "graphpccode.cpp:fullfilename()", allow paths that start with "\\" to be full.

IMP: (10/11/01) Now tracks all succesful NCC interactions, even when one facet
     is matched to many others.  Uses this information when doing nonflat NCC.

IMP: (10/11/01) Now considers changes to node names or arc names to be "major".

IMP: (10/10/01) Now reports the library name when deleting facets.
     Now reports which library is from a newer version when such is found.

BUG: (10/10/01) DRC flags multi-cut violations spuriously.
FIX: In "drcbatch.c:drcb_badbox()", must set "multi=0" in arc code.

BUG: (10/10/01) DRC flags violations when the diagonal distance is valid.
FIX: In "drcbatch.c:drcb_checkdist()", if Manhattan distance looks bad,
     try Euclidian distance.

IMP: (DN, 10/10/01) Qt port:
     Event propagation is changed and almost works.
     Modifications to compile with Qt release version qt-2.3.1.
     Dialogs are put to graphqtdlg.cpp.

BUG: (10/9/01) On Mac, "Edit Layout Window" in a layout window causes the
     messages window to be permanently in the background.
FIX: In "graphmac.c:bringwindowtofront()", change "SelectWindow" to "gra_selectoswindow".

BUG: (10/8/01) New MOSIS CMOS Active pins start out negative in size.
FIX: In "tecmocmos.c:mocmos_setlayerminwidth()", account for node size offset.

BUG: (10/8/01) "Edit/Special Function/Name All Objects" overwrites arc names.
FIX: In "network.c:net_nameallnets()", never overwrite a named net.

BUG: (10/8/01) When copying arcs, the location of the name is not preserved.
FIX: In "usrnet.c:us_copyvars()", do not call "defaulttextsize()", but copy original.

BUG: (10/8/01) Alignment options are not saved.
FIX: Move initialization of "us_alignment" and "USER_alignment" variable from
     "usr.c:us_do3init()" to "usr.c:us_do2init()".

IMP: (10/4/01) When wiring requires placement of a contact, it is made as large
     as the widest wire.

IMP: (10/4/01) CIF output now has option of not centering instances (prevents
     many resolution errors).

BUG: (10/4/01) May crash when accessing layer thickness.
FIX: In "dbtech.c:get3dfactors()", cache the thickness and height arrays, not variables.

IMP: (10/4/01) Added "Export/Re-export Power and Ground" to propagate only
     Power and Ground ports up the hierarchy.

IMP: (10/4/01) Sped up pasting large amounts of text into text edit window.

BUG: (10/4/01) Moving text and the object that the text sits on is wrong.
FIX: In "usrtrack.c:us_finddoibegin()", do not move text if it sits on object
     being moved.

IMP: (10/4/01) Can now use an arc as the starting point of arc creation, and it
     will be split if necessary.

IMP: (10/4/01) "Duplicate Current Facet" checks for an icon of the facet inside
     of itself and duplicates that, too.

BUG: (10/4/01) "Duplicate Current Facet" may display result in wrong window if
     another is clicked during the operation.
FIX: Added "show-copy" argument to "copyfacet" low-level command, and use it when
     duplicating.

BUG: (10/4/01) "List Connections on Network" reports nothing if pure-layer node
     or other unrecognized node is selected.
FIX: In "network.c:net_gethighlightednets()", allow pure-layer nodes to be part
     of network.  In "network.c:net_set()" give error if no network is found.

BUG: (10/3/01) Large circuits do not compare.
FIX: In "netflat.c:net_setallexporttopology()", must use prime number counter
     based in cell so that it does not overflow.  Also must enumerate contents
     facets before icon facets.  Also must expand generation of prime numbers.

IMP: (10/3/01) Now have library list popup in "Network Options" dialog.

IMP: (10/3/01) Simulation window now 1/10 as wide, and simulation time values
     now show 2 decimal places of precision.

IMP: (10/3/01) MOSIS CMOS metal-4 layer now has denser stipple pattern.

BUG: (10/3/01) When 3 or more exports are connected electrically, instances of the
     facet may not recognize that they are all connected.
FIX: In "network.c:net_pconnect()", when looking for a similarly connected export,
     do not create a new network if the equivalent one has no net information.

BUG: (10/3/01) Cannot convert schematics to layout when there are icons.
FIX: In "usrctech.c:us_tran_makelayoutparts()", must first clear all "ni->temp1".
     Also, in the line "if (newnp != NONODEPROTO)", change "!=" to "==".

IMP: (10/2/01) New command "Edit/Selection/Enclosed Objects" replaces area-selection
     with the selection of objects in that area.

BUG: (10/2/01) Cannot select an export name as the first selection in "Move Port".
FIX: In "usrhigh.c:us_gettwoobjects()", allow export selection to work.

IMP: (10/2/01) Added MOSIS CMOS design rule 3.2a.

IMP: (10/2/01) Added "Two Polysilicon" option to MOSIS CMOS Technology Options.

IMP: (10/2/01) Pad Frame generation now allows further export from pads with the
     "[export padport=padexport]" clause of the "place" statement.

IMP: (10/1/01) Changes to technology options or DRC rules now clears DRC valid date
     information.

BUG: (10/2/01) "New Arc Options" shows values for the currently selecte arc type,
     but fails to set that type at the top of the dialog.
FIX: In "usrdiacom.c:us_defarcdlog()", set the popup correctly.

IMP: (10/2/01) "DRC Rules" dialog now has "Show only lines with rules" check.

IMP: (10/1/01) Modified MOSIS CMOS design rules to be uniformly described in a table.

IMP: (DN, 10/01/01) Preparations for redesign of event propagation in Qt port.
     Added function "modalloop(charhandler,buttonhandler,cursor)".
     Functions "us_oncommand" and "us_ontablet" became external.
     Removed all calls of "waitforbutton", "ttydataready", "stoptablet" when QT is used.

BUG: (9/28/01) MOSIS rule 6.7b is not implemented properly.
FIX: Modified transistor layer in "tecmocmos.c" to be transistor-polysilicon.
     Use it to distinguish between poly in a transistor and field poly.
     Also needed to add "drcbatch.c:drcb_samelayer()" to know when two layers
     are really the same.

BUG: (9/28/01) Cannot write textual facets in PostScript or HPGL, but no error
     is issued.
FIX: In "iopsout.c:io_pswritefacet()", "iohpglout.c:io_writehpgllibrary()",
     "ioquickdraw.c:io_writequickdrawlibrary()", and "graphpccode.cpp:gra_printwindow()"
     issue warnings now.

IMP: (9/28/01) New Facet Option to place Facet-Centers in all new facets.

IMP: (9/28/01) Changes to NCC controls automatically clear the last valid NCC dates.

IMP: (9/28/01) New command: "Info/User Interface/General Options..." with two
     features: beeping after long commands and supressing dates in output files.

IMP: (9/28/01) NCC and DRC now use only ">" and "<" keys to move through errors,
     repeating the error at the end, and not needing "&" to repeat it.

BUG: (DN, 9/28/01) Bug in "graphunixx11.c:eprinterlist" after "etrace" addition.
FIX: Undo graphunixx11.c. Trace version of this file is moved to graphunixx11.c.trace.

BUG: (9/26/01) NCC cannot compare facets with no components.
FIX: Modified "netflat.c:net_makepseudo()" to distinguish between facets with
     no components and error conditions.  Use this in "netdiff.c:net_ncconelevel()"
     to report results correctly.

BUG: (9/26/01) NCC reports export name mismatches where there are no exports.
FIX: In "netdiff.c:net_analyzesymmetrygroups()", only consider nets if they
     have real ports or network names.

IMP: (9/26/01) When NCC finds matches between ambiguous groups, it now ignores network
     names that are redundant within the group.

BUG: (9/26/01) IRSIM generates inconsistent network names.
FIX: In "simirsim.c", use network name rather than export protoname.

BUG: (9/26/01) Connecting a pin to an arc of a different type places the contact
     between them rather than on the arc.
FIX: In "usrarc.c:us_findconnectingpin()", must find proper port when there is only 1.

BUG: (9/26/01) MOSIS CMOS technology description does not include whether alternate
     contact rules are in effect.
FIX: In "tecmocmos.c:mocmos_describestate()", added the test.

IMP: (9/26/01) Now check that node names are unique in a facet.

IMP: (9/26/01) Sped up parallel component merge in NCC by a factor of 10.

IMP: (DN, 9/26/01) Added function etrace(INTBIG mode, char *s, ...) for debug purpose.

IMP: (9/25/01) NCC now allows individual facet overrides for expansion of hierarchy.

BUG: (9/25/01) After NCC, showing network information may highlight circuitry
     in equivalent facet, and deleting it may delete things that are not displayed.
FIX: In "usrcomek.c:us_erase()", detect this and prompt for right thing to do.

BUG: (9/25/01) If an icon is created for a facet with only 1 export, and no
     body or leads are requested, the icon has zero size.
FIX: In "usrnet.c:us_makeiconfacet()", generate invisible pin in such a case.

BUG: (9/25/01) Uses icons for layout.
FIX: In "dbnoproto.c:iconview()", only allow icons if the facet is schematic.

BUG: (9/25/01) "Erase Geometry" generates error messages, and creates zero-size
     schematic pins.
FIX: In "usrnet.c:us_erasegeometry()", tag nodes that are created by truncating
     arcs and do not try to delete them.  In "usrnet.c:us_choparc()", use default
     pin size if from the schematics technology.

IMP: (9/25/01) CIF output now adds the library name to the "9" line.

BUG: (9/25/01) "Change Units" doesn't update the microns field when technologies
     are selected.
FIX: In "usrdiacom.c:us_lambdadlog()", when item DUNO_TECHLIST is hit,
     added "DiaSetText(DUNO_MICRONS, ent);" as last line of block.

BUG: (9/24/01) MOSIS CMOS well and substrate contacts have insufficient Select
     around the active (surrounds by 1 lambda, should surround by 2).
FIX: In "tecmocmos.c:mocmos_psub_l[]" and "mocmos_nsub_l[]", change the last
     field after "NSELECT..." to read "mocmos_in4box".

IMP: (9/24/01) Can now select multiple nodes and do "Show Ports on Node".

IMP: (9/24/01) When placing an instance of a schematic facet, instead of always
     creating the icon, the user is now asked if the icon is what is wanted.

IMP: (9/24/01) "Edit Facet" and the facet list commands ("New Facet Instance",
     "Delete Facet", etc.) now sort the list of libraries in the popup.  Also,
     "Change Current Library" sorts its list.

IMP: (9/24/01) "NCC Preanalysis" now merges common network names.

BUG: (9/24/01) NCC complains about Artwork arcs that don't match to equivalents
     in the other facet.
FIX: In "tecart.c", change APUNKNOWN to APNONELEC in the definition of the 4 arcs.

BUG: (9/24/01) Cancelling a simple prompt dialog box doesn't work right (for
     example, "Duplicate Current Facet".
FIX: In "usrcomtv.c:us_terminal()", the line after "pt = ttygetline(par[2]);"
     should set "pt" to the empty string if it is zero, not return.

IMP: (DN, 9/24/01) Qt port don't need Motif. Many features are still disabled.

IMP: (9/23/01) Added dialog editor (module "usrdiaedit.c") through hidden command
     "-debug dialog-edit".

IMP: (9/23/01) Added dialog routines "DiaInvertRect()", "DiaSetTextSize()",
     and "DiaAllowUserDoubleClick()".

IMP: (9/21/01) Added "gra_termgraph()" to "graphdraw.c" to clean up.

BUG: (9/21/01) Parallel merge in NCC may loop infinitely.
FIX: In "netflat.c:net_mergeparallel()", after the line:
		opc = pn->nodelist[m];
     add this line:
		if (opc == pc) continue;

BUG: (9/20/01) Cannot change transistor strength from Weak to Normal.
FIX: In "usrcomtv.c:us_var()", in the "delete" code, must save "qual" to
     local memory.

BUG: (9/20/01) "Insert Break In Arc" crashes if one end is a facet.
FIX: In "usrtrack.c", created "us_createinsbegin()" and use it instead of
     "us_createabegin()" in "usrcomcd.c".

BUG: (9/20/01) DRC wide rules are applied incorrectly after "Factory Reset" of
     MOSIS CMOS rules.
FIX: In "tecmocmos.c:mocmos_loadDRCtables()", must set the "dr_wide_limitkey" variable.

IMP: (9/19/01) Added "Only Visible Inside Facet" checkbox for nodes.
     Allows node to not be seen from higher level of hierarchy.
     Implemented as NVISIBLEINSIDE bit on NODEINST->userbits

BUG: (9/19/01) In "Grid Options", changing the "Align grid with circuitry"
     checkbox doesn't work if nothing else has changed.
FIX: In "usrdiacom.c:us_griddlog()", make changes if "gridfloats != oldgridfloats" too.

BUG: (9/19/01) PostScript printing produces incorrect text size and placement.
FIX: In "iopsout.c" must define "io_pstruefontsize()" to handle size properly.

BUG: (9/19/01) PostScript printing leaves zombie "lpr" processes.
FIX: In "iopsout.c:io_pswritefacet()", parent process must call "ewait" after
     calling "efork".

BUG: (9/19/01) Half-A size frames are considered invalid when doing Check and Repair.
FIX: In "usrcheck.c:us_checklibrary()" allow "h" size frames.

BUG: (9/17/01) "Show Geometry on Network" doesn't show all information if network
     has no transistors.
FIX: In "network.c:net_showgeometry()", modified reporting to allow information that
     does not relate to transistors.

BUG: (9/17/01) Mimic stitching doesn't work if any node has changed size.
FIX: In "rout.c", do not clear "ro_createdarc" or "ro_deletedarc" when nodes,
     arcs, or exports are modified.

IMP: (9/17/01) IRSIM interface is working.

IMP: (DN, 9/17/01) Further progress in Qt port.
     Qt status bar;
     Messages Window;
     QFontDialog for messages font selection;
     Popup menu items of dialogs repaired;
     Icon of graphics window;
     Bug in nativemenurename;
     Bug in EDITLINE CharacterEdit mode;
     Unused fields screenleft, screenright, screentop, screenbottom removed from WINDOWFRAME;
     Order of items changed in us_dostatus;
     Removed X11 references from global.h, config.h.

IMP: (DN, 9/14/01) Drawing graphic primitives on off-screen buffer moved
     from graphunixx11.c,graphqt.cpp,graphpccode.cpp to graphdraw.c.

BUG: (9/12/01) Busses with temporary names have those temporary names propagated
     to their individual signals without the temporary name indicator, causing
     those signals to use the wrong name.
FIX: In "network.c:net_addnametonet()" and "net_ensurebusses()", must use "tempname"
     factor properly.

IMP: (9/12/01) SPICE options now offer to "Force Global PWR & GND" when writing deck.

BUG: (9/11/01) PostScript output does not consider rotated text.
FIX: Modified "iopsout.c:io_pstext()" to handle rotated text.

BUG: (DN, 9/11/01) Underscore is invisible in some TEXTEDIT dialog fields
     on OpenMotif, because their height is small.
FIX: Minimal height changed from 30 to 32.
TODO: Stretching dialogs instead of fixed-size

BUG: (DN, 9/11/01) Memory damage on Unix, because TDIALOG has maximum 50 items, while attribute dialog has more.
FIX: Maximum change to 100
TODO: Variable size item list

IMP: (9/10/01) Added "Enumerate..." to "Info/Attributes" submenu to fill out "?"
     in attributes.

BUG: (9/10/01) "Duplicate Current Facet" doesn't work right if the current facet is
     not in the current library.
FIX: Modified "evemenus.mac:pmfdupf" to preserve library information.

BUG: (9/10/01) NCC refers to "serial" transistors when it should use the term "series".
FIX: Changed the term throughout the code.

BUG: (9/10/01) Arrays are generated in wrong order (Y within X, not raster).
FIX: In "usrcomab.c:us_array()", change the line:
		for(x=0; x<xsize; x++) for(y=0; y<ysize; y++)
     to be:
		for(y=0; y<ysize; y++) for(x=0; x<xsize; x++)

IMP: (DN, 9/10/01) Added snapshot of Electric port to use Trolltech Qt library.
     Qt intended to be one more window system supported by Electric (now these are
     X11, MS Windows and Mac). It is contained in graphqt.h and graphqt.cpp. These
     files are derived from graphunixx11.c. Now this port is a mixture of Qt and Motif
     calls, and some functions are disabled at all. To try it, uncomment four lines in
     Makefile and link with qt-x11-free-3.0.0-beta4 from www.trolltech.com.  This port
     is not ready to use yet, wait please.

IMP: (9/9/01) Added ability to read SPICE RAWFILE output.

BUG: (9/9/01) When SPICE output files are plotted, simulation window cannot be moved.
FIX: Must keep track of type of simulation in global "sim_window_format" and only
     call "simals_initialize_simulator()" to redraw window if format is ALS (otherwise
     call "sim_window_redraw()").

BUG: (9/9/01) When resizing component menu on UNIX, doesn't always redraw properly.
FIX: In "graphunixx11.c:gra_graphics_event_handler()", "ConfigureNotify" case, must
     check for update to user repositioning before calling "gra_repaint()".

BUG: (9/7/01) When doing "Show Network" on a bus, other busses that only share signals
     but are not equivalent also get highlighted, leading to confusion.
FIX: In "network.c:net_highlightnet()", in the section with the comment:
		/* arc is bus: see if any of its signals are on network bus */
     now draw a line down the center of the bus, rather than highlighting it all.

IMP: (9/7/01) "Move Objects By" dialog now remembers last values typed.

BUG: (9/7/01) Running "Tools/ERC/Analyze Wells" with no facet generates a strange error.
FIX: In "erc.c:erc_analyzefacet()", initialize and terminate error logging even
     if other errors come up.

BUG: (9/7/01) Technology options stored with a library don't get properly restored.
FIX: In "usr.c:us_readlibrary()", must call:
		(void)asktech(tech, "set-state", var->addr);
     before the call to:
		setvalkey((INTBIG)tech, VTECHNOLOGY, us_techstate, var->addr, VINTEGER);

BUG: (9/7/01) MOSIS CMOS edge rule 8.5 not applied correctly.
FIX: In "drcbatch.c:drcb_checkdist()", use compute minimum edge distance but
     use box distance if it is greater.

IMP: (DN, 9/6/01) Result of emalloc is filled by nonzeroes on Unix to catch
     uninitialized fields.

BUG: (DN, 9/6/01) Crash on Unix when ".cadrc" is not found, because
     error message was send to unexisting messages window.
FIX: Messages are put to stderr when messages window is not valid.

IMP: (9/6/01) Window now automatically pans when cursor hits edge during
     node creation, pasting, and other times that it didn't before.

BUG: (9/5/01) SPICE netlister doesn't work right for busses that share signals
     with other exports.
FIX: In "simspice.c", use new scheme for organizing facet exports, taken from
     Verilog netlister.

IMP: (9/5/01) Now have more information in IRSIM and SPICE deck headers.

IMP: (9/5/01) Arraying arcs with range of numbers now arrays the range.

BUG: (9/5/01) Node names on filled artwork nodes are the same color as the node
     and so are not visible.
FIX: In "tecart.c:art_shapenodepoly()", must return after calling
     "tech_filldisplayablenvar()".

BUG: (DN, 9/4/01) Crash when closing floating menu on Unix.
FIX: Initialization of wf->pulldownmenucount
     in graphunixx11.cpp:gra_buildwindow is moved to proper place.

BUG: (9/4/01) Crashes on Windows if no choice is made from popup menu.
FIX: In "graphpccode.cpp:nativepopupmenu()", after the call to "TrackPopupMenu", add:
		if (pindex < 0) return(-1);

BUG: (9/4/01) Filled circles stop being filled when clipped at the screen edge.
FIX: In "graphxxx.c:screendrawdisc()", clip properly to screen.

IMP: (9/4/01) Added "default schematic technology" to SPICE options dialog so that schematics
     can be simulated using the proper technology.

BUG: (9/3/01) The SPICE model information typed in when creating a SPICE node is ignored
     when generating a deck.
FIX: In "lib/evemenus.mac", search for the string "SCHEM_source" and replace it with
     "SIM_spice_model".

BUG: (DN, 8/31/01) Crash while sizing component menu, because drawing area of
     menu entry is partially outside of component menu window.
FIX: More accurate cliping in screendrawtext. Other graphics primitives
     seems to clip already.

IMP: (8/31/01) Added "thick" circle and circle arc to artwork menu.
     Added thick circle and thick circle arc routines to "graphXXX" modules.
     Added THICKCIRCLE and THICKCIRCLEARC graphics types.

IMP: (8/31/01) On Windows, now sets the link between ".elib" files and Electric
     each time the program runs if it has changed.

BUG: (8/31/01) Changing the library path on Windows doesn't update the registry.
FIX: In "usrdiacom.c:us_librarypathdlog()", call "setlibdir()" instead of changing
     the value directly.

IMP: (8/31/01) IRSIM now has the option to compute parasitics quickly or not at all.

BUG: (8/30/01) PostScript printing shifts to the left.
FIX: In "iopsout.c:io_pswritefacet()", replace the code in "#if 0" with:
     	if (useplotter != 0)
		{
			io_pswrite("%s 300 mul %s 300 mul translate 90 rotate\n",
				frtoa(muldiv(pagewid, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)));
		} else
		{
			io_pswrite("%s %s add 300 mul %s 300 mul translate 90 rotate\n",
				frtoa(muldiv(pagewid, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)));
		}

IMP: (8/30/01) "Cross-Library Copy" now has option to NOT copy subfacets, leaving
     cross-library references.

IMP: (8/29/01) DRC now checks for invalid layers (such as metal 6 in a 4-metal process).

IMP: (8/29/01) Added "creation" field to TECH_ARCS structure.

IMP: (8/29/01) IRSIM deck generation sped up slightly, unconnected diffusion warnings
     removed.

IMP: (8/29/01) NCC sped up by improving performance of parallel component merge.

IMP: (8/28/01) Verilog output now clips to 80-character lines.

BUG: (8/28/01) When a dialog is brought up on UNIX, the window focus may change
     behind it, causing the dialog to work on the wrong window.
FIX: In "graphunixx11.c", only call "gra_getcurrentwindowframe(XX, 1)" if not in
     a dialog (if gra_curdialogindex < 0).  Also, added this call for the FocusIn
     event.

IMP: (8/27/01) Added "Name All Objects" to "Edit/Special Function" submenu.

IMP: (8/27/01) Added "Select Arc" to "Edit/Selection" submenu.

BUG: (8/27/01) When converting transistors from schematics to layout, length and
     width are reversed.
FIX: In "usrctech.c:us_tranplacenode()", reverse the last two arguments in the call
     to "transistorsize()".

BUG: (8/27/01) When converting transistors from layout to schematics, length and
     width locations are reversed.
FIX: In "usrctech.c:us_tran_logmakenodes()", when setting the length and width, use
     negative offset for length and positive offset for width (was reversed).

BUG: (8/21/01) When erasing a library, crash may follow.
FIX: In "dblibrary.c:eraselibrary()", remove the line:
		if (ni->proto->primindex != 0)
     Also, in "drc.c", change queued check objects to store the object address
     instead of the geometry module's address.

BUG: (8/21/01) When rereading a library that is referenced by other libraries,
     system may crash.
FIX: In "usrcomln.c:us_library()", instead of erasing an existing library before
     rereading, rename it and kill it later.  Then, before killing it, call the
     new routine "us_replacelibraryreferences()" to switch references.

BUG: (8/5/01) When in Artwork technology, use of "Technology Options" dialog
     to change "Filled Arrows" redisplays menu badly.
FIX: In "usrdiacom.c:us_techoptdlog()", in the "update "artwork" technology" block,
     change the "us_setmenunodearcs()" call to be "us_drawmenu(0, NOWINDOWFRAME)".

BUG: (8/5/01) When simulating, if the VHDL has errors, uses an older VHDL.
FIX: In "simalsgraph.c:simals_startsimulation()", check return value of
     "asktool()" call.  In "vhdl.c:vhdl_request()", in the "want-netlist-input"
     code, return nonzero if "vhdl_compile()" returns nonzero.  Modified
     "vhdl_compile()" to return nonzero if the compile fails.

BUG: (8/3/01) When generating VHDL code, electric may crash if there is
     an unnamed bus.
FIX: In "vhdl.c:vhdl_generatevhdl()", after the line:
		net->networklist[i]->temp1 = 1;
     add this line:
		pt = describenetwork(net->networklist[i]);

BUG: (8/2/01) "Cross-library Copy", when asked to move rather than copy,
     may move a facet twice, causing two copies in the destination library
     and an error message because it can't delete the facet twice.
FIX: In "usrnet.c:us_copyrecursively()", must check for the existence of
     the desired facet both before and after copying subfacets.

IMP: (8/2/01) Now warn when quick-key bindings are changed by a library.

IMP: (8/2/01) When creating an icon, issues warning if one already exists.

BUG: (8/2/01) "Cross-library copy" may crash.
FIX: In "network.c:net_nconnect()", before the comment:
		/* do not follow nonbus wires from a bus pin */
     insert the line:
		if (copp->network == NONETWORK) continue;

BUG: (8/1/01) "Down Hierarchy" doesn't show the proper export in the contents
     when descending into an icon, "Up Hierarchy" not always right, either.
FIX: In "usrnet.c:us_findlowerport()", must add extra code at end to switch
     to proper port in contents facet.  In "usrcomoq.c:us_outhier()", fixed
     icon/contents export switching code.

BUG: (7/31/01) "Get Info" on 4-port transistors reports the wrong size.
FIX: In "usrdiacom.c:us_getinfonode()", under the "sch_transistor4prim" case,
     change "frtoa" to "latoa" (in 3 places).

BUG: (7/31/01) Copying nodes with numeric names causes problems.
FIX: In "usrnet.c:us_copyvars()", change the first occurence of
     "returninfstr()" to "newname".

BUG: (7/30/01) Copy&Paste as well as Array do not place numeric nodes and arcs
     in the right order.
FIX: In "usrnet.c:us_copylisttofacet()", sort nodes and arcs by name before creation.
     Also, in "usrcomab.c:us_array()", sort node and arc lists.

BUG: (7/30/01) Verilog output is not correct for busses that have parts
     which are exported, merged, in complex arrangements, or power/ground.
FIX: In "simverilog.c:sim_writeverfacet()", detect such situations and write
     each part separately.

IMP: (7/29/01) "Verilog Options" now has popup to select a library.

IMP: (7/29/01) "Cross Library Copy" now remembers check settings and libraries.

BUG: (7/26/01) When generating VHDL, multiple busses that overlap cause
     duplicated "signal" entries.
FIX: In "vhdl.c:vhdl_generatevhdl()", rewrote the block that generates
     signals to detect duplication.

BUG: (7/20/01) On UNIX, may crash if pasting text when none was copied.
FIX: In "graphunixx11.c:getcutbuffer()", only call XFree if the string is valid.

BUG: (7/20/01) On UNIX, may crash if the T1 library is setup wrong.
FIX: In "graphunixx11.c:screengetfacelist()", check return value from
     "T1_LoadFont()" and use alternate face name if an error is returned.

BUG: (7/19/01) MOSIS rule 8.5 is checked even though stacked vias are allowed.
FIX: In "tecmocmos.c:mocmos_drcrules[]" remove references to rule 8.5.

IMP: (7/19/01) Text can be rotated.

BUG: (7/19/01) When two bus ports to a subfacet have a common signal (joined in the
     subfacet), SPICE still duplicate the line in the invocation.
FIX: In "simspice.c:sim_spicewritefacet()", check for duplicate signals, even in busses.

BUG: (7/19/01) On UNIX, large text sizes still reported.
FIX: In "graphunixx11.c:xxx()", clip size to 500 points.

*******************************************************************************************

For a complete history of changes, going back to the origins of Electric in the early 1980s,
contact Static Free Software.
