			Electric change log

************************* 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.

************************* Version 6.04: Released 7/19/01 *************************

IMP: Now have ECAD output module.

BUG: "Load Technology Library" doesn't work.
FIX: In "evemenus.mac", must switch to Artwork technology for it to work.

BUG: Crash on Alpha.
FIX: In "dbmath.c:computewindowscale()", prevent divide by zero.

IMP: New command: "Facets/Facet Information/List Nodes in this Facet" to
     show all nodes in the current facet.

BUG: "List Connections on Network" lists duplicate entries when network is complex.
FIX: In "network.c:net_set()", have the command work by node, not arc.

BUG: Exports not drawn properly at lower levels of depth.
FIX: Modified "usrdisp.c:us_drawnodeinst()" to handle export drawing properly.

BUG: Grid can be displayed in text windows.
FIX: Disabled this in "usrcomek.c:us_grid()".

IMP: NCC now detects series transistors and reduces them to a single object
     to avoid confusion when the gate orders are swapped.

IMP: Now shows the intended path of wires when creating them.

IMP: New NCC example from Sun.

IMP: Added DRC edge rules (such as MOSIS rules 8.5).

IMP: New load calculations for "List Geometry on Network".

BUG: Individual signals in busses are not followed properly through facets.
FIX: Improved bus following code in "network.c".

BUG: Cannot automatically switch to the FPGA technology because its primitive are
     not simple.
FIX: Added "NOPRIMTECHNOLOGY" bit in TECHNOLOGY->userbits to detect this.

BUG: Selecting the bottom line in the facet explorer may crash.
FIX: In "usrnet.c:us_highlightexplorernode()", must clip inversion rectangle to
     window bounds.

BUG: VHDL limits are too low.
FIX: In "vhdl.h", changed "IDENT_TABLE_SIZE" to be 80021 and changed "MAXVHDLLINE"
     to be 1000.  Also, in "vhdl.c:vhdl_freescannermemory()", changed "INTSML" to "INTBIG".
     In "iobinaryo.c:io_writevariables()", changed "INTSML" to "INTBIG".

BUG: VHDL with lines that are too long crash.
FIX: In "vhdl.c:vhdl_getnextline()" must check that lines do not exceed MAXVHDLLINE.
     In "vhdlparser.c:vhdl_reporterrormsg()", make sure the reconstructed line
     does not grow larger than the size of "buffer".

IMP: Added "Edit/Selection/Select All Like This" to extend selection to other arcs
     or nodes with the same type as the highlighted one.

IMP: When Pasting, if there is something selected, the paste modifies it to match
     the copied object.

IMP: Export "Get Info" now allows you to see or get-info on the exported node.
     Node "Get Info" now allows you to see or get-info on the exports.

IMP: Wiring now places a contact if it is required.

IMP: Schematic wiring now follows the same zigzag rules as layout wiring.

IMP: "List Networks" now mentions unnamed networks.

IMP: Renamed "aid" to "tool" in the code to match documentation.

BUG: Cannot select text that has been dragged too far from the original object.
FIX: New bit on nodes and arcs marks them as having text that is "far away".

IMP: New commands in "Attributes" subdialog: "Hide Attributes" and "Show Attributes".

IMP: New commands in Routing tool: "Copy Topology" and "Paste Topology" create
     unrouted wires to match topology.

BUG: Variables that refer to facets in other libraries are not saved properly.
FIX: In "iobinaryi.c" and "iobinaryo.c", check variables references for cross-lib.

IMP: New command "List Exports below Network" only goes down the hierarchy.

IMP: Multiply named networks now have the names listed alphabetically.

BUG: Export attributes are not always drawn on Artwork primitives.
FIX: In "tecart.c:art_shapeportpoly()" must not call "art_nodepolys/art_shapenodepoly"
     because it may destroy globals.

IMP: Now draw noninheritable attributes on facets and exports when expanding
     instances.

BUG: May not compile under UNIX because path to X11 headers is not correct.
FIX: In "Makefile.in", change the lines:
		CFLAGS = $(EXTRA_CFLAGS) $(DEBUG) $(ARCHFLAGS) -I$(HDS)
		XCFLAGS = @X_CFLAGS@ $(CFLAGS) $(TIFFLAGS) $(XPOWER) $(TRUETYPECFLAGS)
     to:
		CFLAGS = @X_CFLAGS@ $(EXTRA_CFLAGS) $(DEBUG) $(ARCHFLAGS) -I$(HDS)
		XCFLAGS = $(CFLAGS) $(TIFFLAGS) $(XPOWER) $(TRUETYPECFLAGS)

IMP: Changed CIF of MOSIS CMOS contact layer from "CCG" to "CCC".

IMP: When creating a wire and making a "T" into another wire, will create contacts
     to change layers.

IMP: Commands that take a selected network now can take multiple selected networks.

BUG: When a window has been split, and the facets being shown in them are not from
     the current library, their names don't get displayed in the title.
FIX: In "usr.c:us_ontablet()", must compute the proper library when calling "setval"
     for the "curnodeproto" field of the library.

IMP: Facet instances now have a maximum size for their text name.

BUG: Recognizes the string "e2" as a number (thinks the "e" is for exponent).
FIX: In "dbtext.c:isanumber()", must have digits before the "e".

IMP: Selection dialogs ("Select Networks", "Select Exports", and "Select Nodes")
     can now handle multiple selections.

BUG: Cannot change the type of an attribute in the text "Get Info" dialog,
     for example from "2" to "2.5" (from integer to float).
FIX: In "usrdiacom.c:us_getinfotext()", use "us_getsimpletype" to determine new type.

BUG: In the "New Facet Instance" dialog, checking the "Relevant facets only" when
     examining an alternate library may show only "irrelevant facets".
FIX: In "usrdiacom.c:us_oldfacetnextfacets()", change the line:
		view = us_curlib->curnodeproto->cellview;
     to be:
		view = el_curlib->curnodeproto->cellview;

IMP: Added ability to bind to plain and shifted keys (not just control/command keys).

IMP: Added "screengetdefaultfacename()" and use it in PostScript to produce correct fonts.

IMP: Added Lint checking directives.

IMP: Now have Half-A size frames.

BUG: Does not work under Compaq/Alpha operating system.
FIX: (1) Must add conditional include of "db.h" to "global.h", "configure.in",
         and "defines.h.in".
     (2) In "graphunixx11.c:gra_makeicon()", change the code in "case 24: case 32:" from
			((long *)gra_iconrowdata)[i] = background;
         to:
			setptr = &((char *)gra_iconrowdata)[i*4];
			*setptr++ = background;
			*setptr++ = background;
			*setptr++ = background;
			*setptr++ = background;
         Also, declare "char *setptr".
     (3) In "graphunixx11.c:DiaGetCurLine()", and "graphunixx11.c:DiaSetScrollLine()",
         make declaration of "count" and "pos" be "int", not "INTBIG".

IMP: The size of a transistor is now shows as two values (length and width)
     instead of a single value with a separating "/".

IMP: Spice output now handles busses.

IMP: Dragging the thumb in a slider moves the window interactively.

BUG: When both wide and multi-cut rules apply (a large contact), they conflict
     and are not always checked.
FIX: In "dbtech.c:tech_getdrcmindistance()", must apply the worst rule.

IMP: New command "Windows/Messages Window/Save Window Location" to save messages window
     position.

BUG: "Make Schematic" may adjust existing icons.
FIX: In "usrctech.c:us_convertfacet()", change the call to "us_tran_logadjustnodes()" to
     "us_tran_makemanhattan()".

IMP: Reporting of the distance between two objects (when two are selected and
     "Get Info" is done) now uses proper instance center information.

IMP: Mirroring of Transistor and Ground primitives now works sensibly.

IMP: "Erase and Reconnect" can now handle many selected objects.

BUG: "Duplicate current facet" doesn't always switch to that facet.  If there is
     already a contents view of the new facet name, that is shown.
FIX: In "evemenus.mac:pmfdupf", remember view of original facet and use it in display.

BUG: "Cleanup Pins" removes pin between two named arcs.
FIX: In "usrnet.c:us_cleanupfacet()" do not remove and reconnect if the two
     arcs have names on them.

IMP: Status bar now shows true selected node instance, even if it is an icon.

BUG: When two libraries reference each other in a circular fashion, they crash when read.
FIX: In "io.c:io_fixnewlib()" must only renumber networks after the topmost library is read.

BUG: When an export has the same name as an instance, automatically generated VHDL
     is erroneous.
FIX: In "vhdl.c", modified name generation to detect clashes and fix the signal name.

IMP: When duplicating arcs with names, now ensures proper generation of new names.

BUG: IRSIM netlisting crashes if the contents does not have an icon export.
FIX: In "simirsim.c:sim_irsimrecurse()", must test result of "equivalentport()".

BUG: MOSIS CMOS design rule 6.8b is not handled right.
FIX: In "tecmocmos.c", change all 3 occurences of:
		mocmos_setlayerspacing("Active-Cut", "Poly-Cut", K2, "6.8b", 0, 0);
     to:
		mocmos_setlayerspacing("Active-Cut", "Poly-Cut", K4, "6.8b", 0, 0);
     And remove all 3 occurrences of lines that start with:
		mocmos_setlayerspacing("Poly-Cut", "Active-Cut"

BUG: Verilog netlister doesn't handle busses right, and fails when more than one
     arc is connected to a node's port.
FIX: In "simverilog.c:sim_writeverfacet()", under the comment "write explicit port names",
     the loop "for(pi" must have this line in it at the end:
		if ((pp->userbits&PORTISOLATED) == 0) break;
     Also, in that routine, under the comment "write the ports again", change
     "sim_convertverexport(pp)" to "sim_convertvername(pp->protoname)".

IMP: ERC sped up by using bounding box information.

BUG: When copying arcs, hidden network names get copied too, causing problems.
FIX: In "usrnet.c:us_copylisttofacet()", do not copy hidden arc names.

BUG: IRSIM netlisting doesn't handle unconnected and unexported port of facet
     instances.
FIX: In "simirsim.c:sim_irsimrecurse()", when loading facet before recursive
     call, the last loop should include node names with the network names.

IMP: Now have "Inst." component menu entry that shows a popup menu of instances.

IMP: When connecting two nodes without directional ports, slight offsets of the
     cursor about the destination node determine the angle of the connection.

IMP: Auto-panning of the screen, which occurs when moving objects, now also
     occurs when a wire is created, area selection is made, object is stretched.
     distance is measured.

BUG: Sequence of DRC errors is not truly sorted by layer.
FIX: In "drcbatch.c:drcb_reporterror()", better computation of last parameter to
     "logerror()".

BUG: UNIX TrueType systems don't draw fixed-width text right (in text editors).
FIX: In "graphunixx11.c", change all occurences of the line:
		if (gra_truetypeon != 0 && gra_truetypesize > 0)
     to be:
		if (gra_truetypeon != 0 && gra_truetypesize > 0 && gra_curfontnumber <= 8)
     (happens once in "screengettextsize()" and twice in "gettextbits()")

BUG: Adjusting window positions on multiscreen UNIX system doesn't work.
FIX: Extended code in "graphunixx11.c:adjustwindowframe()" to handle screens.

IMP: Now have internal sort routine ("esort()") which does better sorts
     than the in-line bubble sorts (uses quicksort).

IMP: "Export" menu now has "Summarize Exports" as well as "List Exports" (the
     first combines busses and electrically equivalent ports).

BUG: Adding new exports to a schematic doesn't always create the right type of
     pin in the icon (doesn't follow "Icon Options" rules).
FIX: In "usrnet.c:us_makenewportproto()", use the same pin selection and sizing
     code as in "us_makeiconfacet()".

BUG: If bus export has width changed, instances of that facet may have wrong-width
     connections.
FIX: In "network.c:net_newvariable()", added code to check and handle export name
     change.  In "usrcheck.c", detect this situation.

IMP: Networks with two consecutive numeric elements now use ":" for range indication
     rather than "," (fixed "network.c:net_buildnetname()").

BUG: NCC fails for power and ground nets that are only identified inside of instances.
FIX: In "netflat.c:net_buildpseudo()", spread power and ground from exports as well as
     power/ground nodes; and pickup existing networks.

BUG: Unnamed internal bus networks act incorrectly after back annotation has
     been done (such as by simulation netlisting).
FIX: In "network.c:net_nconnect()", move "buswidth" determination out of "arcname"
     conditional.  Added code to arcname block to append array specifier if not there.

IMP: Technology descriptions for "mocmos" and "mocmossub" better explain the
     state.

BUG: When changing the name of an arc that has been automatically named (by
     deck generation), the new name doesn't display right.
FIX: In "usrnet.c:us_setarcname()", only use existing arc name text descriptor
     if the arc name is displayable.

BUG: When in Node "Get Info" dialog and click to see info on selected arc,
     that arc is not highlighted on the display.
FIX: In "usrdiacom.c:us_getinfonode", must call "us_showallhighlight()" and
     "us_endchanges()" before "us_getinfoarc()".

BUG: After simulation deck generation, unnamed bus arcs generate spurious
     error messages about inconsistent width.
FIX: In "network.c:net_nconnect()", do not complain about width inconsistencies
     if the name on the arc has no dimension indication.

BUG: IRSIM deck generation may crash when buses are not named.
FIX: In "simirsim.c:sim_irsimrecurse()", check "net->namecount" before
     calling "sim_irsimbuildnetname(net->netname)".

IMP: Sped up highlighting of reported errors (especially NCC errors).

IMP: Changing the name of an export on an icon or contents changes the
     associated export too.

BUG: Arraying schematic P-transistors causes them to become N transistors.
FIX: In "usrcomab.c:us_array()", include "NTECHBITS" in the "keepbits" value.

BUG: Making UNIX window too short crashes.
FIX: In "graphunixx11.c:gra_recalcsize()", make sure height is valid.

IMP: Windows messages window can now handle any amount of text.

IMP: Modified arc names in Artwork technology to be more sensible ("Dash-1/2/3"
     now "Dotted/Dashed/Thicker").

IMP: Now allow an instance of the icon to be placed in the contents for illustration.
     When creating an icon, places the instance.

IMP: IRSIM deck generator sped up.

IMP: Now have two words of text descriptor information, a wider selection of
     text sizes, and other text attributes (typeface, italic, bold, etc.)
     Modified all routines to use new macros for accessing text descriptor.
     Modified dialogs to handle new fields.

BUG: Undo of modification to C-structure array variables (something that is probably
     never done) crashes.
FIX: In "dbchange.c:db_reversechange()", in the "VARIABLEMOD" case, must call
     "changedvariablename()" with "p3" as the last argument, not "p4".

IMP: When shift is held down but nothing is selected, area-selection is forced.

BUG: Doing "undo" to text editor after it starts removes entire buffer.
FIX: In "usreditpac.c:us_editpacaddline()", "us_editpacreplaceline()", and
     "us_editpacdeleteline()" must clear the TEXTTYPED bit from the editor state.

IMP: Multi-object "Get Info" dialog now allows you to remove items from selection.

BUG: Verilog netlisting not right.
FIX: In "simverilog.c", use proper MOS transistor names, use "supply" statement,
     and instantiate busses properly.

IMP: Replaced NCC engine with one that is similar to "Gemini".
     Required that each primitive node have unique NETWORK objects on its
     primitive ports (changed "network.c:net_redoprim()").

BUG: UNIX popups may grow too wide and obscure other items in the dialog.
FIX: In "graphunixx11.c:DiaSetPopup()", force the entries to their predefined width.

BUG: Scroll lists on UNIX may not show the selected item.
FIX: In "graphunixx11.c:DiaSelectLine()", change:
		if (line < first || line > first+visible)
     to:
		if (line < first || line >= first+visible)

BUG: Switching windows or facets while measuring distance causes the display to freeze.
FIX: In "usrtrack.c:us_distancedown()", abort measurement when facet changes.

IMP: More efficient readable dump input and output.

BUG: Full path to library file not kept, so file may be saved to wrong place
     if current directory changes.
FIX: Created routine "fullfilename()" and modified "dbtext.c:db_tryfile()" to use
     it.  Also modified "iobinaryi.c:io_doreadbinlibrary()" to rewrite library file.

BUG: Splitting window with facet explorer splits horizontally.
FIX: In "usrmisc.c:us_splitcurrentwindow()" added code to force explorer to split vertically.

IMP: Added caching to the language interpreter evaluation.

IMP: Added "project name" to schematic frames.

IMP: Added "Show Libraries" to INFO menu to show libraries and their dependencies.

BUG: "Change" dialog offers the option to change all in the library, but it
     actually changes all in ALL libraries.
FIX: Modified the wording to be correct.

IMP: Now have "Java Options" to set compiler flags.

************************* Version 6.03: Released 3/30/01 *************************

BUG: When nodes and text are selected, arrow keys don't move the text.
FIX: Generalized the text motion code in "usrtrack.c" and applied it in
     "usrcomln.c:us_move()".

BUG: PostScript printing gets "date in corner" wrong, may show grid incorrectly.
FIX: In "iopsout.c", redid date and grid code.

BUG: Scaling zero-size outlines crashes.
FIX: In "usrmisc.c:us_scaletraceinfo()", detect zero size nodes.

BUG: NCC fails when there are multiple exports on a network or when there are bus names.
FIX: Improved NCC to examine network names more carefully.

BUG: Cannot wire into something that is small and off-grid (i.e. an offgrid
     schematic wire).
FIX: In "usrnet.c:us_getclosest()", added a "slop" argument and use "us_alignment/2"
     in calls to that routine.

IMP: "Array" command now remembers switch settings.  Also allows even sized
     centered arrays.

BUG: Re-exporting bus exports from nodes that have names generates illegal bus
     export names.
FIX: In "usrnet.c:us_reexportport()", check for bus name and add node name in
     the right place.

IMP: Added fields to "CELL": "tailnodeproto", "tailcell", and "numcells"

BUG: Limit of 32K variables in a text file.
FIX: In "iotexti.c:io_libcc()", changed INTSML to INTBIG.  In "iotexto.c",
     declare "io_facetnumber" to be INTBIG.

BUG: Tiny text not shown.
FIX: In "usrwindow.c:us_writetext()" make sure text is at minimum size.

BUG: Undoing a change of variable grab point may crash.
FIX: Changed "modifydescript()" (in AID, CONSTRAINT, and API call) to use the
     variable's key instead of the actual variable object.

IMP: Added "PADS" netlist writing.

IMP: Now have pad library from Sun.

IMP: Imported files bypass constraint and change control for better efficiency.

IMP: GDS input now handles path endpoints correctly.

IMP: Added "changesquiet()" to permanently turn off broadcast/constraint.
     Renamed "nextvarchangequiet()" to "nextchangequiet()".

IMP: Now have both port and export display options.

IMP: Changed lambda unification dialog to be more sensible.

BUG: Simulation of circuits with mangled names (i.e. "in", which is a reserved
     VHDL keyword is mangled to "innv") does not track changes from the waveform.
FIX: Added "getcomplexnetwork()" to handle networks with mangled names.

BUG: DRC crashes when ignoring minimum width/size errors.
FIX: In "dr_reporterrors()", only call "dr_setignore()" once.

BUG: Changing size of facet text does not work.
FIX: In "usrdiacom.c:us_modtextsizedlog()", must loop through all facet variables.

BUG: The rename dialog may get confused if multiple objects have the same name.
FIX: In "usrdiacom.c:us_renamedlog()", in the call to "us_rename()", the first
     parameter should be 3, not 2.

IMP: Now use symbolic item numbers for dialogs.

BUG: NCC matches components without regard to port order.
FIX: New code in "netdiff.c" to handle port order properly.

IMP: "Cleanup Pins" now moves text that has strayed from invisible pins.

IMP: Now saves technology options with the library and warns if they are
     different when the library is read back in.

IMP: CIF input can now handle more than 32K cells.

BUG: UNIX component menu always gets smaller with each technology switch.
FIX: In "graphunixx11.c", detect size changes that came from user and only
     save them when constraining component menu size.

BUG: Busses generate spurious NCC errors.
FIX: In "netdiff.c:net_reportunusedpnet()" ignore bus nets.

IMP: Changed "Active-Node" in MOSIS CMOS to "P-Active-Node".

IMP: Added input scale to EDIF.

BUG: Changes to a node size does not invalidate the last valid NCC.
FIX: In "network.c", queue changes to node variables and invalidate NCC date.

IMP: NCC now compares other component values (resistance, capacitance, etc.)
     and has a tollerance for the match.

BUG: Connection to the input of AND, OR, and XOR gates arrive at the wrong location.
FIX: In "usrcomcd.c:us_create()", before calling "aconnect()", reset prefered
     location to the true value if the ports are isolated and the coordinate
     is inside of the port area.

BUG: 2-bend arcs that zig-zag to connect may have the perpendicular segment
     misaligned.
FIX: In "usrarc.c:us_twobend()", call "gridalign()" on "prefx" and "prefx".

BUG: DRC may crash after reading library.
FIX: In "drc.c:dr_killobject()", must scan check list and remove entries that
     match the killed object.

IMP: Now use hash tables to find cell names quickly.  Also created "pickprime"
     routine.

BUG: After nonhierarchical DRC, list of errors is at the end.
FIX: In "drc.c:dr_reporterrors()", make additional call to "termerrorlogging()"
     after errors have been reported.

BUG: Improper setting of "FACET_schematic_page_size" variable may cause a crash.
FIX: In "dbnoproto.c:db_getframedesc()", only copy 9 characters of variable.

IMP: Modified the Technology Editor to use the new dialog which includes all rules.

BUG: Some options get saved into normal libraries and overwrite when read back in.
FIX: In "dbvars.c:makeoptionstemporary()", change "el_curlib" to "lib".

IMP: List of views when creating a new facet is more sensibly ordered.

IMP: Added routines "describedisplayedvariable()" and "truevariablename()" to
     generalize the display of variables.

IMP: Fixed "dbvars.c:makedisparrayvarpoly()" so that it can handle non-array variables.
     Now use it in "usrdisp.c:us_getnodebounds()" and "us_getarcbounds()" to
     properly determine a facet size.

BUG: PostScript output not always at the right scale.
FIX: In "iopsout.c", use "muldiv()" calls instead of shifting by 16.  Also changed
     "io_getareatoprint()" to take option to NOT shrink area.

BUG: DRC doesn't highlight minimum size errors.
FIX: In "drcbatch.c:drcb_reporterror()", call to "addgeomtoerror()" should set
     last parameter nonzero if no polygons were part of error.

IMP: Added IRSIM interface.

BUG: Clicks in waveform window sliders don't always work.
FIX: In "simwindow.c:sim_window_horizontalslider()", first test should compare
     against "sim_waveformwindow->usely", not "DISPLAYSLIDERSIZE".  In "sim_window_verticalslider()",
     first test should compare against "sim_waveformwindow->uselx", not "DISPLAYSLIDERSIZE.
     In "sim_window_buttonhandler()", slider tests should use "uselx/y".

IMP: When text windows are shown, size field gives the number of lines of text.

BUG: Validation of instances takes too long in file input.
FIX: In "io.c:io_fixnewlib()", only check prototypes of instances that are not
     from the library just read in.

IMP: Added wide wire and multi-cut design-rules.  Improved DRC options dialog
     to make rule editing easier.

IMP: Added "Equate Like-Named Instances" to NCC for setting equates automatically.

BUG: Cannot switch "Print Options" to plotter.
FIX: In "usrdiacom.c:us_plotoptionsdlog()", set IO state bits at the very end of the routine.

IMP: "Delete View" only shows views that can be deleted.

IMP: Added arc name output to SKILL output.

BUG: Cannot handle file paths with spaces in it.
FIX: In "usrcomrs.c:us_rename()", check for spaces test only on library name,
     not the path.

IMP: Added "t" command to ALS simulator to trace events on selected signal.

BUG: deleting a line break in the text editor doesn't record the change properly.
FIX: In "usreditpac.c:us_editpacimplementchar()", must set the dirty flag after
     the call to "us_editpacremoveselection()".

IMP: When stretching simulator waveform window, extra signals are added.

IMP: "Delete" key now works right in text editor under Windows.

BUG: Printing nonedit windows (i.e. simulation waveform windows) on Windows fails.
FIX: In "graphpccode.cpp:gra_printwindow()", must use true window bounds when
     printing nonedit windows.

IMP: Added the ability to change the Flip-flop type from the node "Get Info" dialog.

IMP: Silicon compiler now makes cross-library references to cell library instead
     of forcing activity to take place in cell library.

BUG: "Attributes" dialog may crash when it starts.
FIX: In "usrhigh.c:us_undrawfacetvariable()", change the line with the call to
     "us_makescreen()" so that it "continue"s when the result is nonzero.

IMP: Silicon Compiler now has option to place N-well and can place main power
     lines in horizontal or vertical layer.

IMP: Modified "dbtech.c:getpurelayernode()" to handle N and P type in function.

IMP: MOSIS CMOS contacts use dark grey instead of black; vias use gray instead
     of light-gray so that black labels and white highlighting shows well.

IMP: Technologies with options now show better description that includes range of options.

IMP: "Show Facets Graphically" now produces better looking output.

BUG: Cannot select text and replace the underlying pin.
FIX: In "usrdiacom.c:us_replacedlog()" and in "usrcomrs.c:us_replace()", change
     test to look at "high->fromgeom".

IMP: Pad frame generator now makes reference to pads unless requested to copy them.

IMP: Now have 4-port transistors in the Schematic technology.

BUG: Copying image to clipboard doesn't work right on Windows if grid is on.
FIX: In "graphpccode.cpp:gra_copyhighlightedtoclipboard()", must mask index
     by 0xFF.

IMP: "Down hierarchy" in simulator now shows the type of node.

BUG: Latches don't simulate properly.
FIX: Need extra strength values in simulation so that transistors can downgrade
     their signal.  Doubled strength values (from 0,1,2,3 to 0,2,4,6) and use
     intermediate values at the other end of transistors.

BUG: Labels on busses are obscured by the busses.
FIX: Modified "tecschem.c" to use transparent layer 3 for busses.

IMP: Icon generation now places ports in alphabetical order.

IMP: Added the "mouse wheel" for panning on Windows.

IMP: Can now request that simulation waveform window tile with original window.

IMP: DRC errors no longer force the messages window to the top.

IMP: Splash screen only displays if there are no saved options.

IMP: Facet list dialogs now have check box that only shows relevant facets.

BUG: Cannot parse VHDL that has capitalized keywords.
FIX: In "iovhdl.c", change all "strncmp" to "namesamen".

BUG: In "New Arc Options", the dialog forgets the default arc sizes when you
     switch arcs.
FIX: In "usrdiacom.c:us_defarcload()", use "ap->temp2" instead of "defaultarcwidth(ap)".

BUG: The dialog to edit a new facet doesn't always remember whether or not
     to create a new window.
FIX: In "usrdiacom.c:us_editfacetdlog()", must not reset the "makenewwindow"
     field.

BUG: On Windows, when messages window is maximized then closed, system crashes.
FIX: In "graphpcmsgview.cpp:OnSize()", only call "gra_resize()" if
     "gra_messageswindow" is nonzero.

IMP: Schematic components that are differentiated (i.e. flip-flops, transistors,
     capacitors, diodes, sources, and two-ports) now store their differentiation
     in the node's "userbits" word and only store the value in the variable.

IMP: Added language selection to the Text "Get Info" dialog.

IMP: Added routines "getparentval()" and "getparentvalkey()" to get a variable
     from the hierarchy.  Also added "getParentVal()" to Java.

IMP: Added language attribute to the "Attributes" dialog.

BUG: When changing information on variable that is code, changes are ignored.
FIX: Created "getvalnoeval()", "getvalkeynoeval()" and "evalvar()" routines
     to separate the evaluation of code variables from the fetching.  Added
     "fromvarnoeval" field to HIGHLIGHT, and modified "usrhigh.c:us_makehighlight()"
     to fill it separately.  Finally, modified "usrmisc.c:us_modifytextdescript()"
     to use this field instead of the evaluated one.

BUG: When simulating and going down the hierarchy, may crash on quit.
FIX: In "simalscom.c:simals_erase_submod()", change the term "simals_levelptr"
     to "conhead".

IMP: When going up or down the hierarchy during simulation, now keep the
     time information in the waveform window.

BUG: When arc name is changed during simulation, simulator keeps on running.
FIX: In "sim.c:sim_newvariable()", detect change to arc name and stop simulation.

IMP: When generating an icon, bus arcs no longer attach to the black-box, but
     instead attach to an invisible pin at the body location.

IMP: Sped up ALS simulation that involves many MOS transistors (see "FASTERSIM"
     in "simalsuser.c").

IMP: When multiple arcs connect to a schematic primitive at the same port,
     node shows Steiner point there.

BUG: Auto-switching of technology happens when window is explorer or waveform.
FIX: In "usr.c:us_slice()", only call "us_ensurepropertechnology()" if the
     window is of type display.

BUG: When window is split, title of window doesn't show current partition.
FIX: In "usrstatus.c:us_setfacetname()", ignore partition names if in the same
     frame and not the current window.

BUG: Commands in the "View" menu that create or view an associated view do not
     work if the current facet is not in the current library.
FIX: Changed "evemenus.mac" to handle libraries properly.

IMP: When moving export names on invisible pins (found in icons), now moves
     the pin too.

BUG: When saving simulation vectors to disk, file name is asked twice.
FIX: In "simalscom.c:simals_vector_command()", 3rd parameter to "xcreate()" call
     should be 0.

BUG: When wiring to a facet, the size of the primitive in the facet is not used
     to compute proper wire placement.
FIX: In "dbmath.c:reduceportpoly()", must handle facet instances.

BUG: When automatically generating icons, should retain port characteristics.
FIX: In "usrnet.c:us_makeiconfacet()", copy the "STATEBITS" bits when creating
     a port.

BUG: Viewing in 3D clips things that weren't visible in 2D.
FIX: In "usrcomwz.c:us_window()", in the "3-dimensional" option, fill the
     screen first.

BUG: "Redisplay Window" doesn't always work (fails if doing "Measure Distance").
FIX: In "usrcomrs.c:us_redraw()", add "us_endchanges(NOWINDOWPART);" at end.
 
BUG: Connecting a node to an arc may crash.
FIX: In "usrarc.c:us_getnodeonarcinst()", in the area under the comment
     "adjust to closest point", must not only set "*ipp" but also "*ipos".

IMP: Added "Estimate Delays" command to ERC.

BUG: "Describe all facets" shows facets in the library of the current cell, not
     the current library.
FIX: In "usrcomrs.c:us_show()", in the "facets" case, set the library to the
     current library, regardless of the current facet.

BUG: When graphing facet structure, multiple libraries may confuse grapher.
FIX: In "usrgraph.c:us_graphfacets()", check for negative "temp1" inside
     depth-insertion loop, not outside of it.

BUG: When skeletonizing or iconifying a facet that is not in the current library,
     resulting facet is not shown.
FIX: Fixed macro "evemenus.mac:pmvskic".

IMP: "Facet Options" now takes a library selection.

BUG: "List Geometry On Network" may produce incorrect results.
FIX: In "network.c:net_propgeometry()", change the line:
		transmult(trans, rot, subrot);
     to:
		transmult(rot, trans, subrot);

BUG: Pins may become invisible for no reason.
FIX: Redid calculation of WIPED bit in "usr.c:us_newobject()" and "usr.c:us_killobject()".
     Also added check of WIPED bit in "usrcheck.c:us_checklibrary()".

IMP: Added new design-rule check: minimum node size.

BUG: Cannot handle simulation of busses.
FIX: In "vhdl.c:vhdl_addtheseports()", break busses into individual signals.
     In "vhdl.c:vhdl_generatevhdl()", make sure internal node busses are broken down too.

IMP: When wiring into another node, now leaves that node AND IT'S PORT highlighted.
     (modified "usrcomcd.c:us_create()").

IMP: CIF output now checks that the "94" markers are clearly visible and not obscured
     by higher layers.

BUG: If layout has been simulated and schematic is unchanged, simulating it will not
     recreate the VHDL.
FIX: In "vhdl.c:vhdl_request()", must check first line of VHDL.

BUG: On UNIX, file select dialog can be covered by edit window.
FIX: In "graphunixx11.c:fileselect()", in the USETIF case, added parameter
     "XmNdialogStyle=XmDIALOG_PRIMARY_APPLICATION_MODAL" to input and output dialogs.

IMP: Modified VHDL compiler to handle more modern constructs:
     1) Now ignore "library" statement (added "KEY_LIBRARY" and "vhdl_parsetosemicolon()"
        and modified "vhdlparser.c:vhdl_parser()").
     2) Now ignore handle complex "use" statement (modified "vhdlparser.c:vhdl_parseuse()"
        and "vhdlsemantic.c:vhdl_semuse()").
     3) Now accept "std_logic" instead of "BIT" (added "std_logic" to
        "vhdlsemantic.c:vhdl_createdefaulttype()").
     4) Now ignore "A =>" in port maps (modified "vhdlparser.c:vhdl_parseactual_port_list()").

IMP: Simulation waveform window now allows variable number of signals according to size.

IMP: Added NODEPROTO->cachedequivfacet, PORTPROTO->cachedequivport to cache
     cross-facet port associations to speed up "equivalentport" (used in many
     network operations).

BUG: Cannot interrupt on Windows if progress dialog is up.
FIX: In "graphpcdialog.cpp:OnCmdMsg()", check for interrupt key sequence.
     Also added invisible "edit" field to progress dialogs.

IMP: Added command to change text size.

IMP: Added "window" argument to "arcpolys/nodepolys/nodeEpolys" so that proper
     scaling can be done.  Also allows "visible only inside facet" to work.

IMP: Added option to set default text size for different types of text.

IMP: Now warn when VHDL conversion produces an "open" (a component is not
     connected).

BUG: Wide wires don't connect directly.
FIX: In "dbmath.c:reduceportpoly()", do not allow the resulting polygon to
     have negative area.

IMP: Added medium step to Control-arrow panning controls (now "s", "m", and "l").

BUG: Via-to-via DRC is not being made when the vias are connected.
FIX: In "drcbatch.c:drcb_checkdist()", the touching rule must be separated
     from the "con" flag.

BUG: Renaming networks doesn't work.
FIX: In "network.c:net_renamenet()" must look for name without "[]" and must
     also rename exports.

IMP: "List Instances" now shows their location.

IMP: Added "move by" command to move objects by relative amount.

IMP: Reduced list of ports by combining those that are electrically equivalent
     and those that are on the same bus.

BUG: May crash when running pad frame generator.
FIX: In "dbtext.c:getfiletype()", use loop up to "db_filetypecount".

BUG: New arcs that run directly (1, not 2 or 3 segments) are not centered.
FIX: In "usrarc.c:us_directarcinst()" only adjust to prefered location for
     ports that are "isolated" (i.e. left side of AND, OR, etc.)

BUG: Export name locations may be wrong when offset.
FIX: In "usrnet.c:us_maketextpoly()", use lambda computed from node and technology;
     in "usrhigh.c:us_gethightextcenter()" PORTPROTO case, compute lambda from parent;
     in "usrdisp.c:us_writeprotoname()", compute lambda from parent.

BUG: Changing the spacing of bold grid dots doesn't redraw.
FIX: In "usrdiacom.c:us_griddlog()", detect bold dot changes and redraw.

IMP: Moving by large amounts (with control-arrows or shift-arrows) now uses the
     bold dot spacing". Moving with control-shift-arrows goes by bold-squared.

BUG: VHDL compiler may crash on bad input.
FIX: In "vhdlparser.c:vhdl_reporterrormsg()", the "default" case should print
     a number, not a string.

BUG: Changes to text-only facets are not considered significant.
FIX: In "dbchange.c:db_change()", mark changes to the "el_facet_message" as major.

BUG: Pasting into text windows may insert extra blank lines.
FIX: In "usreditpac.c:us_editpacpaste()", detect CRLF and reduce it.

IMP: Modified "Select All" to work in text edit windows.

BUG: Default arc width and node size don't stay constant when lambda scales.
FIX: In "dbcreate.c:defaultarcwidth()/defaultnodesize()",
     "usrcomcd.c:us_defarc()/us_defnode()", and
     "usrdiacom.c:us_defarcdlog()/us_defnodedlog()" use fractional values
     instead of lambda values.

BUG: SPICE output complains about the active in well contacts.
FIX: In "simspice.c:sim_spicewritefacet()" in the "miscellaneous checks"
     section, ignore nets that are "sim_spice_power" or "sim_spice_ground".

BUG: May crash when reading libraries.
FIX: In "drc.c:dr_unqueuecheck()", be sure the parent is valid before
     finding its library.

IMP: Added text search-and-replace facility.

IMP: Added ability to center arrays.

BUG: When autorouting, prefered arc may obscure routing possibilities
FIX: In "routauto.c:ro_checkstitching()", must check prefered arc followed
     by all others.

BUG: PostScript output may generate zero-sized text.
FIX: In "iopsout.c:io_pstext()", quit if font is zero.

IMP: Skeletonization now connects electrically-equivalent ports.

BUG: Multiple facet-centers can be placed without warning.
FIX: Created "usrmisc.c:us_addfacetcenter()" to queue facet center creation
     and modified "usrmisc.c:us_doubchanges()" to check for duplicates.

IMP: Modified multi-object "Get Info" dialog to sort and enumerate objects
     in the list.

BUG: TrueType text may take too long to display.
FIX: In "usrwindow.c:us_writetext()", when determining proper font, must calculate
     proper font from excess size.

IMP: Elapsed time is now expressed in minutes and hours (if appropriate).

IMP: Added option to "mocmossub" technology to use "deep" or "scmos" rules.

IMP: Added ability to set transistors "weak" in ALS simulator.  Added weak
     transistor functions in "simalsuser.c".  Added proper ALS network generation
     for these in "vhdlals.c:vhdl_genals()".  Added code in "vhdl.c:vhdl_primname()"
     to generate the weak names if the node is flagged.  Added GUI to set
     "weak" flags.

BUG: VHDL keywords used as signal names get "NV" added to them and cannot
     be crossprobed.
FIX: In "simwindow.c:sim_window_findtrace()", try adding "NV" if basic name
     search fails.  Also, in "network.c:net_parsenetwork()", try removing
     "NV" when searching for name.

BUG: Port name "bit" causes keyword conflict when translated to VHDL for
     simulation.
FIX: In "vhdl.c:vhdl_addstring()", check for "bit" and add "NV".

BUG: Grids change size when library with different lambda value is read in.
FIX: In "io.c:io_unifylambdavalues()" must call "us_adjustlambda()" when
     current library is adjusted.

BUG: 3D view of well contacts shows active layer too high.
FIX: In "tecmocmossub.c:mocmossub_3dheight_layers[]", set P-active-well to 13.

BUG: Copying selected object images to clipboard doesn't include text.
FIX: Defined "usrdisp.c:us_getnodebounds()" and "us_getarcbounds()" to get
     node/arc extent including text.  Use it in "usrhigh.c:us_getareabounds()".

IMP: Added Bus wire and pin to Analog Schematics menu.

IMP: Changed Analog schematic components so that their highlight fits tightly:
     Power, Ground, Resistor, Capacitor.

BUG: Stacked via errors are not detected.
FIX: In "drcbatch.c:drcb_checkdist()" must check spacing, even if the layers
     touch are are electrically connected (don't just check minimum size).

IMP: ERC now gives more information on spacing errors.

BUG: Crashes if library with premature EOF is read.
FIX: In "io.c:io_request()", only call "io_unifylambdavalues" if "l == 0".

BUG: Crashes at exit.
FIX: In "tecmocmossub.c:mocmossub_setstate()" must allocate the
     "techdescript" string.

BUG: Cannot select simulation signals when waveform window is gone.
FIX: In "simalsgraph.c:simals_charhandlerschem()", use result of
     "sim_window_findtrace()" instead of currently highlighted.

BUG: Crash during startup.
FIX: In "usrparse.c:us_addusercom()", must reverse order of calls to
     "us_parsecommand()" and "us_fillcomcomp()".

IMP: Extended "Spread" so that it remembers previous dialog settings and
     can handle multiple nodes.

IMP: Generalized the MOSIS CMOS PLA generator to be able to handle the
     "mocmossub" technology.  Added cell library for it.

IMP: Setting the signal name "[1]" (missing bus name) no longer changes the
     name to match the presumed bus.  Also doesn't issue warning.

BUG: After doing outline editing, the shift-select button doesn't work right.
FIX: In "evemenus.mac:pmepolx", set %A to "find port extra-info more interactive".

IMP: Renamed well/substrate contacts in "mocmossub" to be more sensible.
     Now, "Metal-1-Substrate-Con" is "Metal-1-N-Well-Con" and
     "Metal-1-Well-Con" is "Metal-1-P-Well-Con"

IMP: Now have "bold" lines in Artwork technology.  Renamed the
     "Opened-FarDotted-Polygon" primitive to "Opened-Thicker-Polygon".
     Also changed line texture 3 (OPENEDT3) from "far dotted" to "thicker".

IMP: Modified schematic transistors so that their size is placed properly
     (doesn't obscure output port).

IMP: SKILL output faster: no longer merges contact cuts.

IMP: Added ability to change the size of text in the facet explorer window.

BUG: Full-views of facets with text may not be correct.
FIX: In "usrdisp.c:us_fullview()", must set "nodexfvalid=0" inside the "ni" loop.

BUG: Changing an export (deleting, creating, or renaming) on facets whose
     instances are in another library doesn't mark that other library as
     changed.
FIX: In "conlay.c", filled in the routines "cla_layconnewobject()",
     "cla_layconkillobject()", and "cla_layconnewvariable()" to detect
     these changes and update instances.

IMP: Now have MOSIS CMOS technology option to disallow stacked vias.

BUG: DRC doesn't handle well notch detection right because it doesn't know
     when well is connected (so it uses unconnected rule).
FIX: Created "drcbatch.c:drcb_adjustedmindist()", to presume that implants
     are always connected. 

BUG: DRC doesn't catch Select-to-Select layer errors and minimum with Select.
FIX: In "tecmocmossub.c:mocmossub_connectedtable[]" added entries of "B" for
     LSELECT-to-LSELECT.

IMP: Simulator now remembers signal order.

IMP: Simulator now detects deletion / modification of VHDL and netlist facets
     and stops simulation.  Added "sim_modifyvariable", "sim_insertvariable",
     and "sim_deletevariable" to "sim.c".

BUG: When going "down hierarchy" in the simulation, may not display any signals.
FIX: In "simalscom.c:simals_level_command()", add the line:
		sim_window_settopline(0);
     before the last line which calls "simals_initialize_simulator()".

IMP: Invalid keystrokes are now described correctly ("Ctrl-s" instead of "M-s").

BUG: In multi-window UNIX, allows drag-and-drop.
FIX: In "graphunixx11.c:initgraphics()", disable drag-and-drop in both
     windows if they exist.

BUG: Mirroring doesn't always work.
FIX: Because mirroring uses "temp1" on node instances, and this is also used
     in verbose highlighting, mirroring fails.  Verbose highlighting now uses
     the HIGHLIGHTNVER bit in "userbits" for nodes and HIGHLIGHTAVER for arcs.

BUG: Saving a library reports a number of facets saved that is more than what is
     in the current library (includes all facets in sublibraries).
FIX: In "iobinaryo.c:io_writebinlibrary()" must keep a count of facets in the
     current library and report that.

BUG: UNIX startup may crash while finding ".cadrc".
FIX: In "graphunixx11.c:setupenvironment()", (line 1926), add "len = strlen(pt);"
     before the line "pt[len-6] = 0;" (there are two of these, one is missing).

IMP: NCC now checks export names (if name associations are requested) to make
     sure they are on the same net.

BUG: If "Check port order" is used in NCC, MOS transistors fail to compare.
FIX: Modified "netflat.c:net_buildpseudo()", "netdiff.c:net_allalike()", and
     "netdiff.c:net_diffwirelist()" so that port order is only applied to
     facet instances.

BUG: May think an unused empty library is changed and prompt to save it.
FIX: In "dblibrary.c:changelambda()", only set LIBCHANGEDMAJOR if the library
     has facets.

BUG: Windows "Print" command doesn't handle "rotation" switch.
FIX: In "graphpccode.cpp:gra_printwindow()", use rotation to set print default.

BUG: Polygon merging still fails.
FIX: When inserting holes into merged polygon, must consider all holes and
     add them in the order of proximity to the main polygon.
     When looking for holes, do not consider points that are at the same
     location of others that have been seen.

BUG: Metal-5/6 contact has wrong number of cuts when it is 10x10.
FIX: In "tecmocmossub.c:mocmossub_m5m6[]", change "f3" from K1 to K2.

IMP: Simulator now resimulates to match the waveform window scale.
     Modified "simwindow.c" and "sim.c" to resimulate rather than redisplay.

BUG: "Cut" and "Erase" commands function differently.
FIX: Unified code, created "usrnet.c:us_eraseobjectsinlist()".

BUG: On Windows, the "Copy" command includes highlighting.
FIX: In "graphpccode.cpp:gra_copyhighlightedtoclipboard()", strip off HIGHLIT bit.

IMP: Changes to port characteristics are now reflected between icon and
     contents (modified "dbnoproto.c:changeallports()").  Also check for this
     in "Check and Repair".

IMP: Facet display now includes very large port text (modified
     "usrdisp.c:us_fullview()" and "iopsout.c:io_pswritefacet()").

IMP: CIF output resolution checking now has the option to find but not show.

BUG: If export is re-exported but not wired, CIF output ignores it.
FIX: In "iocifout.c:io_cifwritefacet()", when writing ports (at end)
     check all hierarchical levels of port, not just top.

IMP: If deleting too much circuitry, now turns off network maintainer during
     deletion and turns it back on after deletion.

BUG: When saving a library, library name may become corrupt.
FIX: In "iobinaryo.c:io_writebinlibrary()", save file name in allocated space.

BUG: If a library has its own DRC rules, they overwrite existing rules but
     do not update cache, so rules become garbage.
FIX: Extended "registertechnologycache()" to take variable keys, and added
     new routine: "changedtechnologyvariable()" to test for cached variable keys
     on technologies and update them.  Use this in "iobinaryi.c", "iotext.c",
     and "drc.c".

IMP: Removed obsolete "mocmos2" technology.

IMP: Changed the relative text sizes TXTSMALL, TXTMEDIUM, and TXTLARGE to a wider
     range that is pegged to lambda size: TXTHL, TXT1L, TXT2L, TXT3L, TXT4L, TXT5L,
     and TXT6L.  Modified "io.c:io_fixnewlib()" to adjust sizes in existing
     libraries.  Modified "dbtext.c:truefontsize()" to compute font real sizes.
     Change all code that uses former sizes (small became 1L, medium 2L, large 4L).
     Changed TXTEDITOR and TXTMENU defines to be negative, removed TXTSTATUS.
     Modified all "screensettextsize()" routines to use real sizes.
     Changed "screensettextsize()" and "truefontsize()" to use INTBIG.

IMP: UNIX installation now creates the "bindir":
		$(INSTALL) -d -m755 @bindir@ $(prefix)/lib/electric

************************* Version 6.02.1: Released *************************

BUG: Cannot connect a node to an arc.
FIX: In "usrcomcd.c:us_create()", the code:
		if (toport == NOPORTPROTO)
		{
			us_abortcommand(_("Cannot connect to %s: it has no ports"),
				geomname(togeom));
			return;
		}
     must go after the call to "us_getnodeonarcinst()".

BUG: "cut" of node with connected arcs fails:
FIX: In "usrnet.c:us_cutobjects()", change the lines:
		while(ni->firstportexpinst != NOPORTEXPINST)
			killportproto(np, ni->firstportexpinst->exportproto);
		startobjectchange((INTBIG)geom->entryaddr.ni, VNODEINST);
		killnodeinst(ni);
     to:
		us_erasenodeinst(ni);

************************* Version 6.02: Released November 29, 2000 *************************

BUG: Crashes if attempt is made to wire to a node with no ports.
FIX: In "usrcomcd.c:us_create()", must check the "toport" result of
     "us_createajoinedobject()".

BUG: Changing Units may not adjust everything properly.
FIX: In "dblibrary.c:db_scalefacet()", remove the line:
		if (ni->proto->primindex == 0) continue;
     and in "dblibrary.c:db_scalenodeinst()", always adjust node bounds, even
     if facet instance did not change size.

BUG: Cannot skeletonize facets that aren't in the current library.
FIX: In "usrcomcd.c:us_copyfacet()", change the line "tolib = el_curlib" to be
     "tolib = fromlib" and remove the code that tests to be sure that
     "fromlib == tolib".

BUG: Changing the text in a nonlayout-text get-info dialog fails.
FIX: In "usrdiacom.c:us_getinfotext()", removed the "#if 0" around the call
     to "setind()".

IMP: "Change" now has the option to ignore port names in matches.  Added
     "ignore-port-names" option to "replace" command, added "ignoreportnames"
     parameter to "replacenodeinst()".

IMP: UNIX now looks for ".cadrc" in standard places to better ensure startup.

IMP: Modified "usrnet.c:us_makeiconfacet()" so that icons align with grid
     boundaries.

BUG: NCC may find errors but still report that the facets are equivalent.
FIX: In "netdiff.c:net_ncconelevel()", must increment "found" when calling
     "net_reportunusedpnet()".

IMP: Now copy Facet Center node when skeletonizing facets.

BUG: When replacing facets with facet centers, alignment is not done right.
FIX: In "dbnoproto.c:replacenodeinst()", if both facets have facet centers,
     must use proper starting value of "lx/hx/ly/hy":
		lx = ni->lowx;   hx = lx + np->highx - np->lowx;
		ly = ni->lowy;   hy = ly + np->highy - np->lowy;

BUG: Polygon merging may miss holes if they are all intersection points.
FIX: In "dbmerge.c:db_mergepoly()", remove the lines:
		if (mp->intersect[i] != 0) continue;
     and:
		if (omp->intersect[oi] != 0) continue;

BUG: Determining technology of a facet may cause crash.
FIX: In "dbmath.c:whattech()", must not use the "temp1" field of technologies.

IMP: Modified "configure.in", "makefile.in", "config.h", and "usrcomek.c"
     to better handle UNIX installation and to find the manual.

BUG: Selection of boxed text on nodes doesn't work.
FIX: In "usrnet.c:us_getnodetext()", must handle BOXED case right for
     displayable node variables.

BUG: Boxed text doesn't make sense for ports.
FIX: Removed ability to set port text to "boxed".

BUG: EDIF output doesn't generate proper names for logic gates.
FIX: In "ioedifo.c:io_edifwritefacet()", the "sprintf" call with the format "%s%d"
     needs an extra parameter at the end: "i".

BUG: When a signal name gets mangled by VHDL generator (i.e. "Z[2]" becomes "Z_2_")
     it cannot be found in the schematic when clicked in waveform.
FIX: In "network.c:net_parsenetwork()", must handle this case.

BUG: Highlighting of signal names in waveform window is too high.
FIX: In "simwindow.c:sim_window_drawtracedrag()" and "sim_window_highlighttrace()"
     shift Y value up by 2.

BUG: If multiple objects are rotated, "Get Info" changes work in the wrong axis.
FIX: In "usrdiacom.c:us_showdlog()" must reverse coordinates if rotated.

BUG: When primitives have nonstandard size, center-based placement is wrong.
FIX: In "dbmath.c:corneroffset()", must accout for proper primitive size.

IMP: When N and P are switched, display is redrawn.

IMP: Modified dialogs so that they make no change if "OK" is clicked but nothing
     was actually changed.

IMP: Cast-of-thousands list now tells what each person did (when you click on their name).

BUG: Compaction causes DRC errors.
FIX: In "compact.c:com_minseparate()", polygons are connected only if
		"pindex == nindex && pindex != -1"
     Also, use special DRC rule to ignore spacing when layers are the same
     and involve contacts or substrate.

IMP: Now shows unassociated networks in NCC.

IMP: Changed Analog Schematic components to set default values on creation
     rather than prompting for new values.

BUG: Unable to "redo" more than one level.
FIX: In "dberror.c:termerrorlogging()", must only set "aid:user.USER_local_capv"
     if the new value is different.

BUG: "See Manual" fails silently on Windows.
FIX: In "graphpccode.cpp:browsefile()", test return code of "ShellExecute()".

IMP: Changed constants "FILETYPETEXT" to variables "el_filetypetext" so that tables
     and constants don't have to align.  Also changed all filetype parameters to be
     INTBIG in "multifileselectin()", "describefiletype()", "getfiletype()" "xopen()",
     "xcreate()", "fileselect()"

IMP: Added special dialog for "new pure layer node" and detection when there are none.

BUG: When multiple windows are open and library is replaced, some windows persist.
FIX: In "usrcomln.c:us_library()", clear windows after clearing their facet.

IMP: When there are no ports, "show exported ports" says so.

BUG: When ignoring power and ground in NCC, may produce incorrect number of nets.
FIX: In "netflat.c:net_makepseudo()", must create a PNET for every network, just
     ignore if it necessary.  Also in "netflat.c:net_buildpseudo()", must do the same.

IMP: Added to "check and repair library" check to ensure that ports on icons
     have same characteristics as ports on contents.

BUG: When switching technology after being outside of Electric, may crash.
FIX: In "usrwindow.s:us_ensurepropertechnology()", only bring window to front
     if it is non-null.

IMP: Added routines to Java interface: "nodePolys", "shapeNodePoly", "nodeEPolys",
     "shapeENodePoly", "arcPolys", "shapeArcPoly", "layerName", "layerFunction",
     "maxDRCSurround", "DRCMinDistance", "DRCMinWidth", "makeRot", "makeTrans",
     "xformPoly"

BUG: Crashes when mirroring or rotating nodes with no ports (facet instances).
FIX: In "usrcomln.c:us_mirror()" and "usrcomrs.c:us_rotate()", must create a
     node and port if there is no port, and then delete that later.

BUG: User-defined SPICE models get no parameters assigned to them.
FIX: In "simspice.c:sim_spicewritefacet()", must assign nonzero values to "pp->temp1"
     after including model cards.

BUG: After creating a new technology (with the technology editor), crash may
     result if universal pins are used.
FIX: In "tecgen.c:gen_makeunivlist()", must not leave zero entry at start
     after the first run of the routine.  Also must store results in real
     node prototype after the first run.

IMP: Converting to layout now gives better error messages, shows result.

BUG: "Annular Ring" command cannot work in Schematics technology, but tries to
     anyway.
FIX: Added same code as in "Text (layout)" command to detect pure-layer nodes.

BUG: Cancelling the "Change" dialog crashes on Macintosh and UNIX/Athena.
FIX: Modified "usrdiacom.c:us_replacedlog()" to do the "us_replace()" call.
     Also, in "graphmac.c/graphunixx11.c:DiaDoneDialog()" popup case, only
     free "namelist" if "count" is positive.

BUG: DRC doesn't highlight properly.
FIX: In "drcbatch.c", must set "drcb_topfacet" whenever "drcb_checkallprotocontents()"
     is recursively entered.

BUG: DRC mistakenly flags errors involving transistor gate tab and nearby contact.
FIX: In "drcbatch.c", crop all arcs against connected nodes and visa-versa; when
     cropping, split the difference in the overlap.

BUG: Nonmanhattan polygons that are stippled have an outline drawn around them.
FIX: In "screendrawpolygon()", must only draw outline if requested.

BUG: Technology editor doesn't always create an example of a contact that
     exhibits multi-cut rules.
Fix: In "usredtecg.c:us_tecedmakelibfromtech()", ensure that multi-cut
     contacts are exactly the right size to show-off multi-cut property.

BUG: Hierarchical NCC marks upper facets clean even if lower ones aren't
FIX: In "netflat.c", redid clean tracking.

BUG: Technology editor creates incorrect layout to describe nodes and arcs.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", handle scaling of lambda right.

BUG: Cannot simulate a facet that is not in the current library.
FIX: In "vhdl.c:vhdl_startoutput()" change "el_curlib" to "np->cell->lib".

BUG: VHDL generation may break comment lines onto two lines.
FIX: In "vhdl.c" define new function "vhdl_printoneline()" which never splits
     the line and then use it for all comments.

IMP: Made POLYGON a first class object (created VPOLYGON and added firstvar/numvar
     to the structure.

BUG: When hierarchical DRC finds an error between objects in separate subfacets,
     it displays both subfacets.
FIX: In "dberror.c:reportcurrenterror()", do not force display of Geom's facet
     if the geom is not to be shown.

BUG: Polygon merging may produce colinear or duplicate points.
FIX: In "dbmerge.c:mergedone()", call "db_mergesimplifyandbbox()" before
     handing polygon to user.

BUG: Windows dialogs look wrong when "large fonts" are used.
FIX: Modified "graphpccode.cpp:DiaInitDialog()" to handle both font settings.
     Also fixed icon drawing to be at the right scale.

BUG: UNIX popup menus don't work.
FIX: Fixed "graphunixx11.c:nativepopupmenu()".

IMP: Can now set default orientation on a per-nodeproto basis.

IMP: "Unroute" command of Routing tool now handles arbitrary networks.

BUG: VHDL generation still gets ports in wrong order when there is an icon.
FIX: In "vhdl.c:vhdl_addrealports()" must consider icon/contents distinction.

BUG: If facet without facet center is replaced with one that has a facet center
     (or visa-versa), placement is wrong.
FIX: In "dbnoproto.c:replacenodeinst()" only adjust for facet centers if both
     have them.

BUG: Simulator crashes when run for the second time.
FIX: In "simalscom.c:simals_erase_model()", must reset "simals_linkfront" and
     "simals_linkback" to zero.

BUG: When large node is shrunk, flexible connected arcs may no longer connect.
FIX: In "conlay.c:cla_modflex()", must check that "thisend" is still in port
     and adjust if not.

BUG: Changing end-extension in arc "get info" dialog causes bad database.
FIX: In "usrdiacom.c:us_getinfoarc()" must call "modifyarcinst()" if anything changes.

BUG: Reading referenced libraries may corrupt database.
FIX: In "iobinaryi.c:io_readexternalnodeproto()", when checking for valid
     facet, allow revision date to be bad without invalidating reference.  Also,
     if there are more than one instance of a bad facet, only create 1 cell.
     Also, in "iobinaryi.c:io_ensureallports()", put fake port on zero-size node.

BUG: Cannot rotate or mirror circle-arcs (from artwork technology).
FIX: In "dbmath.c:isinside()", must handle CIRCLEARC case.

IMP: Modified "nodepolys" and "nodeEpolys" to reduce the number of polygons
     when there are multiple cuts in a very large contact.  Modified
     display routines to use this to avoid drawing all cuts when scaled out.

BUG: Mirroring may cause infinite loop of errors.
FIX: In "usrcomln.c:us_mirror()", must check result of "newarcinst()" and
     abort.

IMP: New code in "usrcheck.c" to properly recover from formerly unrecoverable
     errors (rebuilds R-Tree if it is bad).

BUG: Silicon compiler crashes if power and ground routing cannot be done.
FIX: In "sc1route.c:Sc_route_create_power_ties()", change the lines:
		for (num = 1; num < chan->number; num++)
			row = row->next;
     to be:
		for (num = 1; num < chan->number && row != 0; num++)
			row = row->next;
		if (row == 0) return(SC_NOERROR);
     In "sc1route.c:Sc_route_create_ground_ties()", change the lines:
		for (num = 0; num < chan->number; num++)
			row = row->next;
     to be:
		for (num = 0; num < chan->number && row != 0; num++)
			row = row->next;
		if (row == 0) return(SC_NOERROR);

BUG: Inheriting port variables on rotated nodes comes out wrong.
FIX: In "usrmisc.c:us_inheritattributes()", modified port code to handle
     transformation right.

BUG: When a facet contents changes, and instances are in other libraries, the
     instances may not scale properly.
FIX: In "conlay.c:cla_computefacet()", must examine all libraries when looking
     down the hierarchy.

BUG: Deleting facet variables crashes.
FIX: In "usrcomek.c:us_erase()" must detect facet and port variables and handle them.

BUG: No minimum size is specified for Poly-2 and the contacts in MOSIS CMOS Submicron.
FIX: Modified tables to supply minimum size.

SUN: Added interface to Predictable Auto Router.

BUG: Moving an arc that can slide doesn't slide it.
FIX: In "usrnet.c:us_manymove()", check to see if the motion is all slidable
     arcs, and if so, don't move the attached nodes.

BUG: External libraries from other operating systems have invalid paths.
FIX: Modified "skippath()" to handle separators from all operating systems.
     Modified "iobinaryi.c:io_readexternalnodeproto()" to look for local
     files before considering path.

BUG: Closing the initial edit window during startup crashes.
FIX: In "usr.c:us_do3init()" must check that "el_curwindowpart" is valid
     before using it.

IMP: Changed the size of lambda in the Artwork technology from 2000 to 4000
     so that it matches the schematic technology.

BUG: On Windows dialogs, Escape key doesn't always terminate dialog.
FIX: In "graphpccode.cpp:DiaDimItem()", must call "NextDlgCtrl()" after
     dimming.

BUG: If there is no current window when a library is read, the top facet
     is not displayed.
FIX: In "usrcomln.c:us_library()", after successfully reading library,
     create a new window if there isn't one.

IMP: Added options to PostScript generation to produce hierarchical files.

IMP: "Copy" on Windows now copies the image to the clipboard for pasting into
     other applications.

BUG: Text on exported ports appears wrong when port is on rotated node.
FIX: In "dbvars.c:adjustdisoffset()", must transform node when type==VPORTPROTO
     (change #if 0 to #if 1).  In "dbtechi.c:tech_filldisplayableportvar()",
     must reset node orientation to zero before calling "portposition()".
     In "usrhigh.c:us_gethightextcenter()", remove these lines:
		makerot(high->fromport->subnodeinst, trans);
		xformpoly(poly, trans);

BUG: When editing text in place, crashes if you type down-arrow at the last line.
FIX: In "usrmisc.c:us_editvariabletexthandlechar()", change the line:
		if (us_editvarendline < us_editvarlength)
     to:
		if (us_editvarendline < us_editvarlength-1)

IMP: Added "Library Options" to "IO Options" (which used to be "Foreign File
     Options") which sets preferences for backups of binary files.

IMP: Can now connect from a node to any other node, with multiple arc creation.

BUG: Cannot select multiple pieces of text and move them.
FIX: Fixed "usrtrack.c" to handle arbitrary text selection during interactive
     select/move.

BUG: When simulation clears all vectors, the power and ground signals go away.
FIX: In "simalscom.c:simals_clearallvectors()", do not remove strongest signals.

IMP: Warning now issued if an icon is simulated.

BUG: When simulating and the window changes, must remove the red border.
FIX: In "usrwindow.c:us_switchtofacet()" must turn off simulation bit before
     copying old window into new.

BUG: VHDL generation is incorrect when icons are used.
FIX: In "vhdl.c:vhdl_addportlist()" must switch to contents facet if given
     an icon, and must check that ports line up.

BUG: When R-Tree information is incorrect, "Check and Repair Library" must
     be run multiple times to correct it.
FIX: In "usrcheck.c:us_checkrtree()", reverse order of descent and check.

BUG: If text edit window is too narrow for header text to appear, crashes.
FIX: In "usreditpac.c:us_editpactext()", must copy string if cropping it.

IMP: System notices when two libraries have inconsistent lambda values (after
     the second is read in) and presents a dialog for unifying the values.

IMP: "Units" dialog now allows you to change individual technology lambda values.

IMP: Lambda values are now taken from the library array (and are specific to
     the library/technology) and not from the technology.  NODEPROTO->tech
     is now valid for facets.

BUG: When setting "Frame Options", you can select a frame and not an orientation.
FIX: In "usrdiacom.c:us_frameoptionsdlog()", fixed code to force an orientation.

BUG: Doing "Get Info" on rotated node shows incorrect sizes.  Hitting OK transposes
     the sizes.
FIX: In "usrdiacom.c:us_getinfonode()", do not call "us_getnodedisplaysize()" but
     compute size directly.  In "us_getnodedisplaysize()", reverse last assignment
     to "xsize" and "ysize".

BUG: When there is layout, schematics, and icon, going up the hierarchy from the
     layout gets you to the higher-level schematics.
FIX: In "dbnoproto.c:iconview()" must ignore icon if there is layout and schematics
     and if going from layout.

BUG: Function keys are not properly handled in the "Quick Key Options" command.
FIX: In "usrdiacom.c:us_loadquickkeys()", must change the line:
		if (us_quickkeyskey[j] != pt[1]) continue;
     to:
		if (us_quickkeyskey[j] != (pt[1]&0xFF)) continue;

BUG: When schematic frame is displayed, window panning locks to edges.
FIX: Removed code in "usrwindows.c" and "usrcomwz.c" that clips to frame edge.

IMP: Now show all unconnected/unexported ports on expanded facets with "+".

BUG: Crashes if a referenced library is deleted.
FIX: In "usrcomln.c:us_library()", in the "kill" option, check to see that
     the library isn't referenced elsewhere.

IMP: Put "Offpage" in the Analog Schematics component menu, and combined Spice
     parts into a full submenu.

BUG: UNIX version doesn't compile with "ANYDEPTH" turned off.
FIX: Minor improvements to "graphunixx11.c".

IMP: The "Text Options" dialog now allows you to switch to the EMACS-like editor.

BUG: Technology lists don't give proper technology description at first.
FIX: In "usrdiacom.c:us_technologydlog()", must call "us_stufftechdescript()"
     after selecting default.

IMP: Added many new options to Network Consistency Checker, including new way
     to do hierarchical check (recursive single-level checks), checking of transistor
     sizes, individual facet overrides, etc.

BUG: Unusual libraries may cause crash.
FIX: In "iobinary.c:io_doreadlibrary()", change the line:
		if (io_binindata.curnodeproto != -1 && io_binindata.curnodeproto < io_binindata.nodeprotoindex)
     to:
		if (io_binindata.curnodeproto >= 0 && io_binindata.curnodeproto < io_binindata.nodeprotoindex)

IMP: Changed the "Read Technology Library" command to "Load Technology Library"
     to be less confusing.

BUG: If last line of DRC has no carriage-return, crashes.
FIX: Rearranged list of layers in "usredtecc.c".

IMP: Added "Shorten arc" command to "cleanup menu" to shorten arcs to their
     minimum, given the port areas.

BUG: Splitting a text edit window can crash.
FIX: In "dbvars.c:db_winvars[]", remove the "VCANTSET" from the "editor" line.

BUG: If current facet in library has only "facet center" in it, reading library
     switches to generic technology.
FIX: Modified command file to never automatically switch to generic.

BUG: Cells cannot have the "/" character in their name because it interferes
     with highlighting.
FIX: Modified multiple highlight code to use tab instead of "/".

BUG: Some dialogs with scroll lists may loop infinitely.
FIX: In "usrdiacom.c" check termination for the routine "DiaGetScrollLine()" by
     an empty string, not a null string. 

IMP: Added "_()" around strings to prepare for internationalization.

BUG: Infinite string package doesn't work if two sub-strings are created during
     the build of a master string.
FIX: Modified the package to find new strings more intelligently.

BUG: Error messages are issued on UNIX when creating a new window.
FIX: In "graphunixx11.c:gra_getcurrentwindowframe()" must not call "setvalkey".

BUG: Moving the component menu from left to right/bottom/top on UNIX fails.
FIX: In "graphunixx11.c:gra_graphics_event_handler()", in the ConfigureNotify
     case, must only set "gra_palettetop" when setting "gra_paletteheight".

IMP: Added "Window Adjust" commands to tile windows readably.

IMP: Added generalized error reporting system to "dberror.c".

IMP: Modified "iosuei.c" to read SUE files with busses better.

IMP: Modified "network.c" to handle busses better.

BUG: Schematic "Join net" of two equal-length busses doesn't merge the busses,
     just their signals.
FIX: In "network.c:net_joinnetworks()", added merging code at end.

IMP: Schematics now show point where non-bus arcs connect to bus pins.

BUG: Windows allows clicks in menu/other windows when dialog is present.
FIX: Modified "graphpccode.cpp" to disable other windows during dialogs.

IMP: Added ability to select nodes by name.

IMP: SPICE nodes now display shorter SPICE string if it is too long.

BUG: Changing a parameterized node string (such as the Spice card on a Source)
     in the text Get-Info dialog fails.
FIX: In "usrdiacom.c:us_getinfotext()", must save the return value of
     "describevariable(high->fromvar, (INTSML)lindex, -1)".

BUG: Technology edit crashes if new layer is added and design rules are modified.
FIX: In "usredtecc.c:us_teceddrcterm()", after the line:
		efree((char *)us_teclayer_names);
     add the line:
		us_teclayer_names = 0;

IMP: Added "Apply" button to "outline get info" dialog to see changes.

IMP: Added dependent sources (CCVS CCCS VCVS VCCS) to SPICE (from Tom Riley).

BUG: GDS Path records handle end-extension incorrectly.
FIX: In "iogdsi.c:io_gdsIdetermine_path()", change the line:
		if (endcode == 0) fextend = textend = width/2;
     to:
		if (endcode == 0) fextend = textend = 0;

IMP: Can now cancel Silicon Compiler special instructions with the "Cancel"
     button.

BUG: Cursor coordinates do not track on Windows, and status bar doesn't change
     back when cursor coordinates are turned off.
FIX: In "usrstatus.c:us_initstatus()", make the parameters to "ttydeclarestatusfield()"
     for "us_statusxpos" and "us_statusxpos" be identical to that of "us_statuslambda"
     and "us_statustechnology".  Also, in "graphpccode.cpp:gra_mouseaction()", add
     code to track cursor coordinates (similar to in "graphmac.c:gra_nextevent()").

BUG: Unable to change the size of an arc with the "Edit/Size/Interactively".
FIX: In "usrcomrs.c:size()", in the interactive arc case, move the call to
     "us_demandxy()" to after the call to "trackcursor()".

BUG: Inverter load not set right in ALS simulation.
FIX: In "vhdlals.c:vhdl_genals()", in the initialization of "inverter", change the line
     "load: in=1.0" to "load: a=1.0".

BUG: Text not always in the right place.
FIX: In "dbvars.c:getdisparrayvarlinepos()", must always compute "trans"
     array, even if "lowleft" is zero.

************************* Version 6.01: Released 7/14/00 *************************

BUG: When multiply-named networks have their connecting arc removed, they still
     are connected through name-sharing.
FIX: In "network.c:net_killobject()", after the first call to "net_takearcfromnet", add:
		if (ai->network != NONETWORK && ai->network->namecount > 1)
		{
			np = ai->parent;
			net_startglobalwork(np->cell->lib);
			np->userbits |= REDOFACETNET;
			return;
		}

BUG: Multipage schematic views are not properly tagged as multipage.
FIX: In "iobinaryi.c:io_doreadlibrary()", and in "iotexti.c:io_libvie()",
     after the sucessful call to "allocview()" add this:
		if (namesamen(v->viewname, "Schematic-Page-", 15) == 0)
			v->viewstate |= MULTIPAGEVIEW;

BUG: When display units are not "lambda", using arrow keys to move moves too far.
FIX: In "usrcomln.c:us_move()", changed the "left"/"right"/"up", and "down"
     cases to reset display units before calling "atola".

IMP: Modified UNIX printing to use the PRINTER environment variable.

IMP: Added "View/Edit Icon View".

IMP: Added "Windows/Redisplay window" to refresh screen.

IMP: Added "Windows/Cursor/Center" to center the cursor.

IMP: Added Eagle netlist output generation.

IMP: Added option to automatically name nets as they are created.  Modified
     "network.c:net_newnetwork()".

BUG: When copying and pasting schematic circuitry with arc names, the names are
     mangled.
FIX: In "usrnet.c:us_copyvars()", do not make arc name unique if it is in a
     schematic facet.

IMP: Moved the checkbox "Place Facet-centers in icons" from the "Facet Options"
     dialog to the "Icon Options" dialog.

IMP: Simulation waveform windows now have horizontal scrollbars.

BUG: Option saving dialog fails to mark all options for saving.
FIX: In "usrdiacom.c:us_optionsavingdlog()", must OR all entries in
     "bits" to "savebits" when "OK" is clicked.

IMP: Added JAVA interpreter to Windows and UNIX (Solaris/LINUX).

IMP: Menu entries to expand/unexpand facets by more than just 1 level.

BUG: Clicking "OK" to the "edit facet" dialog when there are no facets gives errors.
FIX: In "usrdiacom.c:us_editfacetdlog()", must detect empty facet name and ignore it.

BUG: Arraying pins that are wired (and therefore invisible) makes new pins
     that are invisible.
FIX: In "usrcomab.c:us_array()", change the line:
		newno->userbits = ni->userbits;
     to:
		newno->userbits = (newno->userbits & ~(NEXPAND|HARDSELECTN)) | (ni->userbits & (NEXPAND|HARDSELECTN));

IMP: Ability to set displayable variables on facets and exported ports.

IMP: Ability to see attribute name as part of display.

IMP: Ability to inherit attributes from facet/export to instance/port.

IMP: Changed "graphunix11.c" to be Alpha compatible.

IMP: Dragging a window partition divider to the edge deletes the partition.

IMP: "Cleanup pins" now shrinks oversized pins.

BUG: Polygon area ("dbmath.c:areapoly()") may fail.
FIX: Compute polygon area in floating point.

IMP: CIF output now only puts "94" comments if there is real geometry present,
     uses new polygon merging code.

BUG: If there are multiple versions of a facet or its icon, the Facet Explorer
     displays incorrectly.
FIX: Now show all associated facets with the instances.

BUG: When window is split, and divider is dragged, then one part is deleted and
     recreated, the split bar is drawn wrong.
FIX: In "usrmisc.c:us_splitcurrentwindow()", must reset the split ratio when dividing.

IMP: Display units are now a saved option.

IMP: Added external library references to text I/O.

IMP: Added LEF and DEF to standard release (Cadence released it!)

IMP: Added "Attribute" dialog for ease of user-defined attributes.

IMP: Added progress to CIF output.

IMP: Added progress to ERC output, switched it to use new polygon merging code.

BUG: New polygon merging fails in simple situations.
FIX: In "dbmerge.c:db_mergempoly()", must simplify "omp" if all points are
     intersections, and "omp" is the larger polygon.  Also change the line:
		if (omp->intersect[oi] == 0 && db_insidempoly(omp->x[i], omp->y[i], mp) == 0) break;
     to:
		if (omp->intersect[oi] == 0 && db_insidempoly(omp->x[oi], omp->y[oi], mp) == 0) break;

IMP: Modified "revision date" to be the date of the last major change.

IMP: Added "Cleanup All Facets" to cleanup pins everywhere.

BUG: DRC finds minimum-width error for polygonally-defined nodes that have
     holes (touch themselves).
FIX: In "drcbatch.c:drcb_checkminwidth()" ignore line segments that are identical.

IMP: In "Facet Options", added buttons to set instance lock bits for all facets.

IMP: Modified "Change" so that it can change to instances from another library.

IMP: Converted text edit sliders to new format.

IMP: Added new option to "Cross-library copy" to examine facets and tell if they
     are really different.

BUG: Failure to copy facets gives wrong error message.
FIX: In "usrnet.c:us_copyrecursively()", change the line
		ttyputerr("Copy of %s %s failed", subdescript, describenodeproto(np));
     to:
		ttyputerr("Copy of %s%s failed", subdescript, describenodeproto(fromnp));

IMP: Click and hold now implemented in sliders.

BUG: In "Facet Options", after setting all facets to be part of cell library,
     cannot make specific check-mark changes to the currently selected facet.
FIX: In "usrdiacom.c:us_facetdlog()", must get "fi" value for each case.

BUG: Mimic stitching fails when wires have zero-length.
FIX: In "routmimic.c:ro_mimiccreate()", must handle special case
     (where "desiredangle" is negative).

BUG: Sliders display incorrectly when the facet size is very large.
FIX: Use "muldiv" in "usrdisp.c:us_drawdispwindowsliders()".

IMP: Now have ability to set CIF resolution in "CIF Options" dialog.

IMP: Sped up network renumbering by checking for bus ports in
     "network.c:net_mergebuswires()".

BUG: When facet instances are locked, pasting one stalls in placement mode.
FIX: In "usrtrack.c:us_multidraginit()", add the line: "us_cantdrag = 0;"

BUG: When two instances are connected by multiple wires, moving one jogs the wires.
FIX: In "conlay.c:cla_modflex()", allow mangling of other node even if it has
     already been mangled, but prevent actual changes.

IMP: When multiple objects are selected, can now apply changes to all of them.
     Also reports distance between two facet instance edges.

IMP: When "Mimic Stitch Now" is issued, tells if nothing was done.

BUG: When asking for all ports on network, prints too much.
FIX: In "network.c:net_set()" must mark ports.  Also check for interrupts in
     "net_findportsup()" and "net_findportsdown()"

BUG: When doing "Erase Geometry", arcs end at arbitrary locations.
FIX: In "usrnet.c:us_erasegeometry()", must call "gridalign()" to align
     selected area.

BUG: When deleting unused old versions of facets, and the facet is locked,
     program loops.
FIX: In "usrcomln.c:us_library()", must be able to actually delete facet in
     the "purge" loop.

IMP: Now draw proper cursors when over a window partition on UNIX.

BUG: Hierarchical DRC doesn't properly report all errors that it found.
FIX: In "drcbatch.c:drcb_sorterrors()", at the end, add the line:
		drcb_nexterror = drcb_errlist;

IMP: Added command to show nonmanhattan geometry.

IMP: Added the ability to place facet instances from another library.  This
     makes the other library a "reference library".

IMP: Added "List Geometry on Network" to find the area and perimeter of everything
     on a network.

BUG: Facet locking disallows setting "expansion" bit on nodes.
FIX: In "usrcomln.c:us_node()", check for locks after minor node changes are
     allowed.

IMP: Added "transistor" layer back into transistor descriptions in "mocmossub".

BUG: "areapoly" routine doesn't give proper sign for manhattan geometry.
FIX: In "dbmath.c:areapoly()" compute sign of result when it is a box.

BUG: Crash during "Facet Options" dialog.
FIX: In "usrdiacom.c:us_facetdlog()", remove the call to "DiaSetPopupEntry()".

BUG: Highlighting in the Explorer window may grow past the right edge.
FIX: Clip in "usrnet.c:us_highlightexplorernode()".

IMP: Added interface to FastHenry, an inductance analysis tool.

IMP: Hierarchical DRC now tracks date of last good check, and knows when to
     skip reevaluation.  Command exists to wipe out this information.

IMP: Added option to DRC only up to the first error in a facet and then stop.

BUG: Hierarchical DRC gets nonmanhattan geometry wrong.
FIX: In "drcbatch.c:drcb_findintersectingelements()", after the call to
     "polycopy" add the line:
		xformpoly(newshape->poly, itrans);

BUG: When one user-interface option is saved, all other user-interface
     options are forgotten.
FIX: In "usr.c:us_readlibrary()" must only do "var->type |= VDONTSAVE;" if
     the variable matches "USER_binding_popup_*".

BUG: When multiple Windows users share a single executable, the log files
     and option files conflict.
FIX: Now write the user's name as part of these files.

BUG: Windows users cannot double-click a library file that isn't in the same
     directory as the application.
FIX: Now saves last valid library path in the registry.

IMP: Added "interior-only" bit to text so that it will not affect the
     bounding box of a facet, nor will it be visible from higher-up.

BUG: When wiring into a facet, if the current arc type cannot connect to the
     selected facet port (the closest), then another port is chosen, rather
     than another arc.
FIX: In "usrcomcd.c:us_create()", try switching arcs when wiring into a facet.

IMP: New command to unexport only in selected area.

BUG: "Change" done universally will override facet lock.
FIX: Must check for lock in all facets.

IMP: When a facet is locked, operations on that facet give a dialog that asks
     if the lock should be overridden.

IMP: "Change" and "Rename" dialogs now default to the current node.

IMP: Mimic stitcher gives better feedback (announces that it is running, gives
     time when it is long).

IMP: When dumping facet information to a file, date information is made such
     that it can be sorted (year first).

BUG: When creating unique port names, port "X[Y]" becomes "X_1[Y]".
FIX: Modified "usrstatus.c:us_uniqueportname()" to generate "X[Y1]".

BUG: Array command remembers settings incorrectly.
FIX: Must recompute characteristic spacing and measured distance.

BUG: UNIX Makefile has incorrect "all" dependency when doing "make install".
FIX: Changed "all" to "electric".

IMP: Waveform window now limits signals, uses slider.

BUG: Changes to port characteristics are not undoable.
FIX: In "usrdiacom.c:us_getinfotext()" and "usrcomoq.c:us_port()", made
     userbit changes call "setval()".

IMP: Added ability to set equivalences at a high-level of hierarchy for the
     NCC flattener.

BUG: Bad feedback in NCC when all differences are lower in hierarchy.
FIX: Now highlight top-level node that is source of problem.

IMP: Facet options now uses a scroll list for the facets.  Also has buttons
     to make all facets locked/unlocked.

BUG: Problems when a port on a node is wired to itself.
FIX: Whenever looping over PORTARCINSTs, must ensure that the arc is not
     already dead.  Do this in "dbnoproto.c:replacenodeinst()",
	 "dbcreate.c:db_killportproto()", "usrnet.c:us_yankonenode()",
     "ioedifi.c:io_edreplacenodeinst()", and "conlinttg.c:cli_killthenode()".

BUG: VHDL generation of facets with no ports creates bad VHDL.
FIX: In "vhdl.c:vhdl_generatevhdl()", ignore references to facets with no ports.

IMP: Added MOSIS CRC computation to CIF output.

BUG: When MOSIS CMOS Submicron has 3 metal layers, metal-3 is not checked for
     being minimum 5-wide.
FIX: In "tecmocmossub.c:mocmossub_setstate()", must add calls to
     "mocmossub_setlayerrules()" on metal-3 to set minimum width.

BUG: "Make 1 Window" will delete all other window frames, not just the partitions
     in the current one.
FIX: In "usrcomwz.c:us_window()", add the line:
		if (w->frame != neww->frame) continue;
     before the line:
		if (w != neww) killwindowpart(w);

BUG: Window splitting may use wrong aspect ratio.
FIX: In "us_splitcurrentwindow()", change all "el_topwindowpart" to "el_curwindowpart".

IMP: CIF output now sorts by layer to reduce the number of "L" statements.

IMP: Added "Facet Explorer..." to show the facet hierarchy.

************************* Version 6.00: Released May 5, 2000 *************************

BUG: Floating-point and integer multiplies come out differently (floating point
     is more accurate, and only sometimes slower).
FIX: Always use floating point.

BUG: Some active-to-active spacing errors not detected (in MOSIS CMOS Submicron).
FIX: Modified tables to include 3-lambda spacing for *ALL* active layers (P-active,
     N-active, and P-active-well).

BUG: EDIF input fails to create icons properly.
FIX: In "ioedifi.c:io_edmakeiconfacet()", use proper schematic parts (not "Icon_pin").

BUG: Segment drawing from one node to another may create 3 arcs if the cursor is
     in an unusual place.
FIX: Disabled 3-arc creation during segment drawing.

BUG: Auto-router places arcs in facets that are locked.
FIX: In "routauto.c:ro_autostitch()", check for locked parent before calling
     "ro_checkstitching()".

IMP: "New Facet Instance" and other facet dialogs now default to the currently
     selected facet instance (if any).

BUG: Changing a port name isn't considered a significant change, and undo
     skips over it.
FIX: In "dbchange.c:db_reversechange()", check for changes to "protoname"
     or "textdescript" on ports.

IMP: Changed "<<" button in "Quick Key Options" to "Remove" to be more clear.

BUG: UNIX may crash when deleting windows.
FIX: In "graphunixx11.c", must clear "firstmenu" field of WINDOWFRAME after
     creation.

IMP: Automatically-generated port names now use the "_" character instead of '-'.

BUG: Simulation window limits signal names to 14 characters.
FIX: In "simals.h", modified declaration of CHANNEL->name, and fixed all
     code that uses it.

BUG: When simulating with too many signals, names are too close.
FIX: In "simwindow.c", recompute text height when drawing symbol names.

BUG: Copying facets may crash if there is hierarchy descent information.
FIX: In "dbnoproto.c:db_copyxlibvars()", must only copy nodeinst pointer if
     it is in the current facet.

BUG: Rotation of arcs that are not connected in their port center is incorrect.
FIX: In "conlay.c:cla_modrigid()" and "conlay.c:cla_modflex()", must use actual
     rotation information, not the port center routine "cla_oldportposition()".

IMP: Added option to Network consistency checker to use port names.

BUG: Network consistency checker fails when there are too many power and
     ground ports in the schematic.
FIX: In "netflat.c:net_buildpseudo", must add extra code at the start to
     find power and ground nets and include them.

IMP: Separating character in port names is now variable.  Modified
     "usrstatus.c:us_uniqueportname()" and "usrnet.c:us_copyvars()".

IMP: Electric is now owned by Static Free Software.

************************* Version 5.7.5: *************************

BUG: VDD and Ground may get reversed in the generated VHDL (during simulation).
FIX: In "vhdl.c:vhdl_addrealports()", must do 5 iterations for input, output, power,
     ground, and (finally) everything else.

BUG: Printing on Windows prints the grey background.
FIX: In "graphpccode.cpp:gra_printwindow()", force the background to white before printing.

IMP: Unified terminology in code and documentation: "traces" are now called
     "outlines".

IMP: Added "Erase Geometry" to truncate arcs at edge of selection.

IMP: Mimic stitching caches information to run faster.

BUG: Occasional warning that "node has no name".
FIX: In "network.c:net_nameallnodes()" must name nodes that have exported ports.

IMP: Now reuse simulation waveform windows instead of creating new ones.

IMP: Modified UNIX display rules so that "dimmed" edit fields are fully
     visible, but not changeable.

IMP: DRC errors are now sorted by layer, so that important errors come first.

IMP: ERC now reports the number of transistors and networks.

IMP: Now have ability to dump facet information to a disk file.

BUG: Long operations give no indication that they are working.
FIX: In "graphXXX.c:checkforinterrupt()", now set the hourglass cursor.

BUG: When wiring two nodes, the "tic-tac-toe" board rules for when to use
     "Z" connections are ignored if one node has a directional port.
FIX: In "usrarc.c:us_makeconnection()", remove the directionality test.

IMP: When doing "get info" on two nodes, the distance accounts for facet
     centers.

IMP: "Array" dialog now remembers previous settings.

BUG: When facet changes have been disallowed, copying is also disallowed.
FIX: Modified "usrnet.c:us_copyobjects()" to allow the operation.

BUG: "Cleanup pins" flags the Facet-Center node as zero-size.
FIX: Ignore this node during the check.

BUG: When alternately simulationg schematics and layout of the same circuit,
     the VHDL is reused.
FIX: Now tag the VHDL with a comment stating the source, and use this comment
     to detect recompilation.

BUG: In simulation, the "main" cursor text can get cut off.
FIX: No limit on the text size in "simwindow.c:sim_window_drawlstring()".

BUG: Deleting a text facet that is being displayed may crash.
FIX: In "usrcomek.c:us_killfacet()" must adjust window sizes to account for
     new type of window.

BUG: DRC violations between polysilicon and active are not detected.
FIX: Fixed connected table in "tecmocmossub.c".

IMP: When doing a "get info" on a facet instance with a facet center, that center
     location is used instead of the true instance center.

IMP: Can now type "Control-C" to interrupt on UNIX.

BUG: On UNIX, with Athena widgets, a narrow screen may cause a crash if the
     pulldown menus are too wide.
FIX: In "usrmenu.c:us_popupmenu()", change the line:
		if (us_pmcur.posx+us_pmcur.sizex >= swid) us_pmcur.posx = swid - us_pmcur.sizex;
     to:
		if (us_pmcur.posx+us_pmcur.sizex+MENUSHADOW >= swid)
			us_pmcur.posx = swid - us_pmcur.sizex-MENUSHADOW-1;

BUG: When networks are compared, if they fail but all in subfacets, it reports success.
FIX: In "netdiff.c:net_compare()", must check "insub" as well as "found".

BUG: Networks may be incorrect when there are icons.
FIX: In "network.c:net_recursivelyredo()", must redo network numbering for
     contents and icon.

BUG: Corrupt libraries cause crashes when read in.
FIX: Made "iobinaryi.c" more robust when reading data.

BUG: Flipflops cannot be simulated.
FIX: Now properly link the JK and D flipflops to the built-in functions in
     "simalsuser.c".

BUG: After a click in the component menu, another click there places the component.
FIX: Now check for repeated clicks in component menu and abort the placement.

IMP: New option to "array" to make diagonal linear arrays.

IMP: New command to deselect all selected arcs.

IMP: New commands to make all selected objects easy/hard to select.

IMP: DRC and ERC now tell you how to abort when they start processing.

BUG: NCC crash.
FIX: In "netdiff.c:net_allalike()", must test for "p == NOPCOMP" before
     checking the value of "p->function".

BUG: Copying and pasting with multiple "invisible pins" may hang the system.
FIX: In "usrnet.c:us_copylisttofacet()", change the inner loop:
		for(i=0; i<ni->numvar; i++)
     to:
		for(j=0; j<ni->numvar; j++)
     including all uses of "i" in and after that loop.

BUG: Adding a port to a facet with an equivalent icon may hang the system.
FIX: In "usrnet.c:us_findnewplace()", change sorting test from:
		if (arr[i-1] < arr[i]) continue;
     to:
		if (arr[i-1] <= arr[i]) continue;

IMP: Made layer pattern changes be savable with the options.

IMP: Rewrote polygon merging code to be able to handle nonmanhattan polygons
     and polygons with holes.

BUG: After renaming an arc, the component menu for that arc is broken.
FIX: In "usrcomrs.c:us_rename()" must rebuild component menu after renaming arc.

BUG: MOSIS CMOS Submicron reverses well separation rules.
FIX: Should be 18 for unconnected, 6 for connected.

IMP: Mimic Stitcher now correctly determines the size of each wire it routes.

BUG: "Mimic Stitch Now" may fail to find a wire to stitch.
FIX: In "rout.c:ro_newobject()" and "ro_killobject()", do not clear the information
     about past arcs if it already exists.

IMP: "List Facet Dates" now reports the usage of each facet, and some option bits.

BUG: When playing back a logged session that had disk files saved, system crashes.
FIX: In "graphpccode.cpp" and "graphunixx11.c", routine "us_logplayback()",
     must save "us_logplay" pointer, reset it to zero, and restore it after reading
     libraries.

BUG: Recursive structures are allowed if they use icon views.
FIX: In "dbmath.c:isachildof()", must check icon views as well.

IMP: Made "center-based primitives" the default.

BUG: Rotate command crashes if only wires are selected.
FIX: In "usrcomrs.c:us_rotate()", test for "nicount" equal to zero.

BUG: Turning the incremental DRC off is not remembered across runs.
FIX: Added shadow variable "DRC_incrementalon" to control the state of the
     DRC tool.

IMP: Added detection of power and ground ports to ALS so that layout can be
     simulated.

IMP: Replaced "Mathematica" with "Java".

IMP: Added command to bring up user's manual in a browser.

BUG: Hierarchical DRC is not interruptable
FIX: Added more calls to "stopping()" in "drcbatch.c".

BUG: Cannot type interrupt key on Windows.
FIX: Added code to handle "windows-c" key for interrupts.

IMP: The "PLA Generator" tool is now the "Generator" tool, and has a "Pad Frame"
     generator in it.

IMP: Rearranged DRC menu to be more sensible.  New command: "Clear Ignored Errors".

BUG: When window is moved for too long on Windows, system beeps.
FIX: In "graphpccode.cpp:gra_addeventtoqueue()", see if event repeats the previous one
     when queue overflows.

IMP: "Rename Object" is now a more sensible dialog, not two separate ones.

BUG: When extracting a node instance, and the "Extract copies ports" is checked,
     new port names are nonunique.
FIX: In "usrnet.c:us_yankonenode()", made the port names unique, and also only
     exported them if they are not connected or exported.

BUG: Creating new version of facet, or duplicating facet may crash.
FIX: In "dbnoproto.c:copynodeproto()", change the line:
		if (ni->proto->primindex != 0) lnt = ni->proto; else
     to:
		if (ni->proto->primindex != 0 || destlib == NOLIBRARY) lnt = ni->proto; else

IMP: Changed Hierarchical DRC so that it handles all nonmanhattan situations.

IMP: Changed Hierarchical DRC so that it doesn't give a dialog (but can with
     an option setting).

BUG: Network options on unification are not saved across runs of Electric.
FIX: In "network.c", must add the routine "net_readlibrary()" to pick up
     cached option variables.

IMP: Mimic stitcher now has more options for which stitches to allow, and can
     also work interactively, prompting for possible stitches.

IMP: Grid now allows asymetric spacings for bold dot separation.

IMP: "List Exported Ports" now provides coordinates, sorts by name within type.

BUG: When wiring ports on facets, cursor position doesn't affect wire location
     in port.
FIX: In "usrarc.c:us_directarcinst()", must use "prefx/y" instead of node center
     when determining port location.

IMP: Incorporated new MOSIS CMOS Deep rules into the submicron process.
     Gates of transistors now extend 2.5 beyond diffusion (used to be 2)
     Contact cuts and vias are now spaced 4 apart (used to be 3).

BUG: Network consistency checker considers components equal if they are the only
     two with a function/wiring count, even if the wiring is wrong.
FIX: In "netdiff.c:net_compare()", do not ignore buckets that are singletons, but
     ignore buckets with less than 2 components.

BUG: Network consistency checker doesn't use port names to resolve automorphic nets.
FIX: In "netdiff.c:net_diffwires()", only compare "NEGATED" factor, and compare
     port names if both wires have EXPORTED factor.

BUG: Cannot cancel "Duplicate Current Facet" command.
FIX: In "evemenus.mac" must test for empty return value from new name prompt.

BUG: Mixing colors twice while technology editing causes a crash when the
     window closes.
FIX: In "usredtecc.c:us_teceditcolormap()", remove the last two lines that
     deal with "el_curwindowpart->termhandler" and replace them with the contents
     of "us_teceditmaptermhandler()".

BUG: "Show Facets Graphically" may crash on libraries with icons.
FIX: In "usrgraph.c:us_graphfacets()", when finding the top-level facets, must
     consider "np" in addition to "truenp".

IMP: Added "Text (Layout)" command of "New Special Object" to convert text to layout.

IMP: Made "Measure Distance" more complex: "x" resets start point, "ENTER" ends.

IMP: Moved facet-related items from "New Node Options" to "Facet Options".

BUG: Crashes when a UNIX dialog has an empty popup.
FIX: In "graphunixx11.c:DiaSetPopup()", add an empty entry if count is zero.

IMP: Added mouse clicks to do "special" select with other options (toggle, another).
     Rearranged mouse buttons to be uniform across all platforms.

BUG: When creating 3-wires to zig-zag inside the area of two nodes, angle of middle
     wire is ambiguous.
FIX: Modified "usrarc.c:us_twobend()" to make the middle wire shorter.

IMP: Modified "Show Exported Ports" to show only those that are in the window.

IMP: Added "Select All Easy" and "Select All Hard" to select just the easy or hard
     to select objects.

BUG: Highlighting is incorrect when going down or up the hierarchy.
FIX: In "usrwindow.c:us_switchtofacet()", remove the call to "us_showallhighlight()".

IMP: Added Electrical Rules Checker tool.

BUG: "Compute from Primaries" in the Color Mix dialog may go into an infinite loop.
FIX: In "usrdiacom.c:us_colormixsmoothcolors()", change the line:
		if (height[i] < height[i-1]) continue;
     to:
		if (height[i] <= height[i-1]) continue;

BUG: Well and Substrate contacts in MOSIS CMOS Submicron have incorrect multi-cut
     rules (when 10 wide, 2 cuts are allowed but should only fit 1).
FIX: Set "tecmocmossub.c:mocmossub_psub.f3" and "tecmocmossub.c:mocmossub_nsub.f3"
     to K2, not H1.

IMP: Added ability to drag window partition dividers and adjust the proportions.

BUG: Mimic router creates wires over existing ones if the existing ones
     have a break in the middle.
FIX: Changed so that it avoids making wire if there is existing arc of the same
     type running out of either node *TOWARD* the other.

IMP: Node Get-Info dialog now defaults the list of ports so that the current
     port is selected.

IMP: Added command to delete all ports on selected nodes.

BUG: When re-exporting all ports, may not work for a large number of ports.
FIX: In "usrnet.c:us_reexportport()", must allocate string before calling
     "us_uniqueportname()" with it.

IMP: Added sliders on the bottom and right side of edit windows.

BUG: If two windows are open, and hierarchy is being traversed in each one, then
     "Up Hierarchy" always goes to last "Down Hierarchy", even if it is from the
     wrong window.
FIX: Removed "facet stack" concept and now store hierarchy path on each facet.

BUG: Text selection moves the text easily.
FIX: In "usrtrack.c:us_findiup()", check for jitter in drag state 3.

BUG: Signal selection may cause crash when simulator is active.
FIX: In "simspicerun.c:sim_spice_signalname()", must test that network has name before
     using it.

BUG: Two nodes with perfectly aligned ports may get connected with 3 arcs instead of 1.
FIX: In "usrarc.c:us_directarcinst", must find closest point 3 times, not 2, to make
     sure the points are aligned.

************************* Version 5.7.4: Released 3/20/00 *************************

BUG: Memory may leak in variable allocation.
FIX: In "dbvars.c:db_setvalvar()", must deallocate previous variable if new change
     is not undoable.

BUG: "mocmossub" serpentine transistors are incorrect (geometry and ports).
FIX: Modified descriptors, and added "f5" and "f6" to TECH_NODES structure
     to more generally describe ports.

BUG: "mocmos" and "mocmossub" technologies don't have "POLYGONAL" flag set on
     their pure-layer nodes.
FIX: Added it.

BUG: SPICE output lists both power and ground on the same net.
FIX: In "simspice.c:sim_spicewritefacet()" remove the line "tempnet->netnumber=0"
     in the code block headed by "if (state == SPICEPOWER)".

IMP: CIF input now only complains about an unknown layer once.

IMP: Added session logging for Windows and UNIX.

IMP: Changed function of Artwork arcs from Nonelectrical to Unknown so that they
     can carry signal.

BUG: Arcs that run inside of a node (from one port to another on the same node)
     adjust incorrectly when the node moves.
FIX: In "conlay.c:cla_modwithin()" must count such arcs only once when adjusting.

IMP: Added command to automatically generate implant coverage polygons.

IMP: When a name is selected in the "FacetStructure" facet, that name is the default
     for subsequent "delete facet" and "list facet usage" commands.

BUG: When selecting objects up very close, the grid alignment may jump to an
     unwanted object.
FIX: Avoid grid alignment while selecting.

BUG: If two windows are up, focus is in one, but selection in another, operations
     happen in the wrong window.
FIX: Modified object selection code to return the facet containing the selection.

BUG: Windows version crashes on startup if cursor is over component menu.
FIX: In "graphpccode.cpp" modified tracking code to detect startup state.

IMP: Added "power" and "ground" models to ALS simulation so that transistor-level
     schematics can be simulated.

IMP: Now have the ability to set the number of lambda per pixel when tiny facets
     get hashed out.

BUG: Clicking outside but very near to an object selects the object.
FIX: In "usrtrack.c:us_finddoibegin()" and "usrtrack.c:us_stretchdown()", removed
     calls to "gridalign()".

BUG: Technology edit produces wrong colors, doesn't interact properly with many
     layer fields, doesn't handle newer layer fields.
FIX: Fixed "usredtec?.c"

IMP: Added routines "layerismetal()", "layerispoly()", and "layeriscontact()"
     to identify layer functions without enumeration.

IMP: Improved hierarchical DRC to handle minimum width, notch rules, and much more.

IMP: Changed design rules for MOSIS CMOS Submicron so that N-to-P spacing
     (well and select) are zero.  This replaces the rule that separates
     N-active and P-active by 12.  Many other rules changed as well.
     Generalized multiple-metal rules, too.

BUG: Nonmanhattan geometry sometimes produces corrupt database.
FIX: Modified database routines to set end shrink value properly.

BUG: Simulation doesn't cross icon boundaries (doesn't simulate contents of icon).
FIX: In "vhdl.c:vhdl_generatevhdl()", check for contents when descending hierarchy.

IMP: Added "cell library" indication to facets so that those from a standard
     cell library can be excluded from lists.

IMP: Now an extra level of messages which show, but do not force the messages
     window to the top.

IMP: "Peek inside highlighted" now takes arbitrary selection and shows the
     bounding box's contents.

BUG: If two nodes share the port description list in the technology, their ports
     will also be shared, and be incorrect in batch DRC.
FIX: Must have separate port descriptions for each primitive.  Did this for
     "artwork" and "generic".

IMP: Removed "glyph" nodes from the generic technology.

IMP: Modified "rotate" and "mirror" commands to handle "sensibly" argument which
     specifies a rotation about the grab-point if it is a facet with a facet-center.

IMP: Added "Duplicate Facet" command for copying the current facet to a new cell name.

BUG: When 2 windows are shown, clicking to place a component and then placing it
     in the NON-current window puts the component in the current window instead.
FIX: In "usrcomcd.c:us_create()", recalculated "curfacet = us_needfacet()" after
     the call to "trackcursor()"

IMP: Added the ability for mimic routing to mimic arc deletion.

IMP: Added the abililty to make nodes and arcs "hard to select", forcing special-
     select in order to get them.

IMP: Added "Compute from Primaries" button to color mixing dialog so that all
     combinations of the transparent colors can be automatically generated.
     Modified default color maps to use these results.

BUG: Unable to set the arc angle in the "New Arc Options" dialog.
FIX: Modified "usrdiacom1.c:us_defarcdlog()".

IMP: Facet-Center node can now be stretched to define an area which is for arrays.
     Modified "tecgen.c" and "usr.c".

BUG: "Annotate Delay" crashes.
FIX: In "simalscom.c:simals_getcellinstance()", fixed code that descended to
     the bottom of the hierarchy.

IMP: Arcs connecting to wide nodes are now widened appropriately.  Modified code in
     "usrarc.c" and "usrcomcd.c".

BUG: Wide arcs may be placed incorrectly.
FIX: In "dbmath.c:reduceportpoly()", must reverse max/min calculation.

BUG: Well and Substrate contacts in the MOSIS CMOS Submicron technology have ports
     that are too big.
FIX: Changed "IN5H" to "IN6H" in "tecmocmossub.c:mocmossub_psub_p[]"
     and "tecmocmossub.c:mocmossub_nsub_p[].

IMP: When dragging objects to the edge of the window, window now shifts automatically.

IMP: Added multiple windows on UNIX, with a separate window for the components menu.

BUG: Multiple changes made in a single change batch may not constrain properly.
FIX: Moved code to clear "changeaddr" field from "dbchange.c:db_endbatch()" to
     "conlay.c:cla_layconsolve()".

BUG: Cannot wire left side of MUX primitive in Schematics technology.
FIX: In "tecschem.c:sch_shapeportpoly()", change the line:
		xposition = -K4;
     to:
		if (index != NMUX) xposition = -K4; else
			xposition = -(ni->highx - ni->lowx) * 4 / 10 * WHOLE / sch_tech->deflambda;

IMP: Ability to change primitives so that they are center-based, instead of
     their lower-left corner.

IMP: Ability to make "constrained move" the default interaction.

IMP: Added new button: "Rectangle Zoom" which does an area-select and a zoom to
     highlighted in a single operation.

IMP: Extended "Copy, "Cut", and "Paste" commands to handle circuitry.

IMP: "Change" command now has a "connected" option to change all connected objects.

BUG: Windows dialogs don't handle tab stops or arrow keys in scroll areas.
FIX: In "graphpccode.cpp:DiaInitDialog()" set WS_TABSTOP on all items, and in
     "graphpccode.cpp:gra_dodialoglistkey()" allow up and down arrows.

IMP: Added ability to view circuitry in 3D.

IMP: Modified layers in MOSIS CMOS Submicron technology so that alternate
     well/implant layers are visible.

BUG: Switching MOSIS CMOS Submicron technology from N to P well and saving
     corrupts the library.
FIX: Implemented new option: "Switch N and P Well" which changes the
     primitives and keeps the library correct.

IMP: "Change" dialog now presents list of facets when changing a facet, and
     list of primitives (with generics) when changing a primitive node.

IMP: Added ability to prevent changes to all instances in a particular facet.

IMP: "Layer Highlighting" dialog is now interactive.

IMP: "Copy from another library" now presents a "smart" dialog that knows
     what is newer.

BUG: Boxed text doesn't move properly inside its box.
FIX: In "dbvars.c:adjustdisoffset()", must push boxed edges by twice the
     distance to move the center by the proper amount.

IMP: Added "Selection Options" dialog which determines what is "easy" to
     select (facet instances, annotation text).  Also added "easy to select"
     check item to node and arc "Get Info".  Finally, made "facet center" nodes
     "hard to select" by default, but overridable in the dialog.

IMP: Spice options dialog now allows setting of layer resistance, capacitance.

IMP: Changed "Old Library" to "Change Current Library" and improved dialog.

IMP: Added the ability to use the current arc type in auto-stitching.

IMP: Limited speed of scroll bars on Macintosh dialogs (and Athena widgets)

IMP: Now have command to identify exported ports graphically.

IMP: Now have option to place facet center when creating icons.

IMP: Better SUE file reader.

BUG: Ports can be renamed to have invalid characters.
FIX: In "usrnet.c:us_renameport()", check for proper names.

IMP: PostScript output now sets proper page size for plotters.

IMP: Split "New Node Options" in half, moving those relevant to existing facets
     into the "Facet Options" command of the Facets menu.  Added options to
     control duplication (whether ports are duplicated, whether duplicated objects
     are subsequently placed in "move" mode).  Also improved "duplicate" so that
     when not in "move" mode, it remembers the last moved distance.

IMP: When two nodes are selected, and an arc is run between them, the second node
     is left highlighted.

IMP: Mimic stitching now only connects arcs that run to the same port as the
     one being mimiced (instead of all ports with the same configuration).

IMP: System now distinguishes between significant and insignificant changes
     and prompts accordingly.

IMP: "Duplicate" now copies ports.  It leaves the duplicated layout highlighted.

BUG: "Cleanup Pins" removes exported ports.
FIX: In "usrnet.c:us_cleanupfacet()", disallow removal of pins with ports.

IMP: Now can push and pop the selection.

BUG: Get Info on technology edit nodes gives wrong information.
FIX: In "usrdiacom2.c:us_getinfonode()", must not handle artwork color if
     there is technology editing relevance.

BUG: Grid size and colors are wrong in technology editing.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()" change the line:
		tech->deflambda = el_curtech->deflambda;
     to:
		tech->deflambda = art_tech->deflambda;
     and change the lines:
		newmap[(i<<3)*3]   = colmap[i].red;
		newmap[(i<<3)*3+1] = colmap[i].green;
		newmap[(i<<3)*3+2] = colmap[i].blue;
     to:
		newmap[(i<<2)*3]   = colmap[i].red;
		newmap[(i<<2)*3+1] = colmap[i].green;
		newmap[(i<<2)*3+2] = colmap[i].blue;

BUG: Temporary rigidity doesn't always work
FIX: In "conlay.c:cla_domovearcinst()", in the second "if", change the clause
		((ai->userbits&FIXED) != 0 && ai->changed != cla_changeclock-1) ||
     to:
		((ai->userbits&FIXED) != 0 && ai->changed != cla_changeclock-1) ||
		ai->changed == cla_changeclock-2 ||

IMP: Added the ability to mirror arbitrary objects (not just 1 node).

IMP: Added NLOCKED bit in NODEPROTO userbits to allow for facet contents locking.
     Added NILOCKED bit in NODEPROTO userbits to allow for facet instance locking.

IMP: Added "control-shift" clicking to cycle through items under cursor when
     shift-clicking (adding to highlight).

IMP: Added "size nodes" and "size arcs" to allow sizing of all selected nodes/arcs.

IMP: When deleting a node, pins at the other end of connected arcs are also deleted.

IMP: Added two buttons to DRC Errors dialog to disable highlighting or DRC.

IMP: The use of block transfer when panning windows causes misalignment of stipples.
FIX: Disabled block transfer (was only useful when display was slow).

IMP: The "END" key now scrolls the messages window to its end (UNIX).

BUG: "Change" command lists facets twice (shows facet names and cell names).
FIX: In "usrcom1.c:us_topofnodes()", change "ARCS" to "(ARCS|CELLS)".

IMP: Better confirmation for printing, DRC, etc.

IMP: MOSIS CMOS Submicron technology now handles up to 6 layers of metal.

BUG: SDF files are not "Simulation Data Format".
FIX: Changed menus and documentation to read "Standard Delay Format".

IMP: Node and Arc Get Info dialogs have options to see connected arcs and nodes.

IMP: When multiple objects are selected, double-click or Get Info lists them.

IMP: Added Meta key for Duplicate (Meta-M).

IMP: New option for CIF output to NOT call the top-level cell.

BUG: Library given in command line (UNIX only) has ".elib" as part of its name.
FIX: In "usr.c:us_do3init()", strip off extension.

IMP: Array command can now handle arbitrary selection.

BUG: Transistors in MOSIS CMOS Submicron technology have different size active ports.
FIX: In "tecmocmossub.c:mocmossub_tpa_p[]", and in "tecmocmossub.c:mocmossub_tna_p[]"
     change the very last entry in the structure (8 lines down) from BOTIN6 to BOTIN6H.

IMP: Path highlighting now shows connection to node centers in dotted lines.

IMP: Can now select multiple libraries to read at once (when the dialog supports
     it).  Only implemented on Windows for GDS input.

BUG: "Insert Break in Arc" doesn't work.
FIX: In "usrcomcd.c:us_create()", after the line:
		if (namesamen(par[0], "breakpoint", l) == 0 && l >= 1)
     remove the next two lines (calls to "us_demandxy" and " gridalign")

IMP: Added SKILL output (Cadence command language format).

IMP: Added LEF output.

IMP: Added extra contact layers (5 and 6) and extra contact information that
     tells whether the contact connects to diffusion, poly, or metal.

IMP: Fixed Bus pins in Schematics so that they aren't drawn if exported but
     unconnected.

BUG: GDS input handles PATH wrong (ends are shortened incorrectly).
FIX: In "iogdsi.c:io_gdsIdetermine_path()", change the line:
		if (endcode == 0) fextend = textend = 0;
     to:
		if (endcode == 0) fextend = textend = width/2;

IMP: All file generation now displays full path of file.

BUG: Texsim netlist output crashes if there is no reserved word file (usual case).
FIX: In "simtexsim.c:sim_writetexnetlist()", only close "reservefile" if it is nozero.

IMP: Modified the "Wire_con" primitive in Schematics so that it can join networks
     (repeating the smaller bus onto the larger one).  Has new look and is
     now in the Digital Schematics menu.

BUG: Ripping a bus with no name will crash.
FIX: In "network.c:net_ripbus()", check for valid network name.

IMP: Added "Quick Keys" command to rebind keyboard bindings to menus.

************************* Version 5.7.3: Released 11/11/99 *************************

IMP: Further improvements in SUE reading.

BUG: Undoing may go too far back if the last change came from a tool.
FIX: In "usrcomtv.c:us_undo()" don't insist that change come from user interface.

BUG: Editing offset text on rotated nodes doesn't work.
FIX: Fixed code in "dbvars.c:getdisparrayvarlinepos()".

BUG: Using "Focus on Highlighted" when a zero-size pin is selected ruins display.
FIX: In "usrcomwz.c:us_window()", in the "highlight-displayed" case, after
     the block with the call to "us_getareabounds()", add this code:
		if (lx == hx && ly == hy)
		{
			lx -= el_curtech->deflambda;
			hx += el_curtech->deflambda;
			ly -= el_curtech->deflambda;
			hy += el_curtech->deflambda;
		}

IMP: Added the ability to name an arc "[1]" and then have it determine which
     bus is implied.
     Added the ability to name an arc "m[x]" where the "x" is not numeric.

BUG: On UNIX, cannot type Carriage-Return into text facets
FIX: In "graphunixx11.c:gra_translatekey()", change the lines:
		case XK_Return:    state = 013;   break;
		case XK_KP_Enter:  state = 013;   break;
     to:
		case XK_Return:    state = 015;   break;
		case XK_KP_Enter:  state = 015;   break;

************************* Version 5.7.2: Released 11/8/99 *************************

BUG: Selection finds nodes and arcs that are not under the cursor (because of
     implant extension).
FIX: Modified "usrnet.c:us_cursoroverhigh()", "usrnet.c:us_checkoutobject()",
     "usrnet.c:us_getclosest()", and created "usrtrack.c:us_geominrect()" and
     "usrnet.c:us_disttoobject()" to handle proper node and arc size.

BUG: Spread doesn't work on nodes that are too close.
FIX: Modified "usrcomrs.c:us_spread()" to use better spread-line determination.

IMP: Made "Up Hierarchy" more intelligent.

BUG: Batch DRC doesn't identify errors properly.
FIX: In "drcbatch.c", modified display to have proper transformation matrix.

BUG: Setting SPICE part name on schematic MOS transistor doesn't work.
FIX: In "usrdiacom1.c:us_widlendlog()", fixed end part that assigns SPICE name.

BUG: Facet graphing doesn't work.
FIX: Fixed code in "usrgraph.c".

IMP: Added Meta keys for Up and Down Hierarchy (Meta-U and Meta-D).

************************* Version 5.7.1: Released 11/3/99 *************************

BUG: "Show Facets Graphically" doesn't account for icon views.
FIX: Modified "usrgraph.c:us_graphfacets()" to handle icon/contents views.

IMP: New command to regrid layout.

IMP: Artwork primitives can now modify color in the "Get Info" dialog.

IMP: Circles have better "Get Info" dialog for controlling angle.

IMP: Status field node area now shows what is in menu while cursor roams over it.

BUG: "Up Hierarchy" displays wrong area.
FIX: In "usrcomoq.c:us_outhier()", show full area if switching from contents
     to icon, and don't focus on highlighted port if found.

IMP: Can now read files with arbitrary line endings (Mac/Win/UNIX).

IMP: Made SPICE 3 the default (used to be SPICE 2)

IMP: Added ability to create annular rings.

BUG: Window partitions (on UNIX only) may not resize properly.
FIX: In "usrmisc.c:us_windowfit()", change the line:
		if (strcmp(el_topwindow->location, "entire") != 0)
     to:
		if (strcmp(w->location, "entire") != 0)

IMP: Made WINDOWFRAME a first-class object so that it can be referenced
     directly in the database.

BUG: Undoing and redoing through start of simulation doesn't always work.
FIX: Simulation state variables are now stored on simulation tool object.

IMP: Removed the word "box" as the default symbol in a Schematic black-box.

BUG: Moving port names in icons doesn't move the port pin, because the pin is
     a schematic pin.
FIX: Made icons use invisible pins as ports, so they move with the text.

BUG: Spurious graphics may get drawn in the simulation window.
FIX: In "usrwindow.c:us_endchanges()" and "us_undisplayobject()", must check
     that the window is of type DISPWINDOW before drawing into it.

IMP: Added special dialog for the text on source nodes.  Also added special
     node functions for the different types of source nodes.

IMP: Selecting a signal in the waveform window now highlights the trace.

IMP: Added command to find hierarchical signals in HSPICE signal files.

BUG: Cannot handle HSPICE plot files (.tr0 files) with signal names longer
     than 16 characters.
FIX: In "simspicerun.c:sim_spiceparseoutput()", modified parsing code to
     handle long names.

BUG: Deleting variables on nodes/arcs and then undoing may crash.
FIX: In "usrhigh.c:us_makehighlight()" and "us_makehighlightstring()", must
     store highlighting of variables as the variable name, not the address.

BUG: In-place editing of strings on source nodes doesn't work.
FIX: Added facility for determining proper string on nodes with parameter
     information embedded in the string.

IMP: Added mnemonic keystrokes in menus on Windows and UNIX.

IMP: HSPICE plotting now knows to read ".tr0" files.

IMP: Color maps are now saved with options.

IMP: "Port Display" is now "Port Display Options" and is saved with options.

IMP: Color mixing is now a full dialog.

IMP: Improved text sizing by calculating proper technology value to use in
     "truefontsize" calls.

BUG: Editing text in-place doesn't work when the grab point is not in the center.
FIX: In "dbvars.c:getdisparrayvarlinepos()", must use the center of the object
     instead of the low and high edges.

BUG: GDS Input may create corrupt databases.
FIX: In "iogdsi.c:io_gdsIrecompute()", uncomment calls to "geomstructure" and "linkgeom".

BUG: Library variables don't get imported from readable dump files in when there
     are no facets in the library.
FIX: In "iotext.c:io_libcc()", move the line: "io_varpos = INVLIBRARY;" to be the
     first in the routine.

BUG: GDS input doesn't handle nonmanhattan geometry properly.
FIX: In "iogdsi.c:()", change the call to "tech_makeendpointpoly" from:
		tech_makeendpointpoly(length, width, 0, fx, fy, fextend,
			tx, ty, textend, poly);
     to:
		tech_makeendpointpoly(length, width, figureangle(fx, fy, tx, ty) / 10,
			fx, fy, fextend, tx, ty, textend, poly);

BUG: When Simulation Option "resimulate each change" is unchecked, no waveform
     display is shown.
FIX: Fixed simulator to show waveform at start.  Added keystroke "u" to update.

IMP: Removed special build cases (EGNUL and EVES) and added defines to allow
     any component to be added to the build.  Also removed "egnumenus.mac".

BUG: Simulation may crash.
FIX: In "simalssim.c:simals_run_simulation()", cannot compare "var" with 0,
     must use "NOVARIABLE".

IMP: Moved dialog package completely into the "graph" modules and removed
     "usrdialogs.c".

IMP: Dracula deck is now edited in the "DRC Options" dialog
     and is saved with the other options.

IMP: Built-in SPICE model cards are now edited in the "SPICE Options" dialog
     and are saved with the other options.

BUG: Options are saved with individual libraries
FIX: In "dbvars.c:makeoptionstemporary()" at the end, change the line:
		db_optionvarcache[i].var->type &= ~VDONTSAVE;
     to:
		db_optionvarcache[i].var->type |= VDONTSAVE;

BUG: Design rules for MOSIS CMOS Submicron should have select surrounding
     active by 2, but contacts don't.
FIX: Changed rules in "tecmocmossub.c".

BUG: Design rules for MOSIS CMOS Submicron are not implemented with respect
     to cut spacing (active cut, poly cut, and the 3 vias).
FIX: In "tecmocmossub.c", the polygon tables for the contacts (for example
     "mocmossub_mpa_l") should have 0 in the cut's "portnum" field, not -1.

IMP: Added new tool for "logical effort" transistor sizing.

IMP: Changed node "get info" so that it makes a more sensible list of ports.

IMP: Added "Messages Window Font" for UNIX.

IMP: Made a dialog for technology parameterization.  Added ability to view
     MOSIS CMOS Submicron as stick-figures.

IMP: Added "request" method to technologies, and routines "telltech()" and "asktech()"

IMP: Moved "terminal.c" to user area, now called "usrterminal.c"

BUG: Arc names are not displayed if their text style is set to "boxed".
FIX: In "dbtechi.c:tech_filldisplayableavar()", call to "makerectpoly"
     must be done instead of setting polygon location, not in addition to it.

BUG: UNIX display has colors wrong on 24-bit deep displays.
FIX: In "graphunixx11.c:us_loadmap()", must change the line:
		gra_colorvalue[i] = (r << 16) | (g << 8) | b;
     to:
		gra_colorvalue[i] = (b << 16) | (g << 8) | r;

BUG: UNIX may crash if fonts are not found
FIX: In "graphunixx11.c:us_initgraphics()" must move initialization of
     "gra_defaultFont" to before the section that initializes fonts.

IMP: Added ability to specify PostScript page size, including margins
     and plotter width.

IMP: Added "Clean up" command in "Edit" menu to remove extraneous pins.

************************* Version 5.6.1: Released 9/22/99 *************************

BUG: "Saved Views" command doesn't work.
FIX: In "usrdiacom1.c:tty_windowviewdlog()", corrected bugs.

BUG: When transistors are connected to nonManhattan wires, the geometry is wrong.
FIX: In "dbtechi.c:tech_shortenmostrans()", must add half the width to the
     shorten amount before calling "tech_makeendpointpoly()".

IMP: "Get Info" on transistors shows their sizes as "length" and "width".

BUG: During technology edit, editing string variables doesn't work under Windows.
FIX: In "usrdiacom1.c:tty_techvarsdlog()", marking changes to variables is only
     done if variable can be changed.

BUG: Technology editing commands can be issued when not editing a technology.
FIX: Commands now issue a warning when not in technology-editing mode.

IMP: Grid options now allow setting of default spacing, spacing between bold
     dots, and choice to align the grid with the circuitry.

BUG: Multiple highlighting (such as when DRC highlight errors) fails.
FIX: In "usrhigh.c:us_addhighlight()", must allocate new element of highlight
     list, not just give pointer to it.

IMP: Added "s" and "l" keys to make window pans small or large.

IMP: Added ability to save certain options with "Option Saving" command.

IMP: Added dialogs for "DRC Options", "Simulation Options", "Network Options",
     "VHDL Options", and "Compaction Options".  Split "Grid Settings" into
     "Grid Options" and "Alignment Options".

IMP: Added ability to save options in a hidden library file "electricoptions".
     Added routines "makeoptionstemporary()", "restoreoptionstate()", and
     "isoptionvariable()" to make options visible or not.

IMP: Moved "Technology/IO Control"  to "File/Foreign File Options" and gave it
     dialogs for each of the external formats: CIF, GDS, DXF, and EDIF.

IMP: Added "Frame Options" command of "VIEW" menu to set fields in frames.
     Also modified frame sizes to be more sensible.

IMP: Silicon Compiler now saves parameters in the library.

BUG: Design rules for MOSIS CMOS Submicron are wrong with respect to
     N-Active to P-Active.  Rule is 3 microns, but should be 12.

************************* Version 5.5.4: Released 9/5/9 *************************

IMP: In order to prepare for full saving of options, certain menu commands were
     renamed.  Now, most commands with the word "options" have their values saved
     in the library.  The renamed commands are: "Windows/Text Defaults" (now "Text Options"),
     "Info/Set Node Defaults" (now "New Node Options" "Info/Set Arc Defaults"
     (now "New Arc Options") and "Tools/Routing/Set Routing Arc" (now "Routing Options").

BUG: When typing a new node size into the "Get Info" dialog, the corner is held fixed.
IMP: In "usrdiacom2.c:tty_showdlog()", check to see if position changed, and if not
     then the center is held fixed.

IMP: Merged "graphunixsys.c" into "graphunixx11.c" and also merged "graphmacsys.c"
     into "graphmac.c".

BUG: Reading all IO layers from disk may not work.
FIX: In "usrmisc.c:us_varchanges()", allow spaces before numbers, and prevent
     insertion of new layers if file is longer.

IMP: Added ability to preserve more parameters in the library.

IMP: Added ability to print color from PostScript.

IMP: Changed UNIX program name variables from "SPICELOC", "ESIMLOC", "RSIMLOC",
     "RNLLOC", and "PRESIMLOC" so that they begin with "ELECTRIC_".

************************* Version 5.5.3: Released 9/2/99 *************************

IMP: Cleaned-up Motif/Lesstif interface for UNIX.

BUG: GDS Input may parse Y2K dates incorrectly.
FIX: In "iogdsi.c:io_gdsIdetermine_time()", adjust year values.

BUG: Connecting two arcs may crash.
FIX: In "usrhigh.c:us_highlighteverywhere()", must set "point" to zero if
     the object is an arc.

BUG: Deleting fixed variable (in "Variables..." dialog) crashes.
FIX: In "dbvars.c:delvalkey()", must test for valid "key" before calling "makename".

IMP: Made "GDS Input Instantiation of Arrays" the default.

************************* Version 5.5.2: Released 7/10/99 *************************

BUG: Popup menus (such as in technology edit) sometimes have wrong title
FIX: Must allocate header string in "usrcomln.c:us_menu()" before calling
     "us_popupmenu()".

IMP: Fixed the "Highlight Layer" command to present a sensible dialog.

BUG: VHDL Import misses parts of the file.
FIX: In "iovhdl.c", reorganized and added code to read "architecture" sections.

BUG: Text grab point is wrong on rotated nodes.
FIX: In "usrdiacom2.c:tty_showdlog()", must call "us_rotatedescript" before
     and "us_rotatedescriptI()" after displaying rotation.

BUG: On UNIX, messages display runs out of space and shows no more.
FIX: In "graphunixx11.c:gra_putstring()", test for room and clear top.

BUG: Printing on Windows is wrong.
FIX: In "graphpccode.cpp:gra_printwindow()", adjusted display coordinate calculations.

IMP: Improved Silicon Compiler: has full dialog for setting parameters; can
     create vias to connect to cells.

BUG: Cannot edit facets with special characters (such as "$") in their names.
FIX: In "usrdiacom2.c:tty_editfacetdlog()", call "us_editfacet()" directly.

IMP: Added beginning of Motif/Lesstif interface for UNIX.  Required that the ELK
     structure "Object" be renamed to "ELKObject".

IMP: Modified facet graphing to show names correctly.

IMP: Added a DEF (Design Exchange Format) reader: iodefi.c.

IMP: Added a LEF (Library Exchange Format) reader: iolefi.c.

IMP: Added a SUE (Schematic User Environment) reader: iosuei.c.

IMP: Added ability to draw partial ellipses (by setting partial angle on non-
     rectangular circle).  Modified "tecart.c:art_fillellipse()".

IMP: Added "Verilog Options" dialog to set model files and control use of "Assign".

IMP: Made better "bomb out" dialog that allows ease of saving libraries.

BUG: Changing characteristics of port crashes.
FIX: In "usrdiacom2.c:tty_showdlog()", after dialog, when deciding on text edit mode
     (itemHit == 27), must also test that "high->fromvar != NOVARIABLE".

IMP: Removed separate path variables for LISP, TCL, and TK, derive them from
     the main library directory.  Fixed LISP to use this path.

BUG: Problem giving bus networks multiple names (doesn't always unify the names)
FIX: In "network.c:net_addnametonet()", forced individual nets on a bus to be merged.

BUG: Duplication of arcs or text does not leave selection right.
FIX: In "usrcomcd.c:us_duplicate()", modified final selection code.

BUG: Small/Medium/Large text scaling is not right.
FIX: In "dbtext.c:truefontsize()", adjusted parameters for modern screen sizes.

BUG: UNIX cannot handle library named on command line.
FIX: In "usr.c", set color map immediately after computing it in
     "usr.c:us_do2init()".

IMP: Added the ability to negate bus wires in the Schematic technology.

IMP: Added "smart text placement" to "Text Defaults" dialog to place
     port name according to port location relative to connecting arcs.

BUG: Crashes when displaying a window and there is none on the screen.
FIX: In "usrdisp.c:us_fullview()", must not compute displayable variable
     extent if there is no window.

BUG: Changing the library name doesn't update the window title bar.
FIX: In "usr.c:us_newvariable()", check for change to "libname".

IMP: Added the ability to move objects by different amounts from the
     arrow keys (F for full, H for half, Q for quarter) as a prefix
     for the distance, command prefixed to multiply by 8).

IMP: Modified the "Create Port" dialog so that it remembers the characteristics
     from one use to another.

IMP: Added ability to create Verilog declaration blocks, separate from the
     Verilog code blocks.

BUG: Verilog output doesn't include "wire" statements for internal signals.
FIX: Modified "simverilog.c" to include these declarations.

BUG: Text selection doesn't always work when text has non-centered grab point
FIX: In "usrnet.c:us_maketextpoly()", added case statement to set polygon style
     before calling "rotatelabel()".

IMP: UNIX file select dialog now ignores files starting with "."
     (modified dbtext.c:nextfile()).

IMP: Added the ability to print from UNIX.  Added the internal command
     "library write LIBRARY printed-postscript" and fixed macro files

IMP: Added the ability to synchronize facets with PostScript files, so that the
     PostScript export will write all facets in the library that need updating.
     Also added the ability to specify an EPS scaling factor for each facet.
     Added the command "tellaid io postscript (synchronize FILENAME | unsynchronize)
     and modified the "Print Options" dialog.

BUG: Bus arc names do not always get unified properly.
FIX: Improved "network.c".

************************* Version 5.5.1: Released 5/10/99 *************************

BUG: Arc defaults dialog doesn't handle changes to more than 1 arc at a time.
FIX: Redid dialog, including popup for arc selection.

BUG: Double-clicking library files doesn't work on Windows.
FIX: In "usr.c", changed handling of double-clicked files.

IMP: Automatically change technology when reading a library with the main facet
     in a different technology.  Detect difference between analog and digital
     schematics.  Added the command-line variable "~t" which is the current tech.

IMP: Modified "usrdisp.c:us_drawnodeinst()" to write exported port names after
     the node graphics so that the name is unobscured.

IMP: Facet creation dialog sets the default view to the same as the current facet
     or the last one created.

BUG: Very long nonmanhattan arcs may not be drawn properly.
FIX: In "dbtechi.c:tech_makeendpointpoly()", use "muldiv" for the multiplications
     and divisions (6 places).

BUG: After changing layer patterns, screen does not redisplay
FIX: Fixed macro package to redisplay.

IMP: GDS input now has options to include text and to expand facets.  Low-level
     commands are: "tellaid io gds input [text | no-text] [expand | no-expand]"
     Menu commands are "Technology/IO Control/GDS Input Includes Text" and
     "Technology/IO Control/GDS Input Expands Facets"

BUG: GDS input doesn't handle rotations properly
FIX: Completely new version of "iogdsi.c" from Glen Lawson cleans up many problems

BUG: Deleting a line of text can cause a crash (specifically, when editing
     design rules in technology-edit mode).
FIX: In "usreditpac.c:us_editpacremoveselection()", must call
     "us_editpacshipchanges()" and "us_editpacbeginwork()".  Also indices
     for "DELETETEXTLINE" were wrong.

BUG: Some GDS files cause the system to crash when read in.
FIX: In "iogdsi.h", expanded MAXLAYERS to 128.  In "iogdsi.c", added check for
     the range of a layer number.

IMP: Added the ability to edit text objects in place.  Added the command option
     "var textedit VAR in-place".  Code in "usrmisc.c".

IMP: Added ability to have displayable array variables.  Added the
     routines "makedisparrayvarpoly()" and "getdisparrayvarlinepos()".
     Added code in "usrhigh.c", "usrnet.c", "usrdisp.c", "usrtrack.c",
     and "dbtechi.c" to use it.

IMP: Added ability to treat any displayable variable on an invisible
     node the same (not just ART_message).  Changed "usrtrack.c".

BUG: Windows file output allows overwriting without prompting.
FIX: Changed output dialog to prompt if file exists.

IMP: Rewrote Verilog output module.  Now part of GNU distribution.
     Also added the "verilog" view of a cell.

BUG: Adding a bus port to a facet with an icon does not create a bus
     pin in the icon.
FIX: In "usrnet.c:us_makenewportproto()", added proper wire/bus
     determination code similar to that in "us_makeiconfacet()".

BUG: Macintosh build fails on newer Codewarrior systems.
FIX: Change "CW22ORNEWER" to "NEWCODEWARRIOR" in the module "dbmult.c"

************************* Version 5.4g6: Released 3/12/99 *************************

BUG: On Windows, the "Artwork Color" and "Layer Visibility" pattern examples
     don't work right.
FIX: Fixed dialog scaling in "graphpccode.cpp:gra_dodialoginit()".

IMP: Rearranged placement of status fields to allow more fields on UNIX and Mac.
     (modified initial creation parameters in "usrstatus.c:us_initstatus()").
     Added facet size to status bar.  Improved "usrstatus.c" and the
     "graphXXX" modules.

IMP: Full view of a window now includes variables that have been offset.
     Modified "usrdisp.c:us_fullview()".

BUG: When a node or arc name is not visible, the "Duplicate" command makes the
     copies visible.
FIX: Copy the visibility bit in "usrnet.c:us_copyvars()".

BUG: Cursors don't change properly.
FIX: Improved graphics modules to display cursors correctly.

BUG: UNIX dialogs do not accept the arrow keys.
FIX: Moved rebinding code in "graphunixx11.c" to be in the right place.

IMP: UNIX file output now has full file selection dialog.

IMP: New X Window driver works on all bit depths without "colormap flashing"
     The downside is speed: this is slower.  Old version available by editing
     the "Makefile".

BUG: On Windows, SPICE dialog acts strangely when model card files are requested.
FIX: Redid file selection dialog to use MFC in "graphpccode.cpp:gra_fileselect()".

BUG: If changing a node into another node fails (due to port incompatibility),
     the system crashes.
FIX: In "usrnet.c:us_replacenodeinst()", must test result of "replacenodeinst".

BUG: On UNIX, if a library is specified on the command line and the user quits
     without making changes, the system still prompts to save.
FIX: In "usr.c:us_do3init()", after issuing the "editfacet" command to display
     the main facet in the initial library, the LIBCHANGED bit must be cleared.

IMP: Added the off-page connector to the list of analog parts available from
     the edit menu.

BUG: The tutorial describes incorrect items in the component menu.
FIX: Fixed the tutorial file.

BUG: When deleting windows, system might crash.
FIX: In "usrcomwz.c:us_window()", in the "delete" case, before setting the
     new window, if there is none, set "el_curwindow" to null.

IMP: There are 5 commands that prompt with lists of technologies: switching
     technology, documenting technology, editing technology, deleting technology,
     and converting a facet to a new technology.  Each takes a different list,
     and a general list may not work for all.  Modified "usrdiacom1.c" to make
     the list specific.

************************* Version 5.4g5: Released 2/13/99 *************************

BUG: UNIX sometimes redraws the window without the stipple patterns.
FIX: In "graphunixx11.c:gra_handleeditevent()", must call bracket call
     to "gra_repaint" with calls to "us_startbatch()" and "us_endbatch()".

BUG: Call to "mkstemp" does not fit logically with scheme of renaming
     binary file before writing new one.
FIX: Removed "mkstemp" call and use "mktemp".

BUG: File selection fails on Solaris systems.
FIX: In "graphunixx11.c:filesindirectory()", call "closedir()" after done.

BUG: Distance measures in the transistor size and area dialogs are wrong.
FIX: Removed distance choices, keeping distances in lambda units by default.

BUG: Incorrect parsing of distance measures.
FIX: Rewrote "dbtext.c:atola()", fixing numerous logic errors.

BUG: Icons are not properly "fleshed-out" when writing SPICE decks.
FIX: In "simspice.c:sim_spicewritefacet()", check for icon view and use contents
     before recursing.

BUG: You can place an icon into the layout of the same cell, causing recursion
     and a crash.
FIX: In "dbmath.c:isachildof()", test "child->cell == parent->cell" rather than
     "child == parent".

IMP: The "Get Info" dialog on text objects shows the actual position of the text.

IMP: In the VIEW commands "Edit Layout View", "Edit Schematic View", etc., if the
     window is already on the display, it is brought to the front, rather than
     creating a new one.  Created the routine "us_bringwindowtofront()" in the
     GRAPH modules and added the command "editfacet FACET non-redundant".

BUG: On UNIX, deleting one of the two simulation windows causes simulation
     to stop.
FIX: In "usrmisc.c:us_killcurrentwindow()", must reinstate the simulation
     bit in the new window after the call to "us_windowfit".
     In "simwindow.c:sim_window_termschemhandler()" and
	 "simwindow.c:sim_window_termhandler()", must not call "sim_window_stopsimulation"
     but just reset the "sim_window_np" variable so that it can be put back
     in "sim_window_redisphandler" and the newly created "sim_window_redispschemhandler".

BUG: SPICE options are not saved with the library.
FIX: In "sim.c:sim_init()", "sim.c:sim_set()", and "usrdiacom1.c:tty_simdlog()"
     removed the VDONTSAVE from sets of "sim_spice_state" and "sim_spice_level".

BUG: When converting small-lambda technologies (such as mocmossub) to schematics,
     components are large and overlapping.
FIX: In "usrctech.c:us_tran_logmakenodes()", must scale placement of components.

IMP: Binary I/O is now 64-bit clean.  New library format saves big and
     and small integer size.  Changed "iobinaryi.c" and "iobinaryo.c".

IMP: When duplicating nodes or arcs, names on them are forced to be
     unique.  Created "usrnet.c:us_copyvars()" and call it from
     "usrcomcd.c:us_duplicate()".

BUG: If a "Save As" is cancelled, subsequent "Save" commands still
     prompt for a file name.
FIX: Changed macros for "Save As" and also removed statements that
     set "el_pleasestop" in "dbtext.c:xcreate(),
     "graphunixx11.c:gra_fileselect()", and
     "usrparse.c:tty_specialparse()".

IMP: Renamed ports on some schematic components to be more sensible.
     "Source" now has ports "plus" and "minus"; "Meter" now has ports
     "a" and "b"; "Two-Port" now has ports "a", "b", "x", and "y".
     This change also requires a fix to "iobinaryi.c:io_doreadlibrary()"
     and "iotext.c:io_getport()" and the addition of
     "io.c:io_convertoldportname()" to properly read old format libraries.

IMP: The "Get Info" dialog now can manipulate the parameters of schematic
     components.

BUG: When changing schematic components to other schematic components,
     old schematic parameters persist and have no meaning.
FIX: When changing these components, old parameters are removed.

BUG: On UNIX, middle button does strange things.
FIX: Modified macro files (lib/egnumenus.mac) to unprogram this button.

BUG: Behaves badly or crashes during technology editing, when changing
     characteristics of a port.  On Windows, typing into dialog does not work.
	 On all systems, moving port after a change may crash.
FIX: For Windows dialog bug, "graphpccode.cpp:gra_keyaction()", must offset
     the coordinates by the window corner position.  For port motion crash,
     "usredtecc.c:us_teceditmodobject()" must handle PORTOBJ case specially and
     reset the currently highlighted node after calling "us_tecedmodport()".

IMP: In the SPICE Options dialog, now allow the use of "Use Node Names"
     checkbox for SPICE3 (used to only allow it in HSPICE).

BUG: On UNIX and Windows Visual C 6.0, crashes when changing port
     characteristics in the technology editor.
FIX: In "usrcom1.c:us_paramsedtecport()", must declare static character
     arrays:
		static char technologycpynpdef[4];
		static char technologycpbpdef[20];
     and then set the "def" fields of "technologycpbp" and "technologycpynp"
     to them before copying to those fields, for example:
		technologycpbp.def = technologycpbpdef;

BUG: When simulating, cannot shift the waveform window left or right.
FIX: In "sim.c:sim_set()", in the "window move" case, in the "left and right"
     subcases, the line:
		if (count < 2) time = size / 2.0; else
     should change the "< 2" to a "< 4".  In the "up and down" case, the line:
		if (count < 2) amount = signals / 2; else
	 should also change the "< 2" to a "< 4".

BUG: When the "mocmossub" technology is converted to a library, it cannot
     be converted back.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", must set separation
     to a minimum of 5000 units by adding:
		if (xs < 5000) xs = 5000;
		if (ys < 5000) ys = 5000;
     after the line
		ys = (pnp->highy - pnp->lowy) * 2 * tech->deflambda / oldlam;

BUG: On UNIX and Windows Visual C 6.0, crashes when the SPICE Options dialog
     requests heading or trailing model cards from a file.
FIX: In "usrparse.c:tty_specialparse()", must copy the "prompt" parameter to
     a temporary location before modifying it.  Also, in
     "graphunixx11.c:gra_fileselect()", must call "DiaAllowSubDialog()" before
     each call to "DiaInitDialog()".

BUG: On UNIX and Windows Visual C 6.0, crashes when converting technologies
     to libraries.
FIX: In "dbnoproto.c:newnodeproto()", must copy the "fname" parameter to
     a temporary location before modifying it.

BUG: On Windows, cursors dissapear when the background color is black.
FIX: Made cursors use "inverse" color instead of black.

BUG: CIF input fails if there are layers for both n and p processes in the
     same file (and the technology is the MOSIS CMOS switchable one).
FIX: In "tecmocmossub.c", change lines 550 and 551 from empty strings
     ("","",) to the proper layer strings ("CSP","CSN", and "CWP","CWN",).
     Also added "Poly-Cap-Node" and "P-Active-Well-Node" pure-layer nodes.

BUG: Sample PLA personality files mentioned in document are not in distribution.
FIX: Files are now in the distribution.

IMP: Made Electric 64-bit clean.  Changed INTBIG to "long".  Changed %d to %ld
     where appropriate.  Changed "unsigned" to "UINTBIG".

IMP: On UNIX, crashes when X display is not set right.
FIX: Used "printf" instead of "error" in "graphunixx11.c:gra_finddisplay()".

IMP: Improved User's manual HTML: added <HTML> at start of pages; fixed
     places where <HEAD> had missing "<"; added ALT to all images; changed
     "<" and ">" to &lt; and &gt; changed <H3> to <H2>; shortened <TITLE>;
     changed version from 5.4g3 to 5.4g4; and added the missing
     section 9-9.  Also removed all references to company propreitary
     code.

IMP: Modified UNIX Makefile to ignore unused modules "dblangelk.c" and "dblangtcl.c".

IMP: Cleaned up compiler warnings in "graphunixx11.c", "dbmult.c"

************************* Version 5.4g4: Released 11/24/98 *************************

BUG: UNIX does not automatically detect the need for the Xmu library.
FIX: Improved "configure" to detect the presence of this library.

BUG: Some compilers complain about extra semicolon after close bracket
     in header files (happens in the extern "C" wrapper for C++).
FIX: Removed the semicolons.

BUG: On the Mac and UNIX, dialogs with scrollable areas draw the
     vertical scrollbar incorrectly.
FIX: In "usrdialogs.c:Dsetvscroll()", must add 13 to r.right, not 14.
     Also, in the UNIX version of "Dgrayrect()", must not subtract 1
     from right and bottom coordinates.

BUG: If a new library is read while simulating, the red border persists.
FIX: In "usrcomln.c:us_library()", must terminate simulation after reading
     a new library that replaces the current one.

BUG: On UNIX, the highlighted simulation window trace dissapears
FIX: In "simwindow.c:sim_window_writetracename()", must reset
     the mask to "LAYERA" after writing highlighted trace info.

IMP: Fixed the routines "usrdialogs.c:Dgettextsize()" and
     "usrdialogs.c:Ddrawtext()" to copy their argument before modifying
     it so that strings do not need to be writable.  Then removed the
     "-fwritable-strings" flag on UNIX.

BUG: On HP UNIX, "scandir" call fails to compile in "graphunixx11.c".
FIX: Conditional code to define "gra_fileselectall" for HPUX.

BUG: On Windows, under Visual C++ 6.0, program will not run.
FIX: Visual C++ 6.0 places string constants in protected memory.  Fix involves
     changing "dbcontrol.c:el_primaryinit()" to place the constants "noname"
     into temporary arrays (because "newlibrary()" may modify its arguments);
     and modifying "dbtext.c:getnodeproto()" and "dbtext.c:getarcproto()" to
     copy their argument before modifying them (because they may be passed
     constants).

BUG: On Windows, compiled version of Electric requires Msvcrtd.dll and
     Mfc42d.dll to run (these DLLs are available only on machines with
     Visual C installed).
FIX: Changed "General" setting to be "Use MFC in a Static Library".

BUG: If "cadrc" file is missing, system may crash.
FIX: In "dbtext.c:xopen()", must test for "otherdir == 0" as well as
     "*otherdir == 0".

IMP: Added introductory display during loading (added to "usr.c:us_do2init()").

IMP: Corrected warning messages produced on BSD (requested brackets, implicit
     declarations).

IMP: Now check for "mkstemp" and use it (instead of "mktemp") in "iobinaryo.c".

IMP: Now check for "termios.h" (a BSD header file) and use it in "usr.h",
     "graphunixx11.c", and "simsim.c".

IMP: Documentation now indicates that UNIX users must use GNU make.
     Documentation now points users to www.gzip.org for more information.
     Documentation now makes even more clear that UNIX users must use 8 bit
     display (and that Windows users must use 16 or more).

BUG: On PC, numeric keypad doesn't work for window-shifting commands
     (such as Control-4 to shift left).
FIX: In "graphpcchildframe.cpp", added code to the "OnKeyDown" method
     to recognize the numeric keypad.

BUG: On UNIX, the define "HAVE_SGTTY_H" was not set properly.
FIX: Added "#undef HAVE_SGTTY_H" to "defines.h.in"

BUG: Some compilers use "restrict" as a keyword, causing compilation
     errors.
FIX: In "global.h" and "dbvars.c", changed parameter "restrict" in
     the routine "initobjlist()".

IMP: On UNIX, cleaned up "Makefile.in" for better installation.  Also
     removed "termcap" library.

IMP: Upgraded Macintosh code for CodeWarrior release 22 (from
     Mariusz Niewczas of CMU). Involved changes to "config.h",
     "usr.c", "usrcomtv.c", "dbmult.c", "graphmac.c" and "graphmacsys.c"

************************* Version 5.4g3: Released 10/9/98 *************************

IMP: UNIX file selection now using extension filters (for example,
     readable dump files must end in ".txt").

IMP: Made SPICE simulation *NOT* simulate automatically on any platform.

BUG: On UNIX, creation of output files fails.
FIX: In "graphunixx11.c:gra_fileselect()", output case must call
     DiaGetText(4) before calling DiaDoneDialog().

IMP: Added hooks to enable ELK LISP to be compiled on UNIX.

BUG: Simulation window does not show selected nets when window uses
     white-background color map.
FIX: In "simwindow.c:sim_window_writetracename()", use highlight color
     for trace name, not WHITE; in "sim_window_drawcursors()", make
     initial call to "sim_window_drawbox()" use 114 as first parameter,
     not zero.

BUG: On the PC, cannot plot spice listings.
FIX: Remove exclusion code at start of "simspicerun.c:sim_spice_execute()"

BUG: On the PC, the Messages Window Font command of the Windows menu fails.
FIX: Added code for font selection in "graphpccode.cpp:gra_setfont()".

BUG: Popup menus don't work on PC (this is noticed when trying to
     edit technologies).
FIX: In "graphpccode.cpp", must do "p2.x = p2.y = 0;" before
     calling MapWindowPoints.

IMP: Combined machine-specific terminal-handlers (graphmacterminal.c,
     graphpcterminal.c, and graphunixterminal.c) into one uniform file:
     terminal.c

BUG: Ports "1" and "2" on the schematic flipflop are syntically bad
     in VHDL.
FIX: Renamed them to "i1" and "i2".

IMP: Added X Windows toolkit for UNIX port.  Makes messages window
     scroll and not need "-MORE-" stuff.  Got rid of all "-More-"
     handling code in the system (it was only used on UNIX).

IMP: Added cut and paste on UNIX.

************************* Version 5.4g2: Released 9/17/98 *************************

IMP: Added copying notification to book and manual.

BUG: UNIX Messages window cannot rescale, main window shrinks when redrawn
FIX: Redid "graphunixx11.c" and "graphunixterminal.c"

IMP: Removed LINUX exception to use of FLOATSCALE in dbmath.c

IMP: Added "system print" command to Windows and implemented real printing.

************************* Version 5.4g1: Released 9/10/98 *************************
