			Electric change log

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

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

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

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

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

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

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

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

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

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

IMP: (12/1/02) Schematic gates AND, OR, and XOR now scale properly when placed in different
     technologies.
     
IMP: (12/1/02) Session logging now works for modeless dialogs on Windows and UNIX.

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

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

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

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

BUG: (11/25/02) "Move objects by" doesn't move text properly.
FIX: In "usrcomln.c:us_move()" in the "by" case, do not offset distance by (bestlx,bestly)
     in call to "us_moveselectedtext()".
 
IMP: (11/25/02) The "replace all" button of "Text Find" now reports the number of replacements done.

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

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

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

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

IMP: (DN, 11/22/02) Native progress dialog is used on Qt. It permits interruption..
	
BUG: (DN, 11/22/02) Wide status text still expands graphics window on Qt.
FIX: Class EStatusItem is rewritten.

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

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

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

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

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

BUG: (DN, 11/21/02) Crash on Qt when click on graphics window while in "getmessagesstring()".
FIX: In "graphqt.cpp:getmessagesstring" clear gra->buttonhandler.
	
IMP: (DN, 11/20/02) Stretchable dialogs on Qt ("Layer Visibility" and "NCC Preanalysis Results" dialogs).
	
BUG: (DN, 11/20/02) Strange cursor behaviour on Qt-3.1.
FIX: In "graphqt.cpp:setdefaultcursortype" cursor is set on GraphicsDraw instead on GraphicsMainWindow.
	
BUG: (11/19/02) Broadcasts of new libraries should wait until all sublibraries are read.
FIX: In "io.c", added queueing of libraries.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IMP: (DN, 10/27/02) C++ API is added for Dialogs. "usrdiacom.c" is renamed to "usrdiacom.cpp".
	
IMP: (DN, 10/25/02) Attempt to use Doxygen for internal docs. "Doxyfile added"..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IMP: (9/25/02) When a library is closed, it says so rather than "deleted".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BUG: (JG, 8/26/02) Unrelated libraries being loaded on start-up
FIX: change logeffortsun.cpp: le_lasttoplevelfacet_key to VSTRING instead of VNODEPROTO.
	
BUG: (8/23/02) Verilog netlister may add "_1" to a signal name improperly.
FIX: In "simverilog.c:sim_vergetnetworks()", when checking for duplicate signal name,
     consider array indices that may not overlap.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BUG: (DN, 6/7/02) "Save as" dialogs can show invalid paths at initial call on Qt-2* .
FIX: Use "fullfilename in "graphqt.cpp:fileselect".
	
BUG: (DN, 6/7/02) Crash when saving empty "noname.elib", because "OPTIONVARCACHE->var" becomes invalid.
FIX: Do not save pointer to var in "dbvars.c:OPTIONVARCACHE".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BUG: (DN, 3/21/02) Lutz Morawietz reports that compilation of Electric on Qt fails in
	"graphqt.cpp:filesindirectory()" near "readdir_r".
FIX: Use "QDir" class for scanning files.
	
BUG: (DN, 3/21/02) Translation dialog hangs after error message.
FIX: Add "DiaDoneDialog" before error return in "usrtranslate.c:us_translationdlog".
	
BUG: (DN, 3/21/02) Keyboard events are lost on Qt on some window managers.
FIX: Add "setFocusPolicy( QWidget::StrongFocus )" to routine
	 "graphqt.cpp:GraphicsDraw::GraphicsDraw( QWidget *parent )".
	
BUG: (3/20/02) Area and perimeter calculations in "Tools/Logical Effort/Analyze Network"
     includes gate twice.
FIX: In "logeffort.c:le_analyzenetwork()", exclude "transistor-poly" from "polysilicon-1".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BUG: (2/24/02) Loops infinitely when converting library to technology with a unique name.
FIX: In "usrdiacom.c:us_libtotechnologydlog()", change the block of code after the line
     "if (itemHit == OK)" from:
		if (conflicts)
			if (DiaValidEntry(DLTT_RENAME)) break;
		continue;
     to:
		if (conflicts)
		{
			if (!DiaValidEntry(DLTT_RENAME)) continue;
		}
		break;

IMP: (2/22/02) Java interpreter now distingushes between "void" values and errors.

IMP: (2/22/02) Removed caching for unused variable "FACET_parameter".

BUG: (2/22/02) Auto-stitching doesn't work right.
FIX: In "routauto.c:ro_testpoly()", fix calls to "nonpseudolayer()" to use "opoly", not "poly".

BUG: (2/22/02) IRSIM deck generation may crash.
FIX: In "simirsim.c:sim_irsimaddarctomerge()", change the line:
		tot = arcpolys(ai, 0);
     to:
		tot = arcpolys(ai, NOWINDOWPART);

BUG: (2/22/02) VHDL compiler crashes if it sees unusual characters (high bit, negative)
FIX: In "vhdl.c:vhdl_identfirsthash()" and "vhdl_identsecondhash()", mask the results
     of "vhdl_toupper()".

BUG: (2/22/02) Point-and-click editor does not show unusual characters.
FIX: In "usreditpac.c:us_editpacimplementchar()", remove restriction on what is
     a "normal" character.

BUG: (DN, 2/18/02) Xft antialiasing font works bad in Electric on Qt because of SetPlaneMask trick.
FIX: "setStyleStrategy( QFont::NoAntialias )" is added in "graphqtdraw.cpp::gra_createtextfont()" and
     in "graphqt.cpp:EApplication::EApplication()". This disables antialiasing on Qt-3.
     On Qt-2 antialising can be disabled only by setting environment variable "QT_XFT=0".

BUG: (2/15/02) Encapsulated PostScript scale is incorrect.
FIX: In "iopsout.c:io_pswritefacet()", modified "epsformat" code to be consistent
     with regular PostScript. 

BUG: (2/15/02) "Unexpand" may take a very long time.
FIX: In "usrcomln.c:us_node()", do the "startobjectchange/endobjectchange"
     at the top level of expansion/unexpansion instead of in "usrnet.c:us_doexpand()"
     and "us_dounexpand()"

IMP: (2/15/02) Pad frame generation now grid-aligns the central core facet.

BUG: (2/15/02) PostScript font setting doesn't work.
FIX: In "iopsout.c:io_pswritefacet()", change the emitted PostScript from
     "/DefaultFont findfont" to "DefaultFont findfont".

BUG: (2/14/02) Deleting an arc inside a schematic facet may not properly renumber
     the icon instances.
FIX: In "network.c:net_killobject()", renumber above if deleted arc is connected to
     an export.  In "net_recursivelymarkabove()", consider icons, too.

BUG: (2/13/02) "Re-export" commands do not assign names in the proper order.
FIX: In "usrcomoq.c:us_port()", sort export names (same as for the "Array" command).

IMP: (2/13/02) When NCC checks recursively, it now warns when the top level has matched
     but some subfacets have failed to match.

BUG: (2/13/02) NCC crashes if an icon export has no equivalent in the contents.
FIX: In "netflat.c:net_buildpseudo()", check results of all calls to "equivalentport()".

BUG: (2/12/02) Boxed text shows wrong highlight and selects incorrectly.
FIX: Created "usrnet.c:us_gettextscreensize()" that accounts for boxing, and use it in
     "usrnet.c:us_filltextpoly()" and "usrhigh.c:us_gethightextsize()".

BUG: (2/12/02) Copying facet instances doesn't preserve the text on their unexpanded boxes.
FIX: In "usrnet.c:us_copylisttofacet()", copy the "textdescript" field on nodes.

BUG: (2/12/02) "Delete exports on highlighted" crashes if an area is selected.
FIX: In "usrhigh.c:us_gethighlighted()", use "geom" instead of "high.fromgeom"
     in places where searching an area.

BUG: (2/12/02) If key bindings have changed, first library (on UNIX command line)
     appears to have changed the bindings.
FIX: In "usrmisc.c:us_adjustquickkeys()", must construct new line right if it
     is checked and quick-key bound.

BUG: (2/12/02) If a library references another, and they have nonstandard lambda
     values, then the other library is marked "changed".
FIX: In "io.c:io_unifylambdavalues()", preserve library dirty information when
     changing lambda values.

IMP: (2/12/02) If a second SPICE plot is requested, and the waveform is gone but
     the "schematic" is present, terminates the simulation state.

BUG: (2/12/02) "Show Ports on Node" does not work right when editing "in place".
FIX: In "usrdisp.c:us_identifyports()", account for in-place editing.

IMP: (2/11/02) Verilog globals now have the proper "supply0/supply1" type if they
     are power or ground.

BUG: (2/11/02) Grid can be drawn too densely.  Draws incorrectly when switching facets
     to one in a different technology.
FIX: Changed "gridx/gridy" to use fractional values that are converted to lambda only
     when grid is drawn.  In "usrdisp.c:us_gridset()", turn off grid sooner.

BUG: (2/11/02) "Down Hierarchy In Place" draws incorrectly.
FIX: In "usrwindow.c:us_erasewindow()", must account for drawing "in place".

BUG: (2/11/02) Crashes when last waveform is removed from the window.
FIX: In "simwindow.c:sim_window_redisphandler()", check for zero number of lines.

BUG: (2/11/02) SPICE waveform viewer gives incorrect help for '0' and '7' keys.
FIX: Change "vertical" to "horizontal".

BUG: (2/11/02) Using "Window/Left", "Right", "Up" and "Down" in waveform shifts by
     incorrect amounts.
FIX: In "usrcomwz.c:us_window()", in the "left", "right", "up", and "down" cases,
     do not specify the shift amount.

IMP: (2/11/02) When "Check and Repair Library" finds variable errors, it marks the
     associated libraries for saving.

BUG: (2/10/02) "Up Hierarchy" and "Down Hierarchy" don't work right in IRSIM.
FIX: In "irsimanalyzer.c" now redisplay properly.

BUG: (2/10/02) Spurious errors given about port indices during input.
FIX: In "iobinaryi.c:io_doreadlibrary()", detect circular external library reading
     and do not give errors if port conversion will happen elsewhere.

BUG: (2/8/02) SPICE Options should sets technology information (such as header cards) wrong.
FIX: In "sim.c:sim_spicedlog()", set technology information for the non-schematic technology.

BUG: (2/8/02) Verilog output breaks busses if they are connected to multiple exports
     with different sizes and directions.
FIX: In "simverilog.c:sim_vergetnetworks()", unify direction of all busses.

BUG: (2/8/02) CIF output flags spurious resolution errors.
FIX: In "iocifout.c:io_cifreserror()", must account for node rotation.

BUG: (2/8/02) MOSIS CMOS Multiple contact cuts don't appear properly in all situations.
FIX: In "techmocmos.c:mocmos_drcrules[]", adjusted cut surrounds.

BUG: (2/7/02) "Boxed" text is selectable anywhere in the box.
FIX: In "usrnet.c:us_getnodetext()", compute selection bounds better.

IMP: (2/7/02) Waveform window snapshots look better.

IMP: (2/7/02) Opening a second library now displays the top facet in a new window.

BUG: (2/7/02) Technology editor builds library incorrectly.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", set port name text descriptor.
     Now call "endobjectchange()" properly.

BUG: (2/6/02) DRC size that defines "wide" rules is not saved.
FIX: In "drc.c:dr_rulesdlog()", remove "VDONTSAVE" from storage of the value.

BUG: (2/6/02) ERC does not properly check distance of unconnected well areas.
FIX: In "erc.c:erc_analyzefacet()", number each well area uniquely before assigning
     numbers from the well contacts.

BUG: (2/6/02) Removing a signal from the waveform window doesn't highlight the
     correct next signal.
FIX: In "simwindow.c", renumber undisplayed signals as well as displayed ones.

IMP: (2/6/02) Better reporting of hierarchical DRC errors.

BUG: (2/6/02) Clicking and holding on an object doesn't always show the highlight
     of it quickly.
FIX: In "usrtrack.c:us_multidragbegin()", should show the highlight immediately.

BUG: (2/6/02) Clicking and releasing quickly in a different UNIX window now only
     switches the window but may start a selection.
FIX: In "graphunixx11.c:gra_getcurrentwindowframe()" must return NOWINDOWFRAME if
     the window context switches.

BUG: (2/6/02) DRC misses multi-cut rules (such as 6.7b).
FIX: In "drcbatch.c:drcb_badbox()" consider the multicut state of the parameter "geom".

IMP: (2/6/02) Verilog output now considers default bus direction when writing
     busses that are not explicitly specified (such as in layout).

BUG: (2/6/02) "3D Options" does not save layer height and thickness.
FIX: In "dbtech.c:set3dheight()" and "set3dthickness()", make variables permanent.

IMP: (2/5/02) Facet center nodes are set to be visible inside facet only.

BUG: (2/5/02) Nodes that are "only visible inside facet" are still drawn when "peeked".
FIX: In "usrdisp.c:us_drawall()", ignore such nodes at lower levels.

IMP: (2/5/02) DRC no longer checks circuitry in hidden libraries (such as the clipboard).

BUG: (2/5/02) Pasting text shows no highlight.
FIX: In "usrtrack.c:us_multidragdraw()", draw location of invisible pins necessary.

IMP: (2/5/02) DRC now checks pins that are exported but unconnected.  Gives more
     informative error messages.

BUG: (2/4/02) PostScript exporting may clear the screen.
FIX: In "usrwindow.c:us_erasewindow()", use "us_displayroutine()" to do the clear.

IMP: (2/4/02) NCC now checks for duplicate network names (caused when layout arc
     names are the same but not unified into a single network).

BUG: (2/4/02) SPICE netlister may generate comments that span two lines and continue
     with "+" instead of "*".
FIX: In "simspice.c", added parameter to "sim_spice_xputs()" and "sim_spice_xprintf()"
     to flag comments and continue them properly.

BUG: (2/4/02) Verilog netlister ignores power or ground if multiple ones are found.
FIX: In "simverilog.c:sim_vergetnetworks()", do not clear the power/ground network
     if multiple ones are found.

BUG: (2/4/02) Verilog netlisting does not handle transistors with exports.
FIX: In "simverilog.c:sim_verwritefacet()", look for exports if no arcs are found.

BUG: (2/4/02) Duplicating arc names that are multiply indexed doesn't always work right.
FIX: Improved "usrstatus.c:us_uniqueobjectname()".

BUG: (2/3/02) "Align to Grid" does not work right for transistors.
FIX: In "usrnet.c:us_regridfacet()", use displayed coordinates instead of corner.

BUG: (DN, 2/3/02) Qt command-line options (e.g. -style=windows) cause error report in us_options.
FIX: Move "new EApplication(argc,argv)" from "graphqt.cpp:intgraphics()" to "graphqt.cpp:graphicsoptions()".

IMP: (DN, 2/1/02) "window move-display" command on Qt

IMP: (1/31/02) No longer have 32-bit limit on busses in waveform window.

IMP: (1/30/02) Waveform window now shows sensible time values.

BUG: (1/30/02) Closing a split window on the Macintosh may crash.
FIX: In "graphmac.c:gra_disposeoswindow()" must set WINDOWFRAME fields to zero
     after deallocating.

BUG: (1/30/02) "Layer Visibility" on the Mac or Athena UNIX resets the list to the top
     after each click.
FIX: In "graphmac.c:DiaSelectLines()" and the Athena version in "graphunixx11.c", do not
     redraw the scroll area if setting to a null selection.

BUG: (1/29/02) Can enter zero lambda sizes, causing a crash.
FIX: In "usrdiacom.c:us_lambdadlog()" check for valid lambda.

BUG: (1/29/02) "Cross Library Copy" lists unalphabetized libraries.
FIX: In "usrdiacom.c:us_copyfacetdlog()", sort the library names.

BUG: (DN, 1/27/02) Crash in gra_finddisplays on Linux with '-m', because number of screens is
     less than number of "/dev/fbXX" files.
FIX: In "graphunixx11.c:gra_finddisplays()", check for dpy==NULL.

IMP: (1/25/02) "Change" can now handle it when multiple objects are selected.

IMP: (1/25/02) Changed default Schematic Wire Pin size to 0.5x0.5

IMP: (1/24/02) Expanded facet instances with pins in them (such as icons) consider
     the wires attached at the higher level when determining whether to draw steiner point.

IMP: (1/24/02) The "Icon option" to place a facet center is now gone, replaced by the
     "Facet Options" option to place a facet center.

BUG: (1/24/02) Simulation times are described incorrectly.
FIX: Improved "simwindow.c:sim_windowconvertengineeringnotation()".

IMP: (1/24/02) Multi-object Get-Info now leaves highlighting as it is when manipulated
     in the dialog.

BUG: (1/24/02) Wiring a schematic transistor to itself (source-to-drain) creates
     3 arcs that are badly positioned.
FIX: In "usrarc.c:us_twobend()", ensure that the orientation of the jog is sensible.

BUG: (1/24/02) Exporting from an arc crashes.
FIX: In "usrhigh.c:us_getobject()", must check the type of the selected object.

BUG: (1/24/02) Bus pins on the edge of icons get drawn badly.
FIX: In "dbgeom.c:boundobj()", only wipe out pins if they have no exports.

BUG: (1/23/02) Zero-length arcs with end-extension turned off appear as slivers.
FIX: In "dbtech.c:arcpolys()", ignore such arcs.

BUG: (1/22/02) SUE input doesn't connect things that touch (implicit connections).
FIX: In "iosuei.c:io_sueplacewires()", look for implicit connections.

IMP: (1/22/02) Now can use "text find" on layout.

IMP: (1/22/02) Breaking an arc (by wiring it from the middle) now intelligently
     chooses on which end to place the name and other information.

BUG: (1/22/02) "Erase Geometry" does not preserve arc names.
FIX: In "usrnet.c:us_choparc()", must call "copyvars()" after creating a new arc.

IMP: (1/21/02) CIF resolution errors now go through standard error reporting.

IMP: (1/21/02) Now limit the number of errors.

BUG: (1/18/02) Pasting an arc onto another doesn't copy the constraints.
FIX: In "usrnet.c:us_pastarctoarc()", include relevant "userbits".

IMP: (1/17/02) Negative size nodes now reported by "cleanup pins" and "check and repair
     library".

IMP: (1/17/02) Layout text now has an option to separate each pixel, for DRC purposes.

IMP: (1/17/02) Interactive node sizing now keeps the anchored point.  Uses control
     key to restrict growth to one axis.

BUG: (1/17/02) "Change Text Size" cannot change the size of facet instance names.
FIX: In "usrdiacom.c:us_modtextsizedlog()", changed "facet" option to change instance names,
     not facet variables.

IMP: (1/17/02) "Artwork Color" can now handle multiple selected objects.

BUG: (1/17/02) DRC misses some errors.
FIX: In "drcbatch.c:drcb_getnodepolys()" and "drcb_getnodeEpolys()", must transform
     bounds of each polygon.

BUG: (1/17/02) NCC reports unnamed nets.
FIX: In "netflat.c:net_getpnetandstate()", now warn if adding a pseudonet with
     a null NETWORK pointer.

BUG: (1/15/02) Polygon merging may crash
FIX: In "dbmerge.c:db_mergeaddintersectionpoints()", adding to queues must check
     queue allocation first.

BUG: (1/14/02) Deleting multiple export names doesn't work.
FIX: Modified "usrcomek.c:us_erase()" to handle any number of text objects.

BUG: (1/11/02) "Insert Break in Arc" doesn't work.
FIX: Rearranged code in "usrcomcd.c:us_create()".

BUG: (1/11/02) Very large transistors may overflow and have negative width/length.
FIX: In "netflat.c:net_buildpseudo()", use "muldiv()" when scaling by WHOLE/lambda.

IMP: (1/10/02) The log file (Windows and UNIX) is now readable text.

IMP: (1/10/02) Load calculations (in "List Geometry On Network") now uses separate
     wire ratio for each arc, as specified in "Logical Effort Options".

BUG: (1/9/02) May crash while merging geometry.
FIX: In "dbmerge.c:db_mergeaddintersectionpoints()", only free "db_mergeOqueue" if
     "db_mergeOqueuetotal > 0".

BUG: (1/7/02) Changing node placement with the "Get Info" dialog does not always work.
FIX: In "usrdiacom.c:us_getnodemodfromdisplayinfo()", center-adjustment code at the
     top should add low offset, not subtract it.

BUG: (1/4/02) Highlighting of multi-line text objects is wrong.
FIX: In "usrhigh.c:us_gethightextsize()", must return after computing size of multiline text.

BUG: (1/4/02) Crashes when going "Up Hierarchy" if an arc is selected.
FIX: In "usrcomoq.c:us_outhier()", do not set port if object is an arc.

IMP: (1/4/02) Changing default arc width or node size now updates component menu.

IMP: (1/4/02) "Verilog Options..." dialog now sorts libraries in popup and facets in scroll.

BUG: (1/4/02) Cannot place an instance of one facet into another version of that facet
FIX: In "dbmath.c:db_isachildof()", compare actual facets, not their cells.

IMP: (1/4/02) "Change..." dialog now sorts libraries in popup.

BUG: (DN, 1/3/02) Compilation fails on Qt because Boolean not defined.
FIX: All Electric sources are compiled by C++ compiler on Qt.

BUG: (12/24/01) Pasting one schematic transistor type onto another is not undoable.
FIX: In "usrnet.c:us_pastnodetonode()" set "userbits" with "setval()".

BUG: (12/23/01) Reading old readable dumps that require the new SPICE library crashes.
FIX: In "iotexti.c:io_doreadtextlibrary()", move call to "io_fixnewlib()" to the end.

IMP: (12/21/01) Converted most INTSML to either INTBIG or new BOOLEAN type.

BUG: (12/19/01) On Mac, first display of "no facet in this window" is wrong
FIX: In "graphmac.c:gettextbits()" recache window pointers after creating memory.

BUG: (12/19/01) On Mac, pulldown menu entries not correct
FIX: In "graphmac.c", fixed routines to handle parentheses and new quick-key names.

BUG: (12/19/01) On Mac, "Windows/Adjust Position" commands don't handle 2 screens.
FIX: In "graphmac.c:adjustwindowframe()", make outer loop over each screen.

BUG: (12/18.01) "Fill Window" doesn't handle large text right
FIX: In "usrdisp.c:us_fullview()", call "us_squarescreen()" after creating
     dummy window extent.

BUG: (12/18/01) Alignment changes when technologies change.
FIX: Now hold alignment as a fractional value.

IMP: (12/18/01) Multi-object Get Info now allows multiple lines to be selected.

IMP: (12/18/01) IRSIM now handles "Auto Advance", remembers parameter file.

BUG: (12/17/01) SPICE output allows illegal characters (only allows "!#$%*+-/<>[]_").
FIX: In "simspice.c", convert illegal characters.

BUG: (12/17/01) Verilog output allows illegal characters (like ".").  Also ignores
     instances with only 1 connection.
FIX: In "simverilog.c:sim_verwritefacet()" only ignore passive components that are
     primitives.  In "sim_verconvertname()" and "sim_vernamenoindices()", convert all
     punctuation except "$".

BUG: (12/17/01) Cannot set "weak transistor" on schematics transistors.
FIX: In "usrcomtv.c:us_var()", after getting variable name "qual", cache its key
     and use that later.

BUG: (12/17/01) Simulation waveform window may overwrite its bounds.
FIX: In "simwindow.c:sim_window_plottrace()", the digital signal drawing
     must crop its "x_max" to 767.

BUG: (12/17/01) Should not allow text to show inherited values unless it is a facet
     parameter.
FIX: In "usrdiacom.c:us_getinfotext)" make the check.

IMP: (12/17/01) "Change..." dialog now allows arcs to be changed to another arc
     with appropriate node replacement so that any other arc can be chosen.

IMP: (12/14/01) IRSIM now handles arrayed nodes, can save and restore test vectors.

BUG: (12/14/01) Connecting arcs of different material may create them with wrong width.
FIX: In "usrarc.c:us_twobend()", do not use "wid", the maximum of the two widths.

BUG: (12/14/01) Verilog netlister may crash.
FIX: In "simverilog.c:sim_vergatherglobals()", must set "j=0" before looping on
     names gathered by "sim_vergetnetworks()".

BUG: (12/13/01) Doing NCC preanalysis recursively shows too much information.
FIX: In "netdiff.c:net_ncconelevel()", must set facet "temp1" flags after
     dumping preanalysis information.

IMP: (12/13/01) Creation and deletion of arcs now redraws the attached facet instances
     so that export names get drawn/undrawn properly.

IMP: (12/13/01) Pad frame generator places pads on-grid.

BUG: (12/13/01) Auto-stitching doesn't work right for schematics.
FIX: In "routauto.c:ro_checkstitching()" only call "samelayer()" if "useportpoly" is zero.

BUG: (12/13/01) DRC allows some select and active spacing errors.
FIX: In "drcbatch.c:drcb_activeontransistor()", compare layer function against
     "LFDIFF", and not the "AP*" function codes.

BUG: (12/13/01) "Select All" does not select facet text, chooses invisible pins
     instead of their text.
FIX: In "usrcomek.c:us_find()", fixed the "all" command.

IMP: (12/10/01) IRSIM built-in simulator now remembers signal order.

IMP: (12/10/01) IRSIM now handles global signals.

IMP: (12/10/01) Dialogs now scale to fit their contents.

BUG: (12/9/01) Electric does not work well on Alpha.
FIX: In "global.h", changed Alpha 64-bit definition from "int" to "long".
     In "iotexti.c:io_getvar()", made special case code for "float" arrays.

IMP: (12/7/01) DXF now has a scale factor.

IMP: (12/6/01) Renamed "Transistor" layer in mocmos to "Transistor-Poly".

IMP: (12/6/01) Added ability to read binary tr0 HSPICE output files.

IMP: (12/5/01) Multi-object "Get Info" now handles setting hard-to-select.

IMP: (12/5/01) NCC now handles global signals and multiple power and ground.

BUG: (12/4/01) Arrow keys don't work right when editing a transformed facet in place.
FIX: In "usrcomln.c:us_move()", must transform the "up/down/left/right" commands.

IMP: (12/4/01) Locating referenced libraries includes a search of the library directory.

BUG: (12/4/01) The string "." is converted to "0" in variables.
FIX: In "dbtext.c:isanumber()" disallow the string "." as a number.

BUG: (12/4/01) Cannot set capacitors to Picofarads.
FIX: In "usrdiacom.c:us_capacitancedlog()", change "i-3" to "i-1" in the Picofarad parsing code.

BUG: (12/3/01) GDS does not handle multiple properties in an element.
FIX: In "iogdsi.c:io_gdsIelement()", changed "if" to "while" in property grabbing code.

BUG: (12/3/01) Cannot change value of resistance, capacitance, or inductance by
     double-clicking on value.
FIX: In "usrdiacom.c:us_inductancedlog()", "us_capacitancedlog()", and
     "us_resistancedlog()", must save "final" in memory before calling
     "us_setvariablevalue()".

BUG: (12/3/01) Drawing an arc connects to another object if constrained endpoint
     is over that object but cursor is not.
FIX: In "usrcomcd.c:us_create()", only handle code block headed by the comment:
     "find the object under the cursor" if NOT in interactive mode.

BUG: (12/3/01) Constraint system may move objects in unexpected ways.
FIX: In "conlay.c", remove all calls to "reduceportpoly()".

IMP: (11/29/01) SPICE output now makes use of global signals.

IMP: (11/29/01) Can now set display part of attributes from command line.

IMP: (11/29/01) Now allow primitives to be replaced with facet instances.

BUG: (11/29/01) When wire creation places an intermediate node, its size may be too big.
FIX: In "usrarc.c:us_getnodeonarcinst()", change first argument to "us_widestarcinst()"
     to be "ap", not "NOARCPROTO".

BUG: (11/29/01) "Cleanup Pins" will shrink pins even if there are arcs attached
     off center that end up moving.
FIX: In "usrnet.c:us_cleanupfacet()", only shrink pins that have all arcs connected
     to the center.

BUG: (11/29/01) Saving files that came in as readable dumps presumes incorrect names.
FIX: In "iobinaryo.c:io_writebinlibrary()" and "iotexto.c:io_writetextlibrary()"
     check for ".txt" and ".elib" extensions.

BUG: (11/29/01) Node Information shows wrong center position for some rotated nodes.
FIX: In "usrmisc.c:us_getnodedisplayposition()", must transform coordinates in
     center-based situation.  In "usrdiacom.c:us_getnodemodfromdisplayinfo()",
     fixed application of position/size to center-based primitives.

BUG: (11/29/01) Transistors mirror properly, but 4-port transistors do not.
FIX: In "usrcomln.c:us_mirror()", extend special transistor rule to 4-port transistors.

BUG: (11/28/01) MOSIS DRC rule 4.4 is not checked properly
FIX: In "tecmocmos.c", make all select and well layers be attached to the node.
     Also make rule 4.4 work for connected and unconnected layers.

BUG: (11/27/01) Facets with only instances and no arcs may appear wrong.
FIX: In "dbmath.c:whattech()", consider technology of instances, too.

BUG: (11/27/01) Changing lambda values can wreck arcs.
FIX: In "dblibrary.c:db_validatearcinst()", do not reduce port areas.

IMP: (11/27/01) Displayable variables can now display their inherited value.

IMP: (11/26/01) Can now define SPICE templates for icons to define arbitrary cards.

IMP: (11/26/01) DRC now caches bounds for each polygon inside of a node or arc
     to speed checking of complex primitives (such as large contacts).  DRC also
     notices when an instance has no surrounding geometry and does not need to be
     checked.

BUG: (11/26/01) Cannot edit or create a facet whose name conflicts with a primitive
     node.
FIX: In "usrdiacom.c:us_editfacetdlog)", always use library name.

IMP: (11/25/01) Arraying multidimensional arrays chooses a numeric one if the last
     is nonnumeric.

BUG: (DN, 11/23/01) Escape key in dialog leads to strange behaviour because DiaDoneDialog not called.
FIX: Disable EscapeKey in EDialog::keyPressEvent(...).

BUG: (DN, 11/23/01) Can't compile on qt-2.3.1 .
FIX: Use obsolete QAccel::stringToKey(...) which however works both on qt-2.3.1 and qt-3.0.0 .	

IMP: (11/20/01) Added "Global-signal" component to schematics technology.

BUG: (11/20/01) NCC may get into a loop.
FIX: When a symmetry group is split artificially, redoing the same type of group's
     hash values will reunify it.  So after a split, must redo the opposite group
     types first.

IMP: (11/20/01) Now have "No to all" option when quitting and libraries have changed.

BUG: (11/19/01) Changing the size of many nodes at once can cause constraint
     propagation errors if there are too many rigid arcs in the mix.
FIX: Introduced a new database routine: "modifynodeinsts()" which modifies multiple
     nodes at once, applying constraints properly.

BUG: (11/19/01) Command line parsing doesn't handle octal character codes right.
FIX: In "usrparse.c:us_fleshcommand()", after the loop that gathers an octal number,
     must decrement "pp".

BUG: (11/19/01) Shift-click doesn't work when editing text "in place".
FIX: In "usrmisc.c:us_editvariabletexthandlebutton()" added code to handle shift-clicks.

IMP: (11/17/01) Converted key binding data structures to use special strings for special
     characters so that they don't have to override the ASCII characters.

BUG: (DN, 11/16/01) "Default button" does not work in "NewFacet" on other dialogs
     on qt-2.3.1.
FIX: Make "ElectricDialog" be inherited from "QDialog" and modify "ElectricDialog::showMe".

IMP: (11/15/01) ERC now has option to check that NWell contacts connect to power
     and PWell contacts connect to ground.

BUG: (11/15/01) Intermediate contact not always the right size when wiring.
FIX: In "usrarc.c:us_onebend()", call "us_getproperconsize()" with proper values.

BUG: (11/15/01) Redraw doesn't always work when there is large text on the object.
FIX: In "usrwindow.c:us_queuevicinity()", use "us_getnodebounds()" and "us_getarcbounds()"
     to determine full object bounds.  In "usrdisp.c:us_drawnodeinst()", use
     "us_getnodebounds()" when erasing facet instances.

IMP: (11/15/01) Parallel transistors now merged wherever they exist
     (even in different subfacets)

IMP: (11/15/01) Technology editor now offers to rename existing technology.

BUG: (11/15/01) Technology editor renames primitives, making it hard to reread
     an existing technology.
FIX: Removed usage of "us_tecedstripdash()".

IMP: (11/15/01) Rearranged menus to be more sensible.

IMP: (DN, 11/15/01) Graph API function "getbuckybits" implemented on Qt.

BUG: (DN, 11/15/01) Can't compile with qt-2.3.1 .
FIX: In graphqt.h define Q_CHECK_PTR if not defined.

IMP: (11/14/01) Netlister now assigns node names based on node function.

BUG: (11/14/01) Netlister does not assign names if the name variable is empty.
FIX: In "network.c:net_nameallnodes()" check for empty names.

BUG: (11/14/01) Verilog netlister doesn't handle multidimensional busses properly.
FIX: In "simverilog.c", ignore all but the last index.

IMP: (11/13/01) "Redo Network Numbering" now shows a busy cursor.

IMP: (11/13/01) Now have "Tools/Simulation Interface/Add Spice Card" to add an
     arbitrary SPICE card to the deck.

IMP: (11/13/01) "Show Facets Graphically" now has submenu to select entire library
     or just tree below current facet

IMP: (11/13/01) Now have language translation dialog.

IMP: (11/13/01) Removed Control-Right button (constrained dragging) and also
     "Selection Option" to make it the default.  Instead, hold control key for
     constrained dragging.

IMP: (11/13/01) Can no longer change lambda for schematics, artwork, or generic

BUG: (11/13/01) Verilog arrayed names use "[]" which is illegal.
FIX: In "simverilog.c:sim_verwritefacet()", strip the brackets

IMP: (11/12/01) "List Libraries" now explains cross-library dependencies.

IMP: (11/12/01) NCC now looks for unique matches when resolving ambiguity.
     NCC sped up by removing matched groups from further consideration.
     NCC sped up by examining circuit locally after match is made.

BUG: (11/12/01) Alignment values get corrupted easily.
FIX: Now save alignment as a fractional value, not lambda, so that it doesn't change
     when lambda does.

IMP: (DN, 11/12/01) Qt painter is used for drawing instead of "graphdraw".

BUG: (11/11/01) Many Macintosh features are not implemented.
FIX: Added printing of text facets, rewriting of dialog buttons, proper
     messages window control, dialog sizing.

BUG: (DN, 11/10/01) Selection box do not stretch on X11, because MOTION bit is out of INTSML.
FIX: In "graphunixx11.c:trackcursor()", change type of "action" to INTBIG.

BUG: (DN, 11/10/01) Function "us_keyname" do not give names of shifted keys.
FIX: In "usrmisc.c:us_keyname()", change mask to SHIFTDOWN.

BUG: (11/9/01) "Size" command doesn't work right if multiple nodes are selected.
FIX: In "usrcomrs.c:us_size()", rearranged error messages.

IMP: (11/8/01) Node type in status bar now shows specialization.

IMP: (11/8/01) Character processing no longer overloads the key code with extra bits
     such as the control key, etc.  This allows full 8-bit codes to be used.

IMP: (11/7/01) Can now "edit in place" with "Down Hierarchy in Place", which
     views a facet in its parent location AND ORIENTATION.

BUG: (11/7/01) Error review overwrites existing windows.
FIX: In "dberror.c:db_reportcurrenterror()", no longer look for a window to use: create it.

BUG: (11/7/01) "Change..." can leave new nodes on nongrid locations.
FIX: In "dbnoproto.c:replacenodeinst()", align placement.

BUG: (11/7/01) "Up Hierarchy" may offer to show instances in the clipboard.
FIX: In "usrcomoq.c:us_outhier()" and "usrnet.c:us_pickhigherinstance()",
     exclude nodes in hidden libraries.

BUG: (11/7/01) Automatic placement of facet-centers does not make them hard-to-select.
FIX: In "ioedifi.c", "iogdsi.c", "iolefi.c", and "usrnet.c", set the HARDSELECTN bit.

BUG: (11/7/01) "List Nodes in this Facet" does not find contents of icons, nor does
     it find nodes in other libraries.
FIX: In "usrstatus.c:us_describecontents()", fixed searching.

BUG: (11/5/01) Going up the hierarchy when the only instance is inside the contents
     facet causes that facet to be redisplayed.
FIX: In "usrcomoq.c:us_outhier()", ignore icon documentation instances.

BUG: (11/5/01) NCC may fail if one equivalent port is wired and another isn't.
FIX: In "netflat.c:net_buildpseudo()", must compare ports in their contents, not
     at the icon level.

BUG: (11/5/01) Text that is far away may not get selected.
FIX: In "usrcheck.c", repair this bit.

BUG: (11/5/01) After reading a library, opaque layers are not drawn.
FIX: In "usrcomln.c:us_library()", after reading the library, call "us_endbatch()".

BUG: (11/5/01) Truetype text gets spaces wrong on UNIX.
FIX: In "graphunixx11.c" must account for spaces separately.

BUG: (11/4/01) DRC fails to find some active spacing errors.
FIX: In "drcbatch.c:drcb_activeontransistor()", only allow active that is
     directly connected to the transistor to be ignored.

BUG: (11/4/01) "Erase and Reconnect" may create strange replacement arcs
     if they connected in different locations on the deleted node.
FIX: In "usrnet.c:us_erasepassthru()", need more rigorous test that the arcs
     have the same slope.

IMP: (DN, 11/3/01) Qt implementation of text is added, which can replace T1Lib.
     It is disabled by default and can be turned on by "#define QTEXT".

BUG: (DN, 11/3/01) When overwriting existing file on Qt,
     yesno dialogs spoils first 8 characters of its name.
FIX: In graphqt.cpp:fileselect use ElectricApplication::localize() .

IMP: (11/2/01) Made parameters more robust: able to be recursively called.

IMP: (11/1/01) When connecting into an arc, if the new arc is wider, the contact is
     rectangular.

IMP: (11/1/01) Can now print text facets on UNIX.

IMP: (11/1/01) User interface variables that track macro execution are now done
     quietly so that undo works more cleanly.

BUG: (11/1/01) Reading a small library after many others are read in causes a delay
     while all networks are renumbered.
FIX: In "io.c" now renumber only 1 library if no dependent libraries were read.

IMP: (11/1/01) Auto-routing now handles schematics.

BUG: (11/1/01) Arc angle improperly determined when arc is zero length.
FIX: In "dbcreate.c:determineangle()", use node position if arc length is zero.

BUG: (11/1/01) When the component menu is 2-wide, a pure-layer node may appear at
     the top.
FIX: In "usrmenu.c:us_setmenunodearcs()", clear odd entries.

IMP: (10/31/01) SPICE sources and Two-ports now have full dialogs for describing
     their parameters.

BUG: (10/30/01) Two-port nodes are not described properly.
FIX: In "global.h", must allocate one more bit for NFUNCTION.

IMP: (10/30/01) Mimic stitching now tells which options are preventing wiring.

BUG: (DN, 10/30/01) Sometimes Electric hangs in input mode on Qt.
FIX: In graphqt.cpp:GraphicsMainWindow::menuAction(...) enable menu items after 2 tries.

BUG: (DN, 10/30/01) When entering EDITLINE's in atributes dialog on Qt, focus moves to
     default button after every key.
FIX: In graphqtdlg.cpp:ElectricDialog::defaultButton temporary disable changing foucs.

BUG: (DN, 10/30/01) MessagesWindow SetFont dialog do not show previous font ont Qt.
FIX: In 'graphqt.cpp:setmessagesfont' previous font is given to "getFont".

IMP: (10/29/01) Changing technology options adjusts existing node sizes so that their
     highlighted area is unchanged.

IMP: (10/29/01) Facet centers are placed in new facets by default.

BUG: (10/29/01) Zooming in and out does not return to the same scale.
FIX: In "usrcomwz.c:us_window()", the "in-zoom" and "out-zoom" cases must call
     "us_squarescreen" with the last parameter nonzero.

BUG: (10/29/01) When running an arc directly (no jogs) but changes layer, the
     contact is not grid aligned.
FIX: In "usrarc.c:us_directarcinst()", call "us_alignvalue" on the variable
     coordinate.

BUG: (10/29/01) DRC rule 6.5 is not always detected.
FIX: In "tecmocmos.c", change "electrical" description of transistors to have
     "transistor" in the center and "poly1" for the tabs.

BUG: (DN, 10/29/01) Keyboard commands do not work in messages window on Qt.
FIX: Added graphqt.cpp::MessagesMainWindow::keyPressEvent(...).

BUG: (DN, 10/29/01) Control-DIGITs do not work on Qt.
FIX: Change handling of ascii characters in graphqt.cpp:ElectricApplication::translatekey.

BUG: (DN, 10/29/01) Saving library causes crash sometimes on X11 and on Qt,
     because T1_LoadFont called from "screengetfacetlist" spoils memory.
FIX: Preload all fonts in "graph*:initgraphics".

BUG: (DN, 10/28/01) Highlighted item in ScrollField not always visible on Qt.
FIX: In "graphqtdlg.cpp:ElectricDialog::selectLine(...) do "setTopItem" when necessary.

BUG: (DN, 10/27/01) Random crashes on Qt. DEBUGMEMORY shows at "gra_statusfieldtext".
FIX: In "ttyfreestatusfield" compression of "gra_statusfieldtext" moved out of windowframe loop.

BUG: (DN, 10/27/06) Memory leakage on Unix and Qt.
FIX: "graph*:termgraphics" must free "gra_textbitsdatasize" "gra_textbitsrowstartsize".
     "usrparse.c:us_freeparsememory" must free "us_lastcom".

BUG: (DN, 10/27/01) DEBUGMEMORY do not work without clusters.
FIX: Repaired dbmemory.c:_emalloc.
	
BUG: (DN, 10/27/01) graphqt*.cpp files not recompiled after change of global.h, because
     they depends on global.h indirectly by graphqt.h.
FIX: Indirect dependences appended to dependency lists in Makefile.in .

BUG: (DN, 10/27/01) Crash on fatal error when graphics is not initialized on Qt.
FIX: In graphqt.cpp:error print message to stderr when gra == 0.

BUG: (DN, 10/27/01) Hitting "return" don't close "About" dialog on Qt.
FIX: Set focus to first widget if there is no DEFBUTTON in dialog.

BUG: (DN, 10/26/01) Crash when copying selected nodes.
FIX: In "usrnet.c:us_sortarcsbyname" and "usrnet.c:us_sortnodesbyname", must "empty[0]".

IMP: (10/26/01) Can now print text facets on Windows.

IMP: (10/26/01) "Measure Distance" is now a mode, and any command can be used
     while measuring.

BUG: (10/26/01) Cannot bind to shifted keys (not control, just capitalized).
FIX: In "usrmenu.c:us_setkeyequiv()" only translate to lower case if using "/", not "\".

IMP: (10/26/01) Cleaned up translatable messages in PLA generator.

IMP: (10/25/01) Added support for arrayed nodes.  Node names can now have form
     "x[0:3]" (any valid arc array name) and they will be repeated.  Busses
     connected to such nodes can be multiples of the node repetition.  Only
     works in schematics.  Modified SPICE netlister, NCC, Sue input, and
     Verilog netlister to handle this.

BUG: (DN, 10/25/01) "ShowCursorCoordinates" appears twice in menu after it is
     checked once.
FIX: Changed item number in evemenus.mac.

BUG: (DN, 10/25/01) Problems with input of language interpreters on Qt.
FIX: getmessagesstring interrupts on Ctrl-D, language loop is supported by
     ElectricApplication::toolTimeSlice .

BUG: (DN, 10/25/01) Alt keys of menu bar items do not work on Qt.
FIX: Modified graphqt.cpp:ElectricDraw::event(...) not to disable Alt accelerators.

IMP: (DN, 10/24/01) Reimplemented graphqt.cpp:getmessagesstring. Input is

IMP: (DN, 10/24/01) Fixes: leading and trailing space on T1LIB, rebind of quick keys
    are repeated on Qt.

BUG: (DN, 10/24/01) "nativepopupmenu" always show menu at cursor position on Qt.
FIX: "left" and "top" parameters are considered in graphqt.cpp:nativepopupmenu

IMP: (DN, 10/24/01) Reimplemented graphqt.cpp:getmessagesstring . Input is
     performed in a line editor at bottom of messages window.

BUG: (DN, 10/24/01) When "selected" option is given to auto-stitching router, pins
     are not deleted together with arcs.
FIX: Added parameters to usrarc.c:aconnect and usrarc.c:us_makeconnection to return
     created contact/pin nodes.

IMP: (DN, 10/24/01) When "selected" option is given to auto-stitching router, popup menu
     is shown to confirm stitch.

BUG: (10/24/01) Crossing lines not flagged as DRC errors.
FIX: In "dbmath.c:polyseparation()", must check for overlap.

BUG: (10/24/01) Switching technologies does not redraw grid properly.
FIX: In "usrcomtv.c:us_technology()", redraw grid when "use" option changes lambda.

BUG: (10/24/01) Reading a library may alter the grid spacing.
FIX: In "usrcomln.c:us_library()", adjust alignment and grid after displaying
     new new facet, not before.

BUG: (10/24/01) Load calculations ("List Geometry on Network") consider transistor
     area in metal+poly calculation.
FIX: Now tag transistor area specially with LFINTRANS and remove it from calculation.

IMP: (10/24/01) Deleting a node that is "inline" does an "erase-and-reconnect".

IMP: (10/24/01) When all layers of a node or arc are set invisible, the object
     is no longer selectable.

IMP: (10/24/01) Renamed DRC's "Nonhierarchical Check" to be "Check this Level Only".

BUG: (10/24/01) On UNIX with T1Lib, text with leading or trailing spaces is drawn wrong.
FIX: In "graphunixx11.c", cache space width and use it properly.

BUG: (10/23/01) Cannot rebind the quick keys 'f', 'h', 'q' (full/half/quarter)
     or others that are programmed in "evemenus.mac".
FIX: Added ability to bind to "previous" quick key by placing a "/" at the
     end with no key specified.  Modified "evemenus.mac" to use this.  Modified
     "usrcomab.c:us_bind()" to fill in the previous value.

IMP: (10/23/01) DXF input now has the option to read all layers.

IMP: (10/23/01) When quitting and options have changed, now shows which options.

IMP: (10/23/01) Now have "Selection Option" to request that drag-selections pick only
     those objects that are completely inside the dragged area.

IMP: (10/23/01) When prompted to save options at exit, shows which options changed.

IMP: (10/23/01) Can now have multidimensional busses (such as "a[0:1][0:7]").
     Rewrote "network.c:net_evalbusname()" to handle it and removed the need for "net_buildnetname()".

BUG: (DN, 10/22/01) Characters hidden by accelerator keys can't be inserted on Qt
     in text-editing windows and in in-place editing.
FIX: Added graphqt.cpp:ElectricDraw::event(...) which disables accelerators.
     Acceletor key are handled by us_oncommand.

BUG: (DN, 10/22/01) Characters come out upper-case on Qt.
FIX: Change handling of ascii characters in graphqt.cpp:ElectricApplication::translatekey.

BUG: (DN, 10/22/01) Sometimes editing in-place text is not highlighted on Qt.
FIX: flushscreen() called in graphqt.cpp:modalloop

IMP: (DN, 10/22/01) "ttygetparam" is called instead of "ttygetchar" in compact.c:comset
     to ask compaction direction from user.

BUG: (10/22/01) "Select/Enclosing" selects the pins under text nodes.
FIX: Created "usrhigh.c:us_selectarea()" and use it to select areas.

BUG: (10/22/01) "Fill Window" draws text too large if there is nothing else in
     the facet.
FIX: in "usrdisp.c:us_fullview()", ensure that there are no zero-dimensions in
     the initial setting for the window extent.

IMP: (10/22/01) No longer draw oversize invisible pins in technology editor.

BUG: (DN, 10/21/01) Sometimes there is a delay after dialog events on Qt.
FIX: Timer alarm in graphqtdlg.cpp:ElectricDialog::nextHit().

BUG: (DN, 10/21/01) CheckBox fields in Qt dialogs has a glitch.
FIX: Class CheckField adapts QCheckBox to Electric style.

BUG: (DN, 10/21/01) Crash on Qt after selecting item from component menu
     when mouse is moved with button pressed, because "eachdown" handler is called
     instead of "whileup".
FIX: Added condition gra->waitforpush in graphqt.cpp:GraphicsDraw::mouseMoveEvent(QMouseEvent*).

BUG: (DN, 10/21/01) Double-click in dialog scroll fields do net exit dialog on Qt.
FIX: In graphqtdlg.cpp:ElectricDialog::initTextDialog(...) signal "doubleClicked" of ScrollField
     is connected to slot "animateClick" of button item 0.

BUG: (DN, 10/21/01) Help info is unaligned in Info/Help/Buttons on Qt because SCFIXEDWIDTH flag don't work.
FIX: In graphqtdlg.cpp:ElectricDialog::initTextDialog(...) set font with "fixedPitch"=TRUE.

BUG: (DN, 10/20/01) Accelerator control keys work only in one of editor windows on Qt,
     because QMenu objects of one of the editor windows are shared by other windows.
FIX: Every editor window has its own set of QMenu objects.

IMP: (DN, 10/20/01) Popup menus are implemented on Qt.

BUG: (DN, 10/19/01) Hitting "return" in a dialog doesn't select the "default button" on Qt.
FIX: Set focus on default button in graphqtdlg.cpp:ElectricDialog::ElectricDialog(QWidget*, DIALOG).

BUG: (DN, 10/19/01) The editor windows are not close on Qt (not with the close box in the
     upper-right, nor with the close menu item in the upper-left).
FIX: Added call of gra_handlequeuedframedeletion to graphqt.cpp:ElectricApplication::toolTimeSlice().

BUG: (DN, 10/19/01) Double-clicking doesn't work on Qt (to do a "Get Info" on a node or arc)
FIX: DoubleClick (and Wheel) events are handled by graphqt.cpp:GraphicsDraw::mouseDoubleClickEvent(QMouseEvent*)
     and graphqt.cpp:GraphicsDraw::wheelEvent(QWheelEvent*).

BUG: (DN, 10/19/01) When a dialog item is an "icon" (such as in the "Layer Pattern Options"
     dialog ), the icons show as "pushable buttons" on Qt.
FIX: Icons are implemented on Qt by new class IconField which inherits QLabel.

BUG: (DN, 10/19/01) Nested dialogs (ex. "New Facet") do not obtain focus on Qt.
FIX: Parent of nested dialog is set to father dialog in graphqt.cpp:DiaInitDialog.

IMP: (DN, 10/19/01) ElectricApplication::toolTimeSlice() is called directly instead of by timer.
     This is more deterministic behavior, possible crashes are easier reproduced.

BUG: (10/19/01) Technology edit objects are not properly identified in the
     node "Get Info" dialog.
FIX: In "usrdiacom.c:us_getinfonode()", must clear "wantpopup" if this is a
     technology edit object.

IMP: (10/19/01) Now have parameters to facets.  New "Info/Attributes/Facet Parameters"
     dialog controls them for a facet.  Node's "Get Info" has option to see
     node's parameters.  New bit "VTISPARAMETER" in text descriptor.  Binary
     I/O now saves text descriptors of all variables (not just displayable ones).

IMP: (10/18/01) Internationalization support fully implemented.

IMP: (10/18/01) SPICE output uses parameter information correctly.

IMP: (10/17/01) New "Info/Attributes/Node Parameters" dialog for setting parameters
     on node instances.

BUG: (10/17/01) MOSIS CMOS Metal-3-Metal-4 contacts do not follow proper multicut rules.
FIX: In "tecmocmos.c", edited tables to adjust cut surround.

BUG: (10/17/01) Nonlayout text cannot be made into language code.
FIX: In "usrdiacom.c:us_getinfotext()", clear VISARRAY if text is code.

BUG: (DN, 10/16/01) Qt port can't be  compiled on qt-2.3.1
FIX: Changed calls of qt-3.0.0 functions to old ones:
     "setEraseColor"->"setBackgroundMode", "push_back"->"append".

IMP: (10/16/01) Removed Network Option to automatically name networks (network
     names are not persistent and cause confusion when named in this way).

IMP: (10/16/01) Nonhierarchical DRC now logs errors and reports in the same manner
     as hierarchical DRC

IMP: (10/16/01) Going Up and Down the hierarchy in layout now preserves coordinates
     exactly.

BUG: (10/16/01) DRC flags notch violation when polygons overlap.
FIX: In "drcbatch.c:drcb_findinterveningpoints()", indicate that there are
     no intervening points if no manhattan gaps are found.

BUG: (10/15/01) Technology edit component entries change when a facet is edited
FIX: In "evemenus.mac" clear technology auto-switching during technology editing.

IMP: (10/15/01) NCC Options lets you do Preanalysis immediately and also has
     button to list all overrides.

BUG: (10/15/01) NCC may crash for complex libraries.
FIX: In "dbmath.c:db_extendprimetable()", make sure "db_maxcheckableprime" does
     not overflow in value.

BUG: (10/15/01) Nodes that are smaller than default may have port areas that are
     incorrect (for example, on zero-size pins).
FIX: In "dbtechi.c:tech_fillportpoly()", prevent negative port size.

BUG: (10/15/01) Auto-Routing doesn't work if the two nodes are zero-size.
FIX: In "routauto.c:ro_comparepoly()", remove requirement that objects overlap
     by more than a point.

BUG: (10/15/01) NCC Preanalysis misses reporting some networks.
FIX: In "netdiff.c:net_dumpnetworks()", do not increment "ind1" and "ind2" twice.

IMP: (DN, 10/15/01) Qt port:
     Modifications of screen update.
     User drawn fields in dialogs implemented.

IMP: (10/14/01) Added back annotation preservation to PADS, EAGLE, and ECAD output.

BUG: (10/12/01) Cannot read GDS files with rotated text.
FIX: In "iogdsi.c:io_gdsIdetermine_text()", allow the "GDS_ANGLE" token.

BUG: (10/12/01) Circular cross-library references may read exports badly.
FIX: In "iobinaryi.c:io_doreadlibrary()", reset "pp->temp2" to 0 after resolving export.
     In "io_readexternalnodeproto()", only set "pp->temp2" to 0 if creating it.
     In "io_readnodeinst()", set "pp->subportproto" to the "pe->proto".

BUG: (10/12/01) Readable dumps may not have all facets.
FIX: In "iotexto.c:io_writetextlibrary()", must check all facets when gathering,
     not just ones with no instances.

IMP: (10/11/01) "Curve Through Cursor" and "Curve About Cursor" now work interactively.

IMP: (10/11/01) Arcs now land on grid even if nodes are off-grid.

IMP: (10/11/01) "Show Facets Graphically" now attaches the text to the arcs so that
     the result can be manipulated easily.

BUG: (10/11/01) Does not run on Windows if executable is on a server that is not
     letter-mapped.
FIX: In "graphpccode.cpp:fullfilename()", allow paths that start with "\\" to be full.

IMP: (10/11/01) Now tracks all succesful NCC interactions, even when one facet
     is matched to many others.  Uses this information when doing nonflat NCC.

IMP: (10/11/01) Now considers changes to node names or arc names to be "major".

IMP: (10/10/01) Now reports the library name when deleting facets.
     Now reports which library is from a newer version when such is found.

BUG: (10/10/01) DRC flags multi-cut violations spuriously.
FIX: In "drcbatch.c:drcb_badbox()", must set "multi=0" in arc code.

BUG: (10/10/01) DRC flags violations when the diagonal distance is valid.
FIX: In "drcbatch.c:drcb_checkdist()", if Manhattan distance looks bad,
     try Euclidian distance.

IMP: (DN, 10/10/01) Qt port:
     Event propagation is changed and almost works.
     Modifications to compile with Qt release version qt-2.3.1.
     Dialogs are put to graphqtdlg.cpp.

BUG: (10/9/01) On Mac, "Edit Layout Window" in a layout window causes the
     messages window to be permanently in the background.
FIX: In "graphmac.c:bringwindowtofront()", change "SelectWindow" to "gra_selectoswindow".

BUG: (10/8/01) New MOSIS CMOS Active pins start out negative in size.
FIX: In "tecmocmos.c:mocmos_setlayerminwidth()", account for node size offset.

BUG: (10/8/01) "Edit/Special Function/Name All Objects" overwrites arc names.
FIX: In "network.c:net_nameallnets()", never overwrite a named net.

BUG: (10/8/01) When copying arcs, the location of the name is not preserved.
FIX: In "usrnet.c:us_copyvars()", do not call "defaulttextsize()", but copy original.

BUG: (10/8/01) Alignment options are not saved.
FIX: Move initialization of "us_alignment" and "USER_alignment" variable from
     "usr.c:us_do3init()" to "usr.c:us_do2init()".

IMP: (10/4/01) When wiring requires placement of a contact, it is made as large
     as the widest wire.

IMP: (10/4/01) CIF output now has option of not centering instances (prevents
     many resolution errors).

BUG: (10/4/01) May crash when accessing layer thickness.
FIX: In "dbtech.c:get3dfactors()", cache the thickness and height arrays, not variables.

IMP: (10/4/01) Added "Export/Re-export Power and Ground" to propagate only
     Power and Ground ports up the hierarchy.

IMP: (10/4/01) Sped up pasting large amounts of text into text edit window.

BUG: (10/4/01) Moving text and the object that the text sits on is wrong.
FIX: In "usrtrack.c:us_finddoibegin()", do not move text if it sits on object
     being moved.

IMP: (10/4/01) Can now use an arc as the starting point of arc creation, and it
     will be split if necessary.

IMP: (10/4/01) "Duplicate Current Facet" checks for an icon of the facet inside
     of itself and duplicates that, too.

BUG: (10/4/01) "Duplicate Current Facet" may display result in wrong window if
     another is clicked during the operation.
FIX: Added "show-copy" argument to "copyfacet" low-level command, and use it when
     duplicating.

BUG: (10/4/01) "List Connections on Network" reports nothing if pure-layer node
     or other unrecognized node is selected.
FIX: In "network.c:net_gethighlightednets()", allow pure-layer nodes to be part
     of network.  In "network.c:net_set()" give error if no network is found.

BUG: (10/3/01) Large circuits do not compare.
FIX: In "netflat.c:net_setallexporttopology()", must use prime number counter
     based in cell so that it does not overflow.  Also must enumerate contents
     facets before icon facets.  Also must expand generation of prime numbers.

IMP: (10/3/01) Now have library list popup in "Network Options" dialog.

IMP: (10/3/01) Simulation window now 1/10 as wide, and simulation time values
     now show 2 decimal places of precision.

IMP: (10/3/01) MOSIS CMOS metal-4 layer now has denser stipple pattern.

BUG: (10/3/01) When 3 or more exports are connected electrically, instances of the
     facet may not recognize that they are all connected.
FIX: In "network.c:net_pconnect()", when looking for a similarly connected export,
     do not create a new network if the equivalent one has no net information.

BUG: (10/3/01) Cannot convert schematics to layout when there are icons.
FIX: In "usrctech.c:us_tran_makelayoutparts()", must first clear all "ni->temp1".
     Also, in the line "if (newnp != NONODEPROTO)", change "!=" to "==".

IMP: (10/2/01) New command "Edit/Selection/Enclosed Objects" replaces area-selection
     with the selection of objects in that area.

BUG: (10/2/01) Cannot select an export name as the first selection in "Move Port".
FIX: In "usrhigh.c:us_gettwoobjects()", allow export selection to work.

IMP: (10/2/01) Added MOSIS CMOS design rule 3.2a.

IMP: (10/2/01) Added "Two Polysilicon" option to MOSIS CMOS Technology Options.

IMP: (10/2/01) Pad Frame generation now allows further export from pads with the
     "[export padport=padexport]" clause of the "place" statement.

IMP: (10/1/01) Changes to technology options or DRC rules now clears DRC valid date
     information.

BUG: (10/2/01) "New Arc Options" shows values for the currently selecte arc type,
     but fails to set that type at the top of the dialog.
FIX: In "usrdiacom.c:us_defarcdlog()", set the popup correctly.

IMP: (10/2/01) "DRC Rules" dialog now has "Show only lines with rules" check.

IMP: (10/1/01) Modified MOSIS CMOS design rules to be uniformly described in a table.

IMP: (DN, 10/01/01) Preparations for redesign of event propagation in Qt port.
     Added function "modalloop(charhandler,buttonhandler,cursor)".
     Functions "us_oncommand" and "us_ontablet" became external.
     Removed all calls of "waitforbutton", "ttydataready", "stoptablet" when QT is used.

BUG: (9/28/01) MOSIS rule 6.7b is not implemented properly.
FIX: Modified transistor layer in "tecmocmos.c" to be transistor-polysilicon.
     Use it to distinguish between poly in a transistor and field poly.
     Also needed to add "drcbatch.c:drcb_samelayer()" to know when two layers
     are really the same.

BUG: (9/28/01) Cannot write textual facets in PostScript or HPGL, but no error
     is issued.
FIX: In "iopsout.c:io_pswritefacet()", "iohpglout.c:io_writehpgllibrary()",
     "ioquickdraw.c:io_writequickdrawlibrary()", and "graphpccode.cpp:gra_printwindow()"
     issue warnings now.

IMP: (9/28/01) New Facet Option to place Facet-Centers in all new facets.

IMP: (9/28/01) Changes to NCC controls automatically clear the last valid NCC dates.

IMP: (9/28/01) New command: "Info/User Interface/General Options..." with two
     features: beeping after long commands and supressing dates in output files.

IMP: (9/28/01) NCC and DRC now use only ">" and "<" keys to move through errors,
     repeating the error at the end, and not needing "&" to repeat it.

BUG: (DN, 9/28/01) Bug in "graphunixx11.c:eprinterlist" after "etrace" addition.
FIX: Undo graphunixx11.c. Trace version of this file is moved to graphunixx11.c.trace.

BUG: (9/26/01) NCC cannot compare facets with no components.
FIX: Modified "netflat.c:net_makepseudo()" to distinguish between facets with
     no components and error conditions.  Use this in "netdiff.c:net_ncconelevel()"
     to report results correctly.

BUG: (9/26/01) NCC reports export name mismatches where there are no exports.
FIX: In "netdiff.c:net_analyzesymmetrygroups()", only consider nets if they
     have real ports or network names.

IMP: (9/26/01) When NCC finds matches between ambiguous groups, it now ignores network
     names that are redundant within the group. 

BUG: (9/26/01) IRSIM generates inconsistent network names.
FIX: In "simirsim.c", use network name rather than export protoname.

BUG: (9/26/01) Connecting a pin to an arc of a different type places the contact
     between them rather than on the arc.
FIX: In "usrarc.c:us_findconnectingpin()", must find proper port when there is only 1.

BUG: (9/26/01) MOSIS CMOS technology description does not include whether alternate
     contact rules are in effect.
FIX: In "tecmocmos.c:mocmos_describestate()", added the test.

IMP: (9/26/01) Now check that node names are unique in a facet.

IMP: (9/26/01) Sped up parallel component merge in NCC by a factor of 10.

IMP: (DN, 9/26/01) Added function etrace(INTBIG mode, char *s, ...) for debug purpose.

IMP: (9/25/01) NCC now allows individual facet overrides for expansion of hierarchy.

BUG: (9/25/01) After NCC, showing network information may highlight circuitry
     in equivalent facet, and deleting it may delete things that are not displayed.
FIX: In "usrcomek.c:us_erase()", detect this and prompt for right thing to do.

BUG: (9/25/01) If an icon is created for a facet with only 1 export, and no
     body or leads are requested, the icon has zero size.
FIX: In "usrnet.c:us_makeiconfacet()", generate invisible pin in such a case.

BUG: (9/25/01) Uses icons for layout.
FIX: In "dbnoproto.c:iconview()", only allow icons if the facet is schematic.

BUG: (9/25/01) "Erase Geometry" generates error messages, and creates zero-size
     schematic pins.
FIX: In "usrnet.c:us_erasegeometry()", tag nodes that are created by truncating
     arcs and do not try to delete them.  In "usrnet.c:us_choparc()", use default
     pin size if from the schematics technology.

IMP: (9/25/01) CIF output now adds the library name to the "9" line.

BUG: (9/25/01) "Change Units" doesn't update the microns field when technologies
     are selected.
FIX: In "usrdiacom.c:us_lambdadlog()", when item DUNO_TECHLIST is hit,
     added "DiaSetText(DUNO_MICRONS, ent);" as last line of block.

BUG: (9/24/01) MOSIS CMOS well and substrate contacts have insufficient Select
     around the active (surrounds by 1 lambda, should surround by 2).
FIX: In "tecmocmos.c:mocmos_psub_l[]" and "mocmos_nsub_l[]", change the last
     field after "NSELECT..." to read "mocmos_in4box".

IMP: (9/24/01) Can now select multiple nodes and do "Show Ports on Node".

IMP: (9/24/01) When placing an instance of a schematic facet, instead of always
     creating the icon, the user is now asked if the icon is what is wanted.

IMP: (9/24/01) "Edit Facet" and the facet list commands ("New Facet Instance",
     "Delete Facet", etc.) now sort the list of libraries in the popup.  Also,
     "Change Current Library" sorts its list.

IMP: (9/24/01) "NCC Preanalysis" now merges common network names.

BUG: (9/24/01) NCC complains about Artwork arcs that don't match to equivalents
     in the other facet.
FIX: In "tecart.c", change APUNKNOWN to APNONELEC in the definition of the 4 arcs.

BUG: (9/24/01) Cancelling a simple prompt dialog box doesn't work right (for
     example, "Duplicate Current Facet".
FIX: In "usrcomtv.c:us_terminal()", the line after "pt = ttygetline(par[2]);"
     should set "pt" to the empty string if it is zero, not return.

IMP: (DN, 9/24/01) Qt port don't need Motif. Many features are still disabled.

IMP: (9/23/01) Added dialog editor (module "usrdiaedit.c") through hidden command
     "-debug dialog-edit".

IMP: (9/23/01) Added dialog routines "DiaInvertRect()", "DiaSetTextSize()",
     and "DiaAllowUserDoubleClick()".

IMP: (9/21/01) Added "gra_termgraph()" to "graphdraw.c" to clean up.

BUG: (9/21/01) Parallel merge in NCC may loop infinitely.
FIX: In "netflat.c:net_mergeparallel()", after the line:
		opc = pn->nodelist[m];
     add this line:
		if (opc == pc) continue;

BUG: (9/20/01) Cannot change transistor strength from Weak to Normal.
FIX: In "usrcomtv.c:us_var()", in the "delete" code, must save "qual" to
     local memory.

BUG: (9/20/01) "Insert Break In Arc" crashes if one end is a facet.
FIX: In "usrtrack.c", created "us_createinsbegin()" and use it instead of
     "us_createabegin()" in "usrcomcd.c".

BUG: (9/20/01) DRC wide rules are applied incorrectly after "Factory Reset" of
     MOSIS CMOS rules.
FIX: In "tecmocmos.c:mocmos_loadDRCtables()", must set the "dr_wide_limitkey" variable.

IMP: (9/19/01) Added "Only Visible Inside Facet" checkbox for nodes.
     Allows node to not be seen from higher level of hierarchy.
     Implemented as NVISIBLEINSIDE bit on NODEINST->userbits

BUG: (9/19/01) In "Grid Options", changing the "Align grid with circuitry"
     checkbox doesn't work if nothing else has changed.
FIX: In "usrdiacom.c:us_griddlog()", make changes if "gridfloats != oldgridfloats" too.

BUG: (9/19/01) PostScript printing produces incorrect text size and placement.
FIX: In "iopsout.c" must define "io_pstruefontsize()" to handle size properly.

BUG: (9/19/01) PostScript printing leaves zombie "lpr" processes.
FIX: In "iopsout.c:io_pswritefacet()", parent process must call "ewait" after
     calling "efork".

BUG: (9/19/01) Half-A size frames are considered invalid when doing Check and Repair.
FIX: In "usrcheck.c:us_checklibrary()" allow "h" size frames.

BUG: (9/17/01) "Show Geometry on Network" doesn't show all information if network
     has no transistors.
FIX: In "network.c:net_showgeometry()", modified reporting to allow information that
     does not relate to transistors.

BUG: (9/17/01) Mimic stitching doesn't work if any node has changed size.
FIX: In "rout.c", do not clear "ro_createdarc" or "ro_deletedarc" when nodes,
     arcs, or exports are modified.

IMP: (9/17/01) IRSIM interface is working.

IMP: (DN, 9/17/01) Further progress in Qt port.
     Qt status bar;
     Messages Window;
     QFontDialog for messages font selection;
     Popup menu items of dialogs repaired;
     Icon of graphics window;
     Bug in nativemenurename;
     Bug in EDITLINE CharacterEdit mode;
     Unused fields screenleft, screenright, screentop, screenbottom removed from WINDOWFRAME;
     Order of items changed in us_dostatus;
     Removed X11 references from global.h, config.h.
	
IMP: (DN, 9/14/01) Drawing graphic primitives on off-screen buffer moved
     from graphunixx11.c,graphqt.cpp,graphpccode.cpp to graphdraw.c.
	
BUG: (9/12/01) Busses with temporary names have those temporary names propagated
     to their individual signals without the temporary name indicator, causing
     those signals to use the wrong name.
FIX: In "network.c:net_addnametonet()" and "net_ensurebusses()", must use "tempname"
     factor properly.

IMP: (9/12/01) SPICE options now offer to "Force Global PWR & GND" when writing deck.

BUG: (9/11/01) PostScript output does not consider rotated text.
FIX: Modified "iopsout.c:io_pstext()" to handle rotated text.

BUG: (DN, 9/11/01) Underscore is invisible in some TEXTEDIT dialog fields
     on OpenMotif, because their height is small.
FIX: Minimal height changed from 30 to 32.
TODO: Stretching dialogs instead of fixed-size

BUG: (DN, 9/11/01) Memory damage on Unix, because TDIALOG has maximum 50 items, while attribute dialog has more.
FIX: Maximum change to 100
TODO: Variable size item list

IMP: (9/10/01) Added "Enumerate..." to "Info/Attributes" submenu to fill out "?"
     in attributes.

BUG: (9/10/01) "Duplicate Current Facet" doesn't work right if the current facet is
     not in the current library.
FIX: Modified "evemenus.mac:pmfdupf" to preserve library information.

BUG: (9/10/01) NCC refers to "serial" transistors when it should use the term "series".
FIX: Changed the term throughout the code.

BUG: (9/10/01) Arrays are generated in wrong order (Y within X, not raster).
FIX: In "usrcomab.c:us_array()", change the line:
		for(x=0; x<xsize; x++) for(y=0; y<ysize; y++)
     to be:
		for(y=0; y<ysize; y++) for(x=0; x<xsize; x++)

IMP: (DN, 9/10/01) Added snapshot of Electric port to use Trolltech Qt library.
     Qt intended to be one more window system supported by Electric (now these are
     X11, MS Windows and Mac). It is contained in graphqt.h and graphqt.cpp. These
     files are derived from graphunixx11.c. Now this port is a mixture of Qt and Motif
     calls, and some functions are disabled at all. To try it, uncomment four lines in
     Makefile and link with qt-x11-free-3.0.0-beta4 from www.trolltech.com.  This port
     is not ready to use yet, wait please.

IMP: (9/9/01) Added ability to read SPICE RAWFILE output.

BUG: (9/9/01) When SPICE output files are plotted, simulation window cannot be moved.
FIX: Must keep track of type of simulation in global "sim_window_format" and only
     call "simals_initialize_simulator()" to redraw window if format is ALS (otherwise
     call "sim_window_redraw()").

BUG: (9/9/01) When resizing component menu on UNIX, doesn't always redraw properly.
FIX: In "graphunixx11.c:gra_graphics_event_handler()", "ConfigureNotify" case, must
     check for update to user repositioning before calling "gra_repaint()".

BUG: (9/7/01) When doing "Show Network" on a bus, other busses that only share signals
     but are not equivalent also get highlighted, leading to confusion.
FIX: In "network.c:net_highlightnet()", in the section with the comment:
		/* arc is bus: see if any of its signals are on network bus */
     now draw a line down the center of the bus, rather than highlighting it all.

IMP: (9/7/01) "Move Objects By" dialog now remembers last values typed.

BUG: (9/7/01) Running "Tools/ERC/Analyze Wells" with no facet generates a strange error.
FIX: In "erc.c:erc_analyzefacet()", initialize and terminate error logging even
     if other errors come up.

BUG: (9/7/01) Technology options stored with a library don't get properly restored.
FIX: In "usr.c:us_readlibrary()", must call:
		(void)asktech(tech, "set-state", var->addr);
     before the call to:
		setvalkey((INTBIG)tech, VTECHNOLOGY, us_techstate, var->addr, VINTEGER);

BUG: (9/7/01) MOSIS CMOS edge rule 8.5 not applied correctly.
FIX: In "drcbatch.c:drcb_checkdist()", use compute minimum edge distance but
     use box distance if it is greater.

IMP: (DN, 9/6/01) Result of emalloc is filled by nonzeroes on Unix to catch
     uninitialized fields.

BUG: (DN, 9/6/01) Crash on Unix when ".cadrc" is not found, because
     error message was send to unexisting messages window.
FIX: Messages are put to stderr when messages window is not valid.

IMP: (9/6/01) Window now automatically pans when cursor hits edge during
     node creation, pasting, and other times that it didn't before.

BUG: (9/5/01) SPICE netlister doesn't work right for busses that share signals
     with other exports.
FIX: In "simspice.c", use new scheme for organizing facet exports, taken from
     Verilog netlister.

IMP: (9/5/01) Now have more information in IRSIM and SPICE deck headers.

IMP: (9/5/01) Arraying arcs with range of numbers now arrays the range.

BUG: (9/5/01) Node names on filled artwork nodes are the same color as the node
     and so are not visible.
FIX: In "tecart.c:art_shapenodepoly()", must return after calling
     "tech_filldisplayablenvar()".

BUG: (DN, 9/4/01) Crash when closing floating menu on Unix.
FIX: Initialization of wf->pulldownmenucount
     in graphunixx11.cpp:gra_buildwindow is moved to proper place.

BUG: (9/4/01) Crashes on Windows if no choice is made from popup menu.
FIX: In "graphpccode.cpp:nativepopupmenu()", after the call to "TrackPopupMenu", add:
		if (pindex < 0) return(-1);

BUG: (9/4/01) Filled circles stop being filled when clipped at the screen edge.
FIX: In "graphxxx.c:screendrawdisc()", clip properly to screen.

IMP: (9/4/01) Added "default schematic technology" to SPICE options dialog so that schematics
     can be simulated using the proper technology.

BUG: (9/3/01) The SPICE model information typed in when creating a SPICE node is ignored
     when generating a deck.
FIX: In "lib/evemenus.mac", search for the string "SCHEM_source" and replace it with
     "SIM_spice_model".

BUG: (DN, 8/31/01) Crash while sizing component menu, because drawing area of
     menu entry is partially outside of component menu window.
FIX: More accurate cliping in screendrawtext. Other graphics primitives
     seems to clip already.

IMP: (8/31/01) Added "thick" circle and circle arc to artwork menu.
     Added thick circle and thick circle arc routines to "graphXXX" modules.
     Added THICKCIRCLE and THICKCIRCLEARC graphics types.

IMP: (8/31/01) On Windows, now sets the link between ".elib" files and Electric
     each time the program runs if it has changed.

BUG: (8/31/01) Changing the library path on Windows doesn't update the registry.
FIX: In "usrdiacom.c:us_librarypathdlog()", call "setlibdir()" instead of changing
     the value directly.

IMP: (8/31/01) IRSIM now has the option to compute parasitics quickly or not at all.

BUG: (8/30/01) PostScript printing shifts to the left.
FIX: In "iopsout.c:io_pswritefacet()", replace the code in "#if 0" with:
     	if (useplotter != 0)
		{
			io_pswrite("%s 300 mul %s 300 mul translate 90 rotate\n",
				frtoa(muldiv(pagewid, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)));
		} else
		{
			io_pswrite("%s %s add 300 mul %s 300 mul translate 90 rotate\n",
				frtoa(muldiv(pagewid, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)),
				frtoa(muldiv((pagehei-pagewid)/2, WHOLE, 75)));
		}

IMP: (8/30/01) "Cross-Library Copy" now has option to NOT copy subfacets, leaving
     cross-library references.

IMP: (8/29/01) DRC now checks for invalid layers (such as metal 6 in a 4-metal process).

IMP: (8/29/01) Added "creation" field to TECH_ARCS structure.

IMP: (8/29/01) IRSIM deck generation sped up slightly, unconnected diffusion warnings
     removed.

IMP: (8/29/01) NCC sped up by improving performance of parallel component merge.

IMP: (8/28/01) Verilog output now clips to 80-character lines.

BUG: (8/28/01) When a dialog is brought up on UNIX, the window focus may change
     behind it, causing the dialog to work on the wrong window.
FIX: In "graphunixx11.c", only call "gra_getcurrentwindowframe(XX, 1)" if not in
     a dialog (if gra_curdialogindex < 0).  Also, added this call for the FocusIn
     event.

IMP: (8/27/01) Added "Name All Objects" to "Edit/Special Function" submenu.

IMP: (8/27/01) Added "Select Arc" to "Edit/Selection" submenu.

BUG: (8/27/01) When converting transistors from schematics to layout, length and
     width are reversed.
FIX: In "usrctech.c:us_tranplacenode()", reverse the last two arguments in the call
     to "transistorsize()".

BUG: (8/27/01) When converting transistors from layout to schematics, length and
     width locations are reversed.
FIX: In "usrctech.c:us_tran_logmakenodes()", when setting the length and width, use
     negative offset for length and positive offset for width (was reversed).

BUG: (8/21/01) When erasing a library, crash may follow.
FIX: In "dblibrary.c:eraselibrary()", remove the line:
		if (ni->proto->primindex != 0)
     Also, in "drc.c", change queued check objects to store the object address
     instead of the geometry module's address.

BUG: (8/21/01) When rereading a library that is referenced by other libraries,
     system may crash.
FIX: In "usrcomln.c:us_library()", instead of erasing an existing library before
     rereading, rename it and kill it later.  Then, before killing it, call the
     new routine "us_replacelibraryreferences()" to switch references.

BUG: (8/5/01) When in Artwork technology, use of "Technology Options" dialog
     to change "Filled Arrows" redisplays menu badly.
FIX: In "usrdiacom.c:us_techoptdlog()", in the "update "artwork" technology" block,
     change the "us_setmenunodearcs()" call to be "us_drawmenu(0, NOWINDOWFRAME)".

BUG: (8/5/01) When simulating, if the VHDL has errors, uses an older VHDL.
FIX: In "simalsgraph.c:simals_startsimulation()", check return value of
     "asktool()" call.  In "vhdl.c:vhdl_request()", in the "want-netlist-input"
     code, return nonzero if "vhdl_compile()" returns nonzero.  Modified
     "vhdl_compile()" to return nonzero if the compile fails.

BUG: (8/3/01) When generating VHDL code, electric may crash if there is
     an unnamed bus.
FIX: In "vhdl.c:vhdl_generatevhdl()", after the line:
		net->networklist[i]->temp1 = 1;
     add this line:
		pt = describenetwork(net->networklist[i]);

BUG: (8/2/01) "Cross-library Copy", when asked to move rather than copy,
     may move a facet twice, causing two copies in the destination library
     and an error message because it can't delete the facet twice.
FIX: In "usrnet.c:us_copyrecursively()", must check for the existence of
     the desired facet both before and after copying subfacets.

IMP: (8/2/01) Now warn when quick-key bindings are changed by a library.

IMP: (8/2/01) When creating an icon, issues warning if one already exists.

BUG: (8/2/01) "Cross-library copy" may crash.
FIX: In "network.c:net_nconnect()", before the comment:
		/* do not follow nonbus wires from a bus pin */
     insert the line:
		if (copp->network == NONETWORK) continue;

BUG: (8/1/01) "Down Hierarchy" doesn't show the proper export in the contents
     when descending into an icon, "Up Hierarchy" not always right, either.
FIX: In "usrnet.c:us_findlowerport()", must add extra code at end to switch
     to proper port in contents facet.  In "usrcomoq.c:us_outhier()", fixed
     icon/contents export switching code.

BUG: (7/31/01) "Get Info" on 4-port transistors reports the wrong size.
FIX: In "usrdiacom.c:us_getinfonode()", under the "sch_transistor4prim" case,
     change "frtoa" to "latoa" (in 3 places).

BUG: (7/31/01) Copying nodes with numeric names causes problems.
FIX: In "usrnet.c:us_copyvars()", change the first occurence of
     "returninfstr()" to "newname".

BUG: (7/30/01) Copy&Paste as well as Array do not place numeric nodes and arcs
     in the right order.
FIX: In "usrnet.c:us_copylisttofacet()", sort nodes and arcs by name before creation.
     Also, in "usrcomab.c:us_array()", sort node and arc lists.

BUG: (7/30/01) Verilog output is not correct for busses that have parts
     which are exported, merged, in complex arrangements, or power/ground.
FIX: In "simverilog.c:sim_writeverfacet()", detect such situations and write
     each part separately.

IMP: (7/29/01) "Verilog Options" now has popup to select a library.

IMP: (7/29/01) "Cross Library Copy" now remembers check settings and libraries.

BUG: (7/26/01) When generating VHDL, multiple busses that overlap cause
     duplicated "signal" entries.
FIX: In "vhdl.c:vhdl_generatevhdl()", rewrote the block that generates
     signals to detect duplication.

BUG: (7/20/01) On UNIX, may crash if pasting text when none was copied.
FIX: In "graphunixx11.c:getcutbuffer()", only call XFree if the string is valid.

BUG: (7/20/01) On UNIX, may crash if the T1 library is setup wrong.
FIX: In "graphunixx11.c:screengetfacelist()", check return value from
     "T1_LoadFont()" and use alternate face name if an error is returned.

BUG: (7/19/01) MOSIS rule 8.5 is checked even though stacked vias are allowed.
FIX: In "tecmocmos.c:mocmos_drcrules[]" remove references to rule 8.5.

IMP: (7/19/01) Text can be rotated.

BUG: (7/19/01) When two bus ports to a subfacet have a common signal (joined in the
     subfacet), SPICE still duplicate the line in the invocation.
FIX: In "simspice.c:sim_spicewritefacet()", check for duplicate signals, even in busses.

BUG: (7/19/01) On UNIX, large text sizes still reported.
FIX: In "graphunixx11.c:xxx()", clip size to 500 points.

*******************************************************************************************

For a complete history of changes, going back to the origins of Electric in the early 1980s,
contact Static Free Software.
