			Electric change log

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