			Electric change log


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

IMP: Further improvements in SUE reading.

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

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

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

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

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

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

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

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

IMP: Made "Up Hierarchy" more intelligent.

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

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

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

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

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

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

IMP: New command to regrid layout.

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

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

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

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

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

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

IMP: Added ability to create annular rings.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IMP: Color maps are now saved with options.

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

IMP: Color mixing is now a full dialog.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IMP: Added "Messages Window Font" for UNIX.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IMP: Silicon Compiler now saves parameters in the library.

BUG: Design rules for MOSIS CMOS Submicron are wrong with respect to
     N-Active to P-Active.  Rule is 3 microns, but should be 12.

************************* Version 5.5.4: Released 9/5/9 *************************

IMP: In order to prepare for full saving of options, certain menu commands were
     renamed.  Now, most commands with the word "options" have their values saved
     in the library.  The renamed commands are: "Windows/Text Defaults" (now "Text Options"),
     "Info/Set Node Defaults" (now "New Node Options" "Info/Set Arc Defaults"
     (now "New Arc Options") and "Tools/Routing/Set Routing Arc" (now "Routing Options").

BUG: When typing a new node size into the "Get Info" dialog, the corner is held fixed.
IMP: In "usrdiacom2.c:tty_showdlog()", check to see if position changed, and if not
     then the center is held fixed.

IMP: Merged "graphunixsys.c" into "graphunixx11.c" and also merged "graphmacsys.c"
     into "graphmac.c".

BUG: Reading all IO layers from disk may not work.
FIX: In "usrmisc.c:us_varchanges()", allow spaces before numbers, and prevent
     insertion of new layers if file is longer.

IMP: Added ability to preserve more parameters in the library.

IMP: Added ability to print color from PostScript.

IMP: Changed UNIX program name variables from "SPICELOC", "ESIMLOC", "RSIMLOC",
     "RNLLOC", and "PRESIMLOC" so that they begin with "ELECTRIC_".

************************* Version 5.5.3: Released 9/2/99 *************************

IMP: Cleaned-up Motif/Lesstif interface for UNIX.

BUG: GDS Input may parse Y2K dates incorrectly.
FIX: In "iogdsi.c:io_gdsIdetermine_time()", adjust year values.

BUG: Connecting two arcs may crash.
FIX: In "usrhigh.c:us_highlighteverywhere()", must set "point" to zero if
     the object is an arc.

BUG: Deleting fixed variable (in "Variables..." dialog) crashes.
FIX: In "dbvars.c:delvalkey()", must test for valid "key" before calling "makename".

IMP: Made "GDS Input Instantiation of Arrays" the default.

************************* Version 5.5.2: Released 7/10/99 *************************

BUG: Popup menus (such as in technology edit) sometimes have wrong title
FIX: Must allocate header string in "usrcomln.c:us_menu()" before calling
     "us_popupmenu()".

IMP: Fixed the "Highlight Layer" command to present a sensible dialog.

BUG: VHDL Import misses parts of the file.
FIX: In "iovhdl.c", reorganized and added code to read "architecture" sections.

BUG: Text grab point is wrong on rotated nodes.
FIX: In "usrdiacom2.c:tty_showdlog()", must call "us_rotatedescript" before
     and "us_rotatedescriptI()" after displaying rotation.

BUG: On UNIX, messages display runs out of space and shows no more.
FIX: In "graphunixx11.c:gra_putstring()", test for room and clear top.

BUG: Printing on Windows is wrong.
FIX: In "graphpccode.cpp:gra_printwindow()", adjusted display coordinate calculations.

IMP: Improved Silicon Compiler: has full dialog for setting parameters; can
     create vias to connect to cells.

BUG: Cannot edit facets with special characters (such as "$") in their names.
FIX: In "usrdiacom2.c:tty_editfacetdlog()", call "us_editfacet()" directly.

IMP: Added beginning of Motif/Lesstif interface for UNIX.  Required that the ELK
     structure "Object" be renamed to "ELKObject".

IMP: Modified facet graphing to show names correctly.

IMP: Added a DEF (Design Exchange Format) reader: iodefi.c.

IMP: Added a LEF (Library Exchange Format) reader: iolefi.c.

IMP: Added a SUE (Schematic User Environment) reader: iosuei.c.

IMP: Added ability to draw partial ellipses (by setting partial angle on non-
     rectangular circle).  Modified "tecart.c:art_fillellipse()".

IMP: Added "Verilog Options" dialog to set model files and control use of "Assign".

IMP: Made better "bomb out" dialog that allows ease of saving libraries.

BUG: Changing characteristics of port crashes.
FIX: In "usrdiacom2.c:tty_showdlog()", after dialog, when deciding on text edit mode
     (itemHit == 27), must also test that "high->fromvar != NOVARIABLE".

IMP: Removed separate path variables for LISP, TCL, and TK, derive them from
     the main library directory.  Fixed LISP to use this path.

BUG: Problem giving bus networks multiple names (doesn't always unify the names)
FIX: In "network.c:net_addnametonet()", forced individual nets on a bus to be merged.

BUG: Duplication of arcs or text does not leave selection right.
FIX: In "usrcomcd.c:us_duplicate()", modified final selection code.

BUG: Small/Medium/Large text scaling is not right.
FIX: In "dbtext.c:truefontsize()", adjusted parameters for modern screen sizes.

BUG: UNIX cannot handle library named on command line.
FIX: In "usr.c", set color map immediately after computing it in
     "usr.c:us_do2init()".

IMP: Added the ability to negate bus wires in the Schematic technology.

IMP: Added "smart text placement" to "Text Defaults" dialog to place
     port name according to port location relative to connecting arcs.

BUG: Crashes when displaying a window and there is none on the screen.
FIX: In "usrdisp.c:us_fullview()", must not compute displayable variable
     extent if there is no window.

BUG: Changing the library name doesn't update the window title bar.
FIX: In "usr.c:us_newvariable()", check for change to "libname".

IMP: Added the ability to move objects by different amounts from the
     arrow keys (F for full, H for half, Q for quarter) as a prefix
     for the distance, command prefixed to multiply by 8).

IMP: Modified the "Create Port" dialog so that it remembers the characteristics
     from one use to another.

IMP: Added ability to create Verilog declaration blocks, separate from the
     Verilog code blocks.

BUG: Verilog output doesn't include "wire" statements for internal signals.
FIX: Modified "simverilog.c" to include these declarations.

BUG: Text selection doesn't always work when text has non-centered grab point
FIX: In "usrnet.c:us_maketextpoly()", added case statement to set polygon style
     before calling "rotatelabel()".

IMP: UNIX file select dialog now ignores files starting with "."
     (modified dbtext.c:nextfile()).

IMP: Added the ability to print from UNIX.  Added the internal command
     "library write LIBRARY printed-postscript" and fixed macro files

IMP: Added the ability to synchronize facets with PostScript files, so that the
     PostScript export will write all facets in the library that need updating.
     Also added the ability to specify an EPS scaling factor for each facet.
     Added the command "tellaid io postscript (synchronize FILENAME | unsynchronize)
     and modified the "Print Options" dialog.

BUG: Bus arc names do not always get unified properly.
FIX: Improved "network.c".

************************* Version 5.5.1: Released 5/10/99 *************************

BUG: Arc defaults dialog doesn't handle changes to more than 1 arc at a time.
FIX: Redid dialog, including popup for arc selection.

BUG: Double-clicking library files doesn't work on Windows.
FIX: In "usr.c", changed handling of double-clicked files.

IMP: Automatically change technology when reading a library with the main facet
     in a different technology.  Detect difference between analog and digital
     schematics.  Added the command-line variable "~t" which is the current tech.

IMP: Modified "usrdisp.c:us_drawnodeinst()" to write exported port names after
     the node graphics so that the name is unobscured.

IMP: Facet creation dialog sets the default view to the same as the current facet
     or the last one created.

BUG: Very long nonmanhattan arcs may not be drawn properly.
FIX: In "dbtechi.c:tech_makeendpointpoly()", use "muldiv" for the multiplications
     and divisions (6 places).

BUG: After changing layer patterns, screen does not redisplay
FIX: Fixed macro package to redisplay.

IMP: GDS input now has options to include text and to expand facets.  Low-level
     commands are: "tellaid io gds input [text | no-text] [expand | no-expand]"
     Menu commands are "Technology/IO Control/GDS Input Includes Text" and
     "Technology/IO Control/GDS Input Expands Facets"

BUG: GDS input doesn't handle rotations properly
FIX: Completely new version of "iogdsi.c" from Glen Lawson cleans up many problems

BUG: Deleting a line of text can cause a crash (specifically, when editing
     design rules in technology-edit mode).
FIX: In "usreditpac.c:us_editpacremoveselection()", must call
     "us_editpacshipchanges()" and "us_editpacbeginwork()".  Also indices
     for "DELETETEXTLINE" were wrong.

BUG: Some GDS files cause the system to crash when read in.
FIX: In "iogdsi.h", expanded MAXLAYERS to 128.  In "iogdsi.c", added check for
     the range of a layer number.

IMP: Added the ability to edit text objects in place.  Added the command option
     "var textedit VAR in-place".  Code in "usrmisc.c".

IMP: Added ability to have displayable array variables.  Added the
     routines "makedisparrayvarpoly()" and "getdisparrayvarlinepos()".
     Added code in "usrhigh.c", "usrnet.c", "usrdisp.c", "usrtrack.c",
     and "dbtechi.c" to use it.

IMP: Added ability to treat any displayable variable on an invisible
     node the same (not just ART_message).  Changed "usrtrack.c".

BUG: Windows file output allows overwriting without prompting.
FIX: Changed output dialog to prompt if file exists.

IMP: Rewrote Verilog output module.  Now part of GNU distribution.
     Also added the "verilog" view of a cell.

BUG: Adding a bus port to a facet with an icon does not create a bus
     pin in the icon.
FIX: In "usrnet.c:us_makenewportproto()", added proper wire/bus
     determination code similar to that in "us_makeiconfacet()".

BUG: Macintosh build fails on newer Codewarrior systems.
FIX: Change "CW22ORNEWER" to "NEWCODEWARRIOR" in the module "dbmult.c"

************************* Version 5.4g6: Released 3/12/99 *************************

BUG: On Windows, the "Artwork Color" and "Layer Visibility" pattern examples
     don't work right.
FIX: Fixed dialog scaling in "graphpccode.cpp:gra_dodialoginit()".

IMP: Rearranged placement of status fields to allow more fields on UNIX and Mac.
     (modified initial creation parameters in "usrstatus.c:us_initstatus()").
     Added facet size to status bar.  Improved "usrstatus.c" and the
     "graphXXX" modules.

IMP: Full view of a window now includes variables that have been offset.
     Modified "usrdisp.c:us_fullview()".

BUG: When a node or arc name is not visible, the "Duplicate" command makes the
     copies visible.
FIX: Copy the visibility bit in "usrnet.c:us_copyvars()".

BUG: Cursors don't change properly.
FIX: Improved graphics modules to display cursors correctly.

BUG: UNIX dialogs do not accept the arrow keys.
FIX: Moved rebinding code in "graphunixx11.c" to be in the right place.

IMP: UNIX file output now has full file selection dialog.

IMP: New X Window driver works on all bit depths without "colormap flashing"
     The downside is speed: this is slower.  Old version available by editing
     the "Makefile".

BUG: On Windows, SPICE dialog acts strangely when model card files are requested.
FIX: Redid file selection dialog to use MFC in "graphpccode.cpp:gra_fileselect()".

BUG: If changing a node into another node fails (due to port incompatibility),
     the system crashes.
FIX: In "usrnet.c:us_replacenodeinst()", must test result of "replacenodeinst".

BUG: On UNIX, if a library is specified on the command line and the user quits
     without making changes, the system still prompts to save.
FIX: In "usr.c:us_do3init()", after issuing the "editfacet" command to display
     the main facet in the initial library, the LIBCHANGED bit must be cleared.

IMP: Added the off-page connector to the list of analog parts available from
     the edit menu.

BUG: The tutorial describes incorrect items in the component menu.
FIX: Fixed the tutorial file.

BUG: When deleting windows, system might crash.
FIX: In "usrcomwz.c:us_window()", in the "delete" case, before setting the
     new window, if there is none, set "el_curwindow" to null.

IMP: There are 5 commands that prompt with lists of technologies: switching
     technology, documenting technology, editing technology, deleting technology,
     and converting a facet to a new technology.  Each takes a different list,
     and a general list may not work for all.  Modified "usrdiacom1.c" to make
     the list specific.

************************* Version 5.4g5: Released 2/13/99 *************************

BUG: UNIX sometimes redraws the window without the stipple patterns.
FIX: In "graphunixx11.c:gra_handleeditevent()", must call bracket call
     to "gra_repaint" with calls to "us_startbatch()" and "us_endbatch()".

BUG: Call to "mkstemp" does not fit logically with scheme of renaming
     binary file before writing new one.
FIX: Removed "mkstemp" call and use "mktemp".

BUG: File selection fails on Solaris systems.
FIX: In "graphunixx11.c:filesindirectory()", call "closedir()" after done.

BUG: Distance measures in the transistor size and area dialogs are wrong.
FIX: Removed distance choices, keeping distances in lambda units by default.

BUG: Incorrect parsing of distance measures.
FIX: Rewrote "dbtext.c:atola()", fixing numerous logic errors.

BUG: Icons are not properly "fleshed-out" when writing SPICE decks.
FIX: In "simspice.c:sim_spicewritefacet()", check for icon view and use contents
     before recursing.

BUG: You can place an icon into the layout of the same cell, causing recursion
     and a crash.
FIX: In "dbmath.c:isachildof()", test "child->cell == parent->cell" rather than
     "child == parent".

IMP: The "Get Info" dialog on text objects shows the actual position of the text.

IMP: In the VIEW commands "Edit Layout View", "Edit Schematic View", etc., if the
     window is already on the display, it is brought to the front, rather than
     creating a new one.  Created the routine "us_bringwindowtofront()" in the
     GRAPH modules and added the command "editfacet FACET non-redundant".

BUG: On UNIX, deleting one of the two simulation windows causes simulation
     to stop.
FIX: In "usrmisc.c:us_killcurrentwindow()", must reinstate the simulation
     bit in the new window after the call to "us_windowfit".
     In "simwindow.c:sim_window_termschemhandler()" and
	 "simwindow.c:sim_window_termhandler()", must not call "sim_window_stopsimulation"
     but just reset the "sim_window_np" variable so that it can be put back
     in "sim_window_redisphandler" and the newly created "sim_window_redispschemhandler".

BUG: SPICE options are not saved with the library.
FIX: In "sim.c:sim_init()", "sim.c:sim_set()", and "usrdiacom1.c:tty_simdlog()"
     removed the VDONTSAVE from sets of "sim_spice_state" and "sim_spice_level".

BUG: When converting small-lambda technologies (such as mocmossub) to schematics,
     components are large and overlapping.
FIX: In "usrctech.c:us_tran_logmakenodes()", must scale placement of components.

IMP: Binary I/O is now 64-bit clean.  New library format saves big and
     and small integer size.  Changed "iobinaryi.c" and "iobinaryo.c".

IMP: When duplicating nodes or arcs, names on them are forced to be
     unique.  Created "usrnet.c:us_copyvars()" and call it from
     "usrcomcd.c:us_duplicate()".

BUG: If a "Save As" is cancelled, subsequent "Save" commands still
     prompt for a file name.
FIX: Changed macros for "Save As" and also removed statements that
     set "el_pleasestop" in "dbtext.c:xcreate(),
     "graphunixx11.c:gra_fileselect()", and
     "usrparse.c:tty_specialparse()".

IMP: Renamed ports on some schematic components to be more sensible.
     "Source" now has ports "plus" and "minus"; "Meter" now has ports
     "a" and "b"; "Two-Port" now has ports "a", "b", "x", and "y".
     This change also requires a fix to "iobinaryi.c:io_doreadlibrary()"
     and "iotext.c:io_getport()" and the addition of
     "io.c:io_convertoldportname()" to properly read old format libraries.

IMP: The "Get Info" dialog now can manipulate the parameters of schematic
     components.

BUG: When changing schematic components to other schematic components,
     old schematic parameters persist and have no meaning.
FIX: When changing these components, old parameters are removed.

BUG: On UNIX, middle button does strange things.
FIX: Modified macro files (lib/egnumenus.mac) to unprogram this button.

BUG: Behaves badly or crashes during technology editing, when changing
     characteristics of a port.  On Windows, typing into dialog does not work.
	 On all systems, moving port after a change may crash.
FIX: For Windows dialog bug, "graphpccode.cpp:gra_keyaction()", must offset
     the coordinates by the window corner position.  For port motion crash,
     "usredtecc.c:us_teceditmodobject()" must handle PORTOBJ case specially and
     reset the currently highlighted node after calling "us_tecedmodport()".

IMP: In the SPICE Options dialog, now allow the use of "Use Node Names"
     checkbox for SPICE3 (used to only allow it in HSPICE).

BUG: On UNIX and Windows Visual C 6.0, crashes when changing port
     characteristics in the technology editor.
FIX: In "usrcom1.c:us_paramsedtecport()", must declare static character
     arrays:
		static char technologycpynpdef[4];
		static char technologycpbpdef[20];
     and then set the "def" fields of "technologycpbp" and "technologycpynp"
     to them before copying to those fields, for example:
		technologycpbp.def = technologycpbpdef;

BUG: When simulating, cannot shift the waveform window left or right.
FIX: In "sim.c:sim_set()", in the "window move" case, in the "left and right"
     subcases, the line:
		if (count < 2) time = size / 2.0; else
     should change the "< 2" to a "< 4".  In the "up and down" case, the line:
		if (count < 2) amount = signals / 2; else
	 should also change the "< 2" to a "< 4".

BUG: When the "mocmossub" technology is converted to a library, it cannot
     be converted back.
FIX: In "usredtecg.c:us_tecedmakelibfromtech()", must set separation
     to a minimum of 5000 units by adding:
		if (xs < 5000) xs = 5000;
		if (ys < 5000) ys = 5000;
     after the line
		ys = (pnp->highy - pnp->lowy) * 2 * tech->deflambda / oldlam;

BUG: On UNIX and Windows Visual C 6.0, crashes when the SPICE Options dialog
     requests heading or trailing model cards from a file.
FIX: In "usrparse.c:tty_specialparse()", must copy the "prompt" parameter to
     a temporary location before modifying it.  Also, in
     "graphunixx11.c:gra_fileselect()", must call "DiaAllowSubDialog()" before
     each call to "DiaInitDialog()".

BUG: On UNIX and Windows Visual C 6.0, crashes when converting technologies
     to libraries.
FIX: In "dbnoproto.c:newnodeproto()", must copy the "fname" parameter to
     a temporary location before modifying it.

BUG: On Windows, cursors dissapear when the background color is black.
FIX: Made cursors use "inverse" color instead of black.

BUG: CIF input fails if there are layers for both n and p processes in the
     same file (and the technology is the MOSIS CMOS switchable one).
FIX: In "tecmocmossub.c", change lines 550 and 551 from empty strings
     ("","",) to the proper layer strings ("CSP","CSN", and "CWP","CWN",).
     Also added "Poly-Cap-Node" and "P-Active-Well-Node" pure-layer nodes.

BUG: Sample PLA personality files mentioned in document are not in distribution.
FIX: Files are now in the distribution.

IMP: Made Electric 64-bit clean.  Changed INTBIG to "long".  Changed %d to %ld
     where appropriate.  Changed "unsigned" to "UINTBIG".

IMP: On UNIX, crashes when X display is not set right.
FIX: Used "printf" instead of "error" in "graphunixx11.c:gra_finddisplay()".

IMP: Improved User's manual HTML: added <HTML> at start of pages; fixed
     places where <HEAD> had missing "<"; added ALT to all images; changed
     "<" and ">" to &lt; and &gt; changed <H3> to <H2>; shortened <TITLE>;
     changed version from 5.4g3 to 5.4g4; and added the missing
     section 9-9.  Also removed all references to Electric Editor propreitary
     code.

IMP: Modified UNIX Makefile to ignore unused modules "dblangelk.c" and "dblangtcl.c".

IMP: Cleaned up compiler warnings in "graphunixx11.c", "dbmult.c"

************************* Version 5.4g4: Released 11/24/98 *************************

BUG: UNIX does not automatically detect the need for the Xmu library.
FIX: Improved "configure" to detect the presence of this library.

BUG: Some compilers complain about extra semicolon after close bracket
     in header files (happens in the extern "C" wrapper for C++).
FIX: Removed the semicolons.

BUG: On the Mac and UNIX, dialogs with scrollable areas draw the
     vertical scrollbar incorrectly.
FIX: In "usrdialogs.c:Dsetvscroll()", must add 13 to r.right, not 14.
     Also, in the UNIX version of "Dgrayrect()", must not subtract 1
     from right and bottom coordinates.

BUG: If a new library is read while simulating, the red border persists.
FIX: In "usrcomln.c:us_library()", must terminate simulation after reading
     a new library that replaces the current one.

BUG: On UNIX, the highlighted simulation window trace dissapears
FIX: In "simwindow.c:sim_window_writetracename()", must reset
     the mask to "LAYERA" after writing highlighted trace info.

IMP: Fixed the routines "usrdialogs.c:Dgettextsize()" and
     "usrdialogs.c:Ddrawtext()" to copy their argument before modifying
     it so that strings do not need to be writable.  Then removed the
     "-fwritable-strings" flag on UNIX.

BUG: On HP UNIX, "scandir" call fails to compile in "graphunixx11.c".
FIX: Conditional code to define "gra_fileselectall" for HPUX.

BUG: On Windows, under Visual C++ 6.0, program will not run.
FIX: Visual C++ 6.0 places string constants in protected memory.  Fix involves
     changing "dbcontrol.c:el_primaryinit()" to place the constants "noname"
     into temporary arrays (because "newlibrary()" may modify its arguments);
     and modifying "dbtext.c:getnodeproto()" and "dbtext.c:getarcproto()" to
     copy their argument before modifying them (because they may be passed
     constants).

BUG: On Windows, compiled version of Electric requires Msvcrtd.dll and
     Mfc42d.dll to run (these DLLs are available only on machines with
     Visual C installed).
FIX: Changed "General" setting to be "Use MFC in a Static Library".

BUG: If "cadrc" file is missing, system may crash.
FIX: In "dbtext.c:xopen()", must test for "otherdir == 0" as well as
     "*otherdir == 0".

IMP: Added introductory display during loading (added to "usr.c:us_do2init()").

IMP: Corrected warning messages produced on BSD (requested brackets, implicit
     declarations).

IMP: Now check for "mkstemp" and use it (instead of "mktemp") in "iobinaryo.c".

IMP: Now check for "termios.h" (a BSD header file) and use it in "usr.h",
     "graphunixx11.c", and "simsim.c".

IMP: Documentation now indicates that UNIX users must use GNU make.
     Documentation now points users to www.gzip.org for more information.
     Documentation now makes even more clear that UNIX users must use 8 bit
     display (and that Windows users must use 16 or more).

BUG: On PC, numeric keypad doesn't work for window-shifting commands
     (such as Control-4 to shift left).
FIX: In "graphpcchildframe.cpp", added code to the "OnKeyDown" method
     to recognize the numeric keypad.

BUG: On UNIX, the define "HAVE_SGTTY_H" was not set properly.
FIX: Added "#undef HAVE_SGTTY_H" to "defines.h.in"

BUG: Some compilers use "restrict" as a keyword, causing compilation
     errors.
FIX: In "global.h" and "dbvars.c", changed parameter "restrict" in
     the routine "initobjlist()".

IMP: On UNIX, cleaned up "Makefile.in" for better installation.  Also
     removed "termcap" library.

IMP: Upgraded Macintosh code for CodeWarrior release 22 (from
     Mariusz Niewczas of CMU). Involved changes to "config.h",
     "usr.c", "usrcomtv.c", "dbmult.c", "graphmac.c" and "graphmacsys.c"

************************* Version 5.4g3: Released 10/9/98 *************************

IMP: UNIX file selection now using extension filters (for example,
     readable dump files must end in ".txt").

IMP: Made SPICE simulation *NOT* simulate automatically on any platform.

BUG: On UNIX, creation of output files fails.
FIX: In "graphunixx11.c:gra_fileselect()", output case must call
     DiaGetText(4) before calling DiaDoneDialog().

IMP: Added hooks to enable ELK LISP to be compiled on UNIX.

BUG: Simulation window does not show selected nets when window uses
     white-background color map.
FIX: In "simwindow.c:sim_window_writetracename()", use highlight color
     for trace name, not WHITE; in "sim_window_drawcursors()", make
     initial call to "sim_window_drawbox()" use 114 as first parameter,
     not zero.

BUG: On the PC, cannot plot spice listings.
FIX: Remove exclusion code at start of "simspicerun.c:sim_spice_execute()"

BUG: On the PC, the Messages Window Font command of the Windows menu fails.
FIX: Added code for font selection in "graphpccode.cpp:gra_setfont()".

BUG: Popup menus don't work on PC (this is noticed when trying to
     edit technologies).
FIX: In "graphpccode.cpp", must do "p2.x = p2.y = 0;" before
     calling MapWindowPoints.

IMP: Combined machine-specific terminal-handlers (graphmacterminal.c,
     graphpcterminal.c, and graphunixterminal.c) into one uniform file:
     terminal.c

BUG: Ports "1" and "2" on the schematic flipflop are syntically bad
     in VHDL.
FIX: Renamed them to "i1" and "i2".

IMP: Added X Windows toolkit for UNIX port.  Makes messages window
     scroll and not need "-MORE-" stuff.  Got rid of all "-More-"
     handling code in the system (it was only used on UNIX).

IMP: Added cut and paste on UNIX.

************************* Version 5.4g2: Released 9/17/98 *************************

IMP: Added copying notification to book and manual.

BUG: UNIX Messages window cannot rescale, main window shrinks when redrawn
FIX: Redid "graphunixx11.c" and "graphunixterminal.c"

IMP: Removed LINUX exception to use of FLOATSCALE in dbmath.c

IMP: Added "system print" command to Windows and implemented real printing.

************************* Version 5.4g1: Released 9/10/98 *************************
