Fix crash which can occur when attempt is made to write to a file with adverse permissions.
Improve the evaluation of shell variables. Quite elaborate expressions like
MacSpice 2 -> set foo = ( $&@vin[coeffs] )
MacSpice 3 -> set bar = $&@vin[coeffs][3]
now seem to work as one would expect.
Clarify wording of error messages for cases when one tries to read input-only, or set output-only, variables.
Try to prevent devices returning garbage for sensitivity values if 'show all : all' is used before performing a sensitivity analysis.
Modify handling of AppleEvents so a file of unknown type is treated as a source file. This makes using Textedit as the helper for the 'edit' command a bit less painful under OS/X. I might restrict this behaviour to files with specific (e.g. '.cir') extensions in the future.
OS/X: The edit command will now launch the appropriate editor helper-application if it is not already running.
Make some minor changes to the breakpoints code. This should reduce memory churning and turnover.
Improve evaluation of model equations in MOS1 and MOS2, MOS3, MOS6 devices. This should prevent lockup problems that arise due to underflow and result in improved accuracy.
Add code to recognise when a node has a bad (i.e. fp-exception) value and treat it as non-converged. This should never happen, but when it does MacSpice now behaves better.
Improve clarity of some error/warning messages.
Fix a problem with the console. It no longer breaks when it contains many short lines.
Repair evaluation mechanism for frontend list variables so $plots[3] now works. Incidentally, expressions like
MacSpice 29 -> set bar = $&v(4)[500]
are evaluated by creating a list of all the elements of v(4) and then counting along to get the 500th.
MacSpice 30 -> let bar = v(4)[499]
MacSpice 29 -> set foo = $&bar
is a much much faster way.
Improve the label positions on Smith grids.
Fix some leaks associated with 'set foo = expression' and evaluation of 'shell' variables such as $&foo.
Add a warning when .tran analysis has no TMAX parameter specified.
Implement the 'altermod' command and fix some bugs in the code used to lookup models by name. If bc107 is a bjt model 'print @bc107[bf]' now works as it should do. The error messages for 'alter' and 'altermod' are not tricky to interpret because the usage syntax is vague. I may subsume 'altermod' into 'alter' in the future, if I can think of an elegant way to do it.
Upgrade the PostScript driver to use Werner Hoch's colour version. Use 'set hcopypscolor=true'. The variables 'hcopyheight' and 'hcopywidth' set the image height and width in points. For more info see the example file pscolor.
Improve the speed of drawing graphs with many points.
Increase the number of colours available to the Quickdraw driver and all these to be redefined by setting the colorN variables.
Fix a bug in the 'compose' command.
(OS X only) Fix a crash in polytrans(). Another null pointer being dereferenced.
Fix frontend bug when a vector is multiplied by a complex scalar.
(OS X only) Fix crash that occurs when <tab> is used to expand a non-existent history event.
Fix crash when using 'method=trap maxord=1' and add a synonym 'method=euler' as a 'compatibility' option.
Replace vulnerable strncat() usage with a strlcat().
Inhibit unnecessary "interpolate() needed to extrapolate." warnings.
Improve behaviour and error messages when translating spice2 polys which have syntax errors.
Fix crash when mutual inductors refer to non-existent devices/nodes.
Fix crash in spcLinkRows when a nonexistent device/node creates an empty row.
Eliminate some redundant buffering associated with printnum().
Fix problem with the way command interpreter parses arguments.
Make ':lib:scripts:ExampleScripts:spec' work independent of whether units are set to degrees or radians
Update models to BSIM4.4.0 and BSIMSOI3.2
Fix buffer overflow during creation of vectors with long names.
Fix problem taking log() of imaginary numbers.
Fix rare frontend leak when evaluating vector functions.
Fix problem arising when a command is 'quoted' but contains no characters that actually need quoting.
Fix crash when an invalid rawfile is opened with 'load'.
Fix problem that arises when the library path contains spaces.
Cure the fly-back lines that appeared when the graph of a two variable sweep, such as '.dc vds 0 10 .5 vgs 0 5 1' is redrawn.
Correct the way default saves work in files with batch commands.
Change printing of console so that it truncates, instead of wrapping, lines. Wrapping the lines caused more trouble than it was worth.
Revise some advisory messages to reflect the case sensitive nature of the command interpreter.
Fix (OS/X 10.3) crash when mouse moves during print spooling.
Fix OS/X crash when 'show' is used without arguments.
Change some of the standard paths so they are absolute. This prevents the 'help' getting broken if 'cd' is used.
Overhaul the use of 'backslash quoting' so that history and command completion now work consistently. This will help people who have files with punctuation in the names.
Various fixes to the history expansion code: '!?foo?' now works; fix crash in ^foo^bar^;
Redraw icons to look better for OS X.
Make y-axis label use rotated text.
Prevent commands like 'alter r1=10' causing 'no assignment found' error by making the tokeniser treat '=' like ';'.
Change sweep names from 'x-sweep' to 'x_sweep' because the former notation causes trouble when used in vector expressions.
Lines of text wider than the page margins are now wrapped instead of being truncated.
Fix problem with code that eliminates duplicate saves.
Correct one of Example files so it uses lower case interactive commands.
Improve general behaviour of 'linearize' to suppress spurious warnings and an infinite loop in an error condition.
Add TSTART to the tran analysis breakpoint list.
Correct and improve labelling of tickmarks on graphs.
Fix problem with sweep variable text introduced at PATCHEVEL 9
Fix intermittent crash caused by cp_wstrip(). This seems to have been due to an optimiser bug in the compiler.
Improve handling of frontend variables so that expressions like $&foo, $foo[-3], etc. now work better. However there is work to be done as useful expressions like $plots[3] which should work, don't. In fact, the whole 'set' framework not very elegant.
Tweak layout of graphs, and improve precision of drawings, give graph windows more informative titles. Hi-Res copy and printing issues addressed.
Make last point of NOISE analysis exactly equal to the specified upper frequency to avoid empty cycle on log graphs.
Add temperature and resistance to types of sweep available in DC analyses.
Fix problem with About Window caused by problems with string constants not being constant and CFSTR() getting muddled.
Carbon version. Runs native on OS X.
Multiple resizable plot windows, at last!
Upgrade printing of graphs and console.
Improve appearance of 'About Window'.
Fix leaks in subckt processing and distortion analysis.
Fix crash caused by malformed spice 2 poly statements.
Facility to export PICTs with nice 'grouped' arrangement.
Vectors with more than ca 10,000 points now plot correctly.
Improve calculation of 'rusage' memory values.
Multiple plot windows, behave in a mac-like manner.
Improve accuracy of line-numbers displayed by 'listing'.
Fix bug in handling of commands like 'foo ;; bar'
Make last point of AC analysis exactly equal to the specified upper frequency to avoid empty cycle on log graphs.
Circuits with transmission lines resume tran analyses correctly.
PTparse() et al tweaked to prevent crashes with random text source file.
Improve accuracy of line-numbers displayed by listing.