posted:
August 1, 2008 at 2:40am
version:
3.6
revision:
139
2008-07-31 17:23 tim
Corrected an error that causes a crash if one goes to a library
page while one of several editing operations (wire, box, etc.;
those that have associated event handlers attached to mouse
movement) is in effect.
posted:
July 19, 2008 at 2:40am
version:
3.6
revision:
138
2008-07-18 20:27 tim
Updated Wim Vereecken's matgen.tcl from version 0.5 to version
0.7.
posted:
July 7, 2008 at 2:40am
version:
3.6
revision:
137
2008-07-06 11:22 tim
Added /usr/share/tcltk to the search path for Tcl and Tk in the
configure script, to conform to the Ubuntu Linux distribution.
posted:
July 3, 2008 at 2:40am
version:
3.6
revision:
136
2008-07-02 20:57 tim
Corrected a minor error in which over/underlines canceled by a
font change (to the current font) rather than an explicit
"noline", lose the line cancelation upon reading the file back
into xcircuit.
Also:
Made a number of minor changes in order to allow a parameterized
"page X of Y" label at the bottom of a page: 1) corrected the
command "page links sheet" to return the correct sheet number
(X); 2) prevented the tag callback for "page" from infinitely
recursing; 3) set the page during output printing so that "X"
gets printed correctly in the output for each page.
posted:
June 26, 2008 at 2:40am
version:
3.6
revision:
135
2008-06-25 21:00 tim
Corrected the popup-prompt window for setting linewidth so that
it works correctly when multiple windows are present.
Unfortunately, the same change needs to be made to several dozen
such popup windows.
Also:
Corrected the LaTeX-labels code (again) so that any overall
scaling of the xcircuit drawing will translate to the end
result---whatever xcircuit says the size of the drawing is, will
be the size of the drawing in the LaTeX document. LaTeX labels
are scaled and positioned accordingly. Thanks again to Alex
Tercete, and there will probably be more extensions to come.
Also:
And one more change to the LaTeX output, so that XCircuit honors
label size changes, and more closely matches LaTeX label
"normalsize" to XCircuit's label size 1.0 (LaTeX "normalsize" was
supposed to be the basis of XCircuit's unit scale, which makes me
wonder how I got off by a factor of 1.2. . .). As yet, label
rotations and color are not handled.
Also:
And finally, handling of rotated text. That is all I'm going to
do for tonight. However, sometime I should make sure that all
scales and rotations are referred to the top-level, when LaTeX
text is buried in an object instance.
posted:
June 24, 2008 at 2:40am
version:
3.6
revision:
134
2008-06-23 08:31 tim
Corrected an error, pointed out to me by Orestes Mas, preventing
"snap space" and "grid space" from being executed from a window.
posted:
June 23, 2008 at 2:40am
version:
3.6
revision:
133
2008-06-22 21:18 tim
Changed the LaTeX mode output according to Alex Tercete's
solution of using \scalebox{} and \parbox{} around
\includegraphics{}, which allows the LaTeX output to track the
"scale" setting in the xcircuit output, scales both text and
graphics at the same time, and avoids requiring declaring the
"epsfig" package. Thanks, Alex!
posted:
June 5, 2008 at 2:40am
version:
3.6
revision:
132
2008-06-04 22:50 tim
Corrected an apparently not-previously-reported error that causes
a crash due to an out-of-bounds index into the fonts array. This
may be a pathological condition, as it was found by accidentally
reading a file produced by a newer version of xcircuit into an
older executable. However, this does highlight the need for some
version checking to avoid this kind of error.
posted:
May 16, 2008 at 2:40am
version:
3.6
revision:
131
Changed the "package require -exact" to "package require" in
tkcon.tcl, so that xcircuit will work on Tcl/Tk version 8.5.
posted:
February 5, 2008 at 2:40am
version:
3.6
revision:
130
Corrected filename expansion so that tilde-prefixed filenames are
treated as full paths and not appended to the search path
prefixes when looking for input files.
posted:
January 18, 2008 at 2:40am
version:
3.6
revision:
129
Updated Wim Vereecken's matgen.tcl to version 0.6.
posted:
January 7, 2008 at 2:40am
version:
3.6
revision:
128
2008-01-06 09:06 tim
Made some corrections to the non-Tcl version to prevent crashes
due to NULL filename entries. There may be other places where
this crops up, but at least it will save a file properly.
Also:
2008-01-07 02:40 tim
posted:
September 24, 2007 at 2:40am
version:
3.6
revision:
127
2007-09-23 12:00 tim
Several corrections: 1) Corrected an error in "findcurfont" that
could crash xcircuit if an expression parameter returns an
error result, and the resulting string part is NULL. 2)
Corrected an error that allowed degenerate (single-point)
polygons to remain, if the polygon were edited and all points
placed on top of each other. 3) Corrected an error that
prevented using "undo" on any arc that was edited to zero
radius (the element was deleted rather than being placed on
the undo stack). 4) Removed a few more direct Tcl_Eval calls to
GUI functions, replacing them with "XcInternalTagCall()"
calls.
posted:
September 22, 2007 at 2:40am
version:
3.6
revision:
126
2007-09-21 23:38 tim
Corrected a few problems with the parameter value edit box;
namely, that 1. The choice-list box should lower itself when a
selection has not been made (still, there should be a way to
cancel it. . .); 2. Expression parameters that are *not*
choice-lists should make it into the edit box, except that 3.
they should be printed as the expression itself (-verbatim
option), not the expression result.
posted:
September 18, 2007 at 2:40am
version:
3.6
revision:
125
2007-09-17 09:20 tim
Corrected the "tech replace all" command as called from the "File
Load" GUI, which was calling it as "tech replace any", and
therefore not working.
Also:
Corrected an error that was producing a spurious Tcl error
message when executing "Load Dependencies". The result value was
not a TCL result type, and there wasn't any error.
Also:
Corrected a slew of errors in large project handling. These
changes include: 1) Force a write of technology files when doing
"Write All" and choosing "Force" 2) Added "technology used
" option to find all technology files to which objects
that are descendents of the page belong. 3) Added "technology
changed " to force technology files to be marked
as changed or unchanged (previously this was only possible with
pages). 4) Corrected the handling of the technology "writable"
flag on input, which was looking at the last technology
created rather than the technology belonging to the input
file, so files containing objects with multiple technology
prefixes would get the writable flags all screwed up.
5) Do not follow symbol-to-schematic links that were made through
the "link" parameter. In particular, this means don't collect
such links and force all the filenames to be the same. 6)
Related to (5), added "file links linked" as an option which
finds pages linked via the "link" parameter. The other "file
link" options now specifically do *not* list pages linked
through the "link" parameter, to get the behavior of item (5).
Also:
Changed the symbol.tcl file to make "index" the default parameter
key for a component index rather than "idx".
posted:
September 15, 2007 at 2:40am
version:
3.6
revision:
124
2007-09-14 13:58 tim
Added Wim Vereecken's "matgen" function for importing Matlab
scripts (now if it can only be translated into gnuplot output
from Octave!). Also, rearranged some of the startup functions so
that functions imported from outside scripts like this one will
get put into the menus of all secondary windows. Finally,
rearranged the menu such that all import functions appear as a
secondary "Import" menu under the "File" main menu.
posted:
September 14, 2007 at 2:40am
version:
3.6
revision:
123
2007-09-13 19:45 tim
Added patch by Wim Vereecken that fixes the weird behavior where
"color add " always returns the highest index in the color
list, even when the color already exists in the color table and
therefore has a different index from the one returned. This
functionality had been implemented with "color index ",
but it seems inappropriate to let "color add" return an incorrect
color index. Now "color index" and "color add" are effectively
redundant options.
posted:
September 12, 2007 at 2:40am
version:
3.6
revision:
122
2007-09-11 09:15 tim
Corrected a bug introduced by attempts to clean up the "Make
Matching Symbol" function. The bug strips the technology name
off of objects when they are created. Thanks to Dimitri Princen
for the bug report.
Also:
Corrected the function that changes corresponding pins in a
symbol vs. its schematic, which was also incorrectly changing
corresponding pins between a schematic secondary page and its
primary.
posted:
September 11, 2007 at 2:40am
version:
3.6
revision:
121
2007-09-10 11:07 tim
Another several corrections to indirect parameter handling. (1)
The eparamptr structure now contains an extra byte with a bit
flag reporting if the parameter is indirect or not. This allows
object instances to have parameterized position and rotation;
otherwise, there is a conflict; and (2) corrected the output name
of indirect parameter references to match the new system of
prepending "@" to such names to avoid conflicts with defined
PostScript keywords.
posted:
September 10, 2007 at 2:40am
version:
3.6
revision:
120
2007-09-09 12:20 tim
Corrections to text_regexp, auto-increment, and undo: Added an
"undo series " command to allow Tcl prodedures to
act as monolithic blocks with respect to the "undo" mechanism.
Changed text_regexp and auto-increment to make use of this
function, so that blocks of label selections that are changed at
once get undone at once.
Also:
Corrected an error which left a corrupted "undo" stack when an
element was copied on top of itself. This action would delete
the duplicate element to prevent the problem of having invisible
multiple elements screwing up a netlist. However, previously the
duplicate was deleted instead of being transferred to the undo
stack.
Also:
Made a small change in the netlister that allows parameters to be
cross-referenced between a symbol and schematic, using indirect
parameters. For example, take an nMOS symbol with parameter
"width", used in a schematic "inverter". In the inverter, the
nMOS parameter is indirectly linked to a parameter called "scale"
in the schematic of "inverter". The symbol for "inverter" also
contains a parameter called "scale". If a top-level schematic
uses symbol "inverter" and gives it a parameter value scale=2,
then a flat netlist format will transfer the value of "scale" in
the inverter to "width" in the nMOS. The subtleties of this
method will be hammered out in the tutorial.
posted:
September 9, 2007 at 2:40am
version:
3.6
revision:
119
2007-09-08 21:25 tim
Dimitri Princen corrected the new GUI window for parameter
modifications to include the ability to handle multiple-selection
Tcl expression parameters, in the listbox, which is a nice way of
handling it.
posted:
September 8, 2007 at 2:40am
version:
3.6
revision:
118
2007-09-07 12:37 tim
Several more corrections: The technology name was still getting
attached to the schematic name when using the "associate"
function. Also, corrected the auto-increment routine so that it
doesn't generate an error when a selected label doesn't contain
any numbers to increment.
Also:
2007-09-08 01:08 tim
Added Dimitri Princen's enhancements to the parameter edit window
(namely, embedding the parameter entry widget in the same window
as the parameter list).
Also, created a popup window for text modification, including
search-and-replace and a general-purpose number
increment/decrement.
posted:
September 6, 2007 at 2:40am
version:
3.6
revision:
117
2007-09-05 11:30 tim
Corrected an error that prevented the netlist from being
destroyed and recreated when the netlist is invalidated on a
secondary page of a multiple-page schematic. This would lead to
a corrupted netlist and quickly cause a crash.
Also:
Also: Corrected the crash recovery file read-in to correctly
terminate the filename string; otherwise, the filename can end
up with extra characters at the end.
Also:
Also: Corrected another error that attempts to look for
filenames beginning with "/" in the file search path, rather than
in an absolute path. This prevented crash recovery files from
being found and loaded.
Also:
Also: Corrected the schematic-to-symbol switch so that selected
elements can be transferred from one to the other during a move
or copy command. Note that the schematic-to-symbol switch is not
handled by the "undo" mechanism, although it should be!
Also:
Proper correction to the problem of having the technology name
copied over to the schematic. The previous claimed fix of this
problem didn't solve it.
Also:
Corrected the error that occasionally prints "Use of non-numeric
characters in component. . .". This was due to having the
occasional instance value copy the "?" from the default value.
I'm not sure how the instance value gets that way without passing
through resolveparams() and getting eliminated, but presumably no
harm is done by its being there.
posted:
September 5, 2007 at 2:40am
version:
3.6
revision:
116
2007-09-04 17:29 tim
Added a Tcl script for doing regular expression substitution into
a text label (or all selected text labels, or all text labels on
a page).
posted:
September 2, 2007 at 2:40am
version:
3.6
revision:
115
2007-09-01 15:05 tim
Corrected an error that causes xcircuit to segfault if "X"
(exchange) is typed with no selections made. This happened to me
when I inadvertently reached too far when going for the "Z" for
zoom.
posted:
September 1, 2007 at 2:40am
version:
3.6
revision:
114
2007-08-31 11:00 tim
Added John Barry's code for drawing small dots in the grid color
around 20x snap spacing points.
Also: Another correction to the symbol generation, which failed
to add the namespace separator "::" between the technology name
and the symbol name when generating symbols.
Also:
Corrected some errors with link dependency loading. The routines
now use the instance value of the "link" parameter, if it is
different from the default, and reports an error on failure to
load the file.
posted:
August 31, 2007 at 2:40am
version:
3.6
revision:
113
2007-08-30 12:31 tim
Corrected the "symbol.tcl" script that creates matching symbols
for schematics. The handling of label selections had changed,
leaving labels selected after justification. This likely needs
to be changed in the tclxcircuit.c code; for now, I'm adjusting
the script to cope with the change.
Also:
Modified the netlisting so that device indices that are
specifically set will be honored when generating the
slash-separated hierarchical names for internal nodes. For
example, if cell "decoder" is given an index parameter value "4",
then nodes in this cell will be prefixed with "decoder_4",
instead of some unrelated number, which was the prior behavior.
This is particularly important if a netlist is being generated by
concatenating results of different netlist formats.
Also modified the index generation for devices in flat netlists
such that the numbering is independently counted for each device
class. This is a minor enhancement, but comes in handy when one
is searching in the netlist for the first resistor and can't find
any reference to "R1", because after writing out 45 other
devices, the first resistor was given the index "R46".
Also: another correction to the automatic symbol generating
code, to ensure that the new symbol gets the technology type
specified in the dialog box. Otherwise, new symbols end up in
the user space always.
posted:
August 26, 2007 at 2:40am
version:
3.6
revision:
112
2007-08-25 08:09 tim
Implemented a bug fix by Dimitri Princen, fixing the error where
attempting to change font style one character into a text label
would (at best) fail to work and (at worst) crash the program.
posted:
August 21, 2007 at 2:40am
version:
3.6
revision:
111
2007-08-20 20:23 tim
Corrected the output of "config pinpositions" and "config bbox"
to return the words "visible" and "invisible" rather than "true"
and "false"; otherwise, the GUI checkboxes are not updated
properly, and it becomes impossible to change the settings again
from the GUI. Thanks to Dimitri Princen for the bug report.
posted:
August 9, 2007 at 2:40am
version:
3.6
revision:
110
2007-08-08 22:54 tim
Corrected the call to memset() with the patch from Chitlesh
Goorah.
posted:
July 18, 2007 at 2:40am
version:
3.6
revision:
109
2007-07-17 21:40 tim
Implemented Dimitri Princen's fixes and enhancements for the
"raise" and "lower" functions. "lower" would cause an element to
be lost in certain situations, and has been corrected. The TCL
"element raise" and "element lower" commands now respect the
order of elements in a group when a group selection is raised or
lowered.
Also, finished the implementation of "drag and drop" between
multiple xcircuit windows. This does not work in "hold" modes
(which lock focus on the window where the button was pressed),
but will work in the toolbar "move" and "copy" modes. In
finishing this implementation, I also fixed an error that causes
the initial position of an element to be incorrect when moving
between pages, objects, or windows (this was generally not very
noticeable because the position would correct itself after any
mouse motion).
posted:
June 29, 2007 at 2:40am
version:
3.6
revision:
108
2007-06-28 21:30 tim
Corrected an error in the tag callback mechanism that would hang
the program if a command with non-escape percent signs was passed
to the tag handler (e.g., an info label "make" statement with its
own percent escapes. This causes, for example, the "read EDIF"
command to fail).
posted:
June 25, 2007 at 2:40am
version:
3.6
revision:
107
2007-06-24 23:10 tim
Finished the code to generate new xcircuit windows by adding the
capability to regenerate the color and font menus in each new
window. Removed this item from the TODO list, and added some
others that I have been thinking about lately.
posted:
June 21, 2007 at 2:40am
version:
3.6
revision:
106
2007-06-20 13:16 tim
Corrected an error in setallstylemarks() which incorrectly used
strcat() instead of strcpy() to write into an uninitialized
character array. Thanks to Dimitri Princen for finding and
fixing the bug!
posted:
June 20, 2007 at 2:40am
version:
3.6
revision:
105
2007-06-20 00:10 tim
A number of corrections to the updates from the last few days.
There is still a crash-causing bug lurking about. Beware!
posted:
June 19, 2007 at 2:40am
version:
3.6
revision:
104
2007-06-18 08:43 tim
Applied a fix from Dimitri Princen for a bug that will cause
spurious segmentation violations on any system that defines
"Boolean" as anything other than "int".
Also:
Added missing icon.
posted:
June 18, 2007 at 2:40am
version:
3.6
revision:
103
2007-06-17 08:43 tim
Numerous things in this revision: Added the "preselected" method
to the appropriate actions (rotate, flip, move, exchange,
rejustify, etc.) (see notes on last commit). Also: Added an
interactive rescale method and a toolbar button to go along with
it. Also: Extended the "unjoin" method to cover what was
previously handled by the "x" key in edit mode for polygons, to
break a polygon at a specific point. The "unjoin" command will
break the polygon at the point closest to the pointer position.
Also:
2007-06-17 16:06 tim
Also: Corrected an error in file read-in in which parameter
substitutions were made on the wrong object when comparing two
objects.
Also:
2007-06-18 00:04 tim
posted:
June 17, 2007 at 2:40am
version:
3.6
revision:
102
2007-06-16 07:35 tim
Partially implemented a new method in which elements that are
selected prior to certain actions (rotate, flip, move, etc.)
remain selected after the action has finished. This should
satisfy the several people who have complained that element group
rotations are difficult because the elements get unselected after
each rotation step.
posted:
June 16, 2007 at 2:40am
version:
3.6
revision:
101
2007-06-15 09:41 tim
Added auto-positioning of popup windows when they appear, to be
centered on the pointer position, and adjusting to prevent
off-of-screen positions. Windows that already exist are not
repositioned.
Also:
2007-06-15 11:03 tim
posted:
June 15, 2007 at 2:40am
version:
3.6
revision:
100
2007-06-15 00:17 tim
Cleaned up most of the interaction between the command-line
interface and the GUI, removing direct references to the GUI from
the C code. Check- and radiobuttons now work correctly for
border styles, fill styles, color, fonts (all aspects), and
options. Check boxes are no longer left in an incorrect state
after an element is deleted.
posted:
June 13, 2007 at 2:40am
version:
3.6
revision:
99
2007-06-12 15:57 tim
Corrected an error in which the edit cycle of a polygon was not
reset after editing, causing bizarre behavior in "pinattach"
mode.
Also:
Also: Added more tag callback handling to set GUI check- and
radiobuttons to reflect changes made by the command line or
startup code. Changed the "label" command such that "label
justify" (without any selections made) returns a two-word answer
reflecting the horizontal and vertical justification settings.
Also:
More (mostly transparent) changes: Trying to get all
GUI-specific calls out of the C code. To this end, removed all
of the config and label calls to Tcl_SetVar2 from menucalls.c and
moved the original GUI functions into xtfuncs.c (where all of the
Xt GUI calls reside). Tag callbacks for "config" and "label" in
the wrapper script now handle the Tcl variable setting (to-do:
"color", "border", and "fill" commands).
posted:
June 12, 2007 at 2:40am
version:
3.6
revision:
98
2007-06-11 23:31 tim
Miscellaneous bug fixes, including a few involving the ISO-Latin2
through 5 encodings (thanks to Ahmet Nurlu for the bug report),
and a fix of the "LED" library object to match yesterday's
changes to the expression parameter syntax.
Also:
Also: Corrected a bug noted by Dimitri Princen that allows two
substrings to be parameterized under the same parameter key.
posted:
June 11, 2007 at 2:40am
version:
3.6
revision:
97
2007-06-10 20:14 tim
Changed the notation for parameters used inside Tcl expressions
from "%" to "@", because the former is interpreted by PostScript
interpreters (e.g., ghostscript) as a comment line and causes an
immediate failure of the output rendering.
Also:
Another correction allowing parentheses after parameters in
expressions.
Also:
Final change for parameterized points---splines, polygons, and
paths get any parameterized point positions recalculated on the
fly during edit mode, so that constrained points cannot be
edited.
posted:
June 8, 2007 at 2:40am
version:
3.6
revision:
96
2007-06-07 20:49 tim
Added a tag callback to "config" to allow configuration changes
made from the command-line or startup script to properly set the
checkbox in the GUI window. Also, added an escape "%#" to tag
callbacks to pass the number of arguments given to the original
command. This allows tag callbacks to more easily handle such
situations as the above, where "config
XCircuit Version 3.5
posted:
12/19/05
version:
3.5
revision:
5
Added command option "object library []"
where the final optional argument was previously unavailable.
If present, the final argument declares a new library for the
object. If not present, the number of the library containing
the object is returned. Also: Corrected lib/tcl/symbol.tcl where the "%n" was missing
from the end of the subcircuit call statement.
posted:
12/14/05
version:
3.5
revision:
4
Fixed an error in netlisting which causes the netlister to
write "X.." lines in the SPICE output of "trivial" symbols
like the "dot" object.
posted:
12/13/05
version:
3.5
revision:
3
Fixed another fatal error in file writing due to having a
NULL filename. Also: Revised the Wprintf() calls to accept variable
argument lists, rewrote the Tcl versions of W*printf() as
calls to a script rather than being hard-coded as a specific
Tk function. This allows me to rewrite the script equivalent
of Wprintf() to print to both the message widget and the
console output, so the console now gets a complete record of
warning, error, and informational messages produced by
xcircuit. Also: Fixed two fatal errors with "Load Dependencies", one
which crashed xcircuit due to a typo in the Tcl code for
command "page links load", and the other which created an
infinite loop if loadfile() failed to load a file inside
the recursive call to "page links load".
posted:
12/8/05
version:
3.5
revision:
2
Corrected a behavioral error in which xcircuit does not
generate netlist output for a symbol containing an info
label but no pins. Thanks to Herman Lee for pointing out
this problem. Also: Corrected a problem in 3.5.1 in which xcircuit
changes filenames in a multi-schematic session to match
the top-level schematic. It ignored the setting of
"dmultiple", and thus would make changes without warning
when it generated the crash backup file, for example. Also: Added a widget for managing multi-schematic file
writes, with a menu hook from "Files->Write All...". Also: Changed the behavior of "page changes" to include
change counts of all descendents. Fixed the Tcl parsing
of the "page" command for certain options when a page is
specified in the command (e.g., "page 1 fit"). Modified
the "page changes" command so that the change count can
be altered, thus forcing a page to be recognized as either
modified or unmodified.
posted:
11/21/05
version:
3.5
revision:
1
Separated the source code into distribution (version 3.4) and
development (version 3.5) branches, on the suggestion of
Zvezdan Petkovic. Also: Added command option "page changes" which reports the
number of changes on a page. Modified some behavior so that
starting certain commands like "copy" does not increment the
number of changes, so that the command can be canceled without
xcircuit thinking that the page has been modified. Also: Added command option "config search file|library "
with a colon-separated list , specifying the search order
on a specific set of directories. These lists are initially
null, and behavior remains the same as before while these lists
are null. A non-null search path overrides the default search
on the current working directory, and a non-null library search
path overrides the search on XCIRCUIT_LIB_DIR and the default
install directory path. Modified the library manager to use
search paths. Also: Allow "library load " on a regular xcircuit
(.ps) file, which has the behavior of loading the objects from
the file without loading the pages themselves.
Also: Added command option "netlist get -hier" to generate
a slash-separated hierarchy using device names and indices. Also: Fixed "netlist goto " to accept the same syntax
that is produced by "netlist get -hier", and finished the coding
of the routine. Also: Added command options "netlist select " and
"netlist position ". Also: Changed behavior of the "%" macro so that it also raises
the console to the top of the window. Also: Added command option "netlist parse " (e.g.,
"netlist parse spice") that allows some selective parsing from
a Tcl script. Also: Created a script called "symbol.tcl" that replaces the
function of the "Make Matching Symbol" button in the xcircuit
menu, with a considerably fancier interface. Also: Modified the command "color set" to accept color names.
posted:
11/21/05
version:
3.5
revision:
0
This revision was not posted, but reflects changes made through
version 3.4 revision 10 that were removed from the "stable"
branch of the distribution.
Changed the crash backup file name to include the process ID.
This is intended to prevent xcircuit process from treating a backup
file from another existing xcircuit process as a crash file to be
recovered, but the code is not yet finished.
Enabled creation of parameters on a top-level page, and revised
the Tcl "param set" command to handle this case.
Added a "page links sheet" option to allow querying "sheet A of B".
Added a "page links load" option to allow symbols to specify which
file contains the schematic, and load these prior to writing a netlist.
XCircuit Version 3.4
posted:
July 19, 2008 at 2:40am
version:
3.4
revision:
30
2008-07-18 20:23 tim
Added Wim Vereecken's patch to correctly update the reference
counter for graphics images (fixed in version 3.6 but not
previously corrected in 3.4).
Also:
Updated Wim Vereecken's matgen.tcl from version 0.5 to 0.7.
posted:
May 23, 2008 at 2:40am
version:
3.4
revision:
29
2008-05-22 17:18 tim
Corrected the "-exact" problem in tkcon.tcl, as reported by Denis
Dupeyron (it was fixed in 3.6, but not in the stable version as
it should have been).
posted:
March 10, 2008 at 2:40am
version:
3.4
revision:
28
2008-03-09 08:29 tim
Removed call to "TclSetBadOctal" that is not an exported routine
and apparently is missing from more recent versions of the Tcl
code.
posted:
September 15, 2007 at 2:40am
version:
3.4
revision:
27
2007-09-14 14:18 tim
Implemented Wim Vereecken's Matlab import function. This module
allows XCircuit to read .ps and .eps files generated by Matlab.
posted:
June 14, 2006 at 2:40am
version:
3.4
revision:
26
2006-06-14 01:15 eric
Fixed multiple dist targets problem
Also:
Corrected RPM dependencies
posted:
June 10, 2006 at 2:40am
version:
3.4
revision:
25
2006-06-09 10:54 eric
Fixed "make distclean" to properly clean-up after "make dist"
posted:
May 31, 2006 at 2:40am
version:
3.4
revision:
24
2006-05-30 11:55 tim
Changed the Makefile to properly define "make clean" and "make
distclean"
posted:
May 25, 2006 at 2:40am
version:
3.4
revision:
23
2006-05-24 12:52 eric
Added a new dist target to the makefile for building .tgz files
Also:
Added a spec file for building RPMs
posted:
May 15, 2006 at 2:40am
version:
3.4
revision:
22
Initial revision
Also:
stable distribution
Also:
Changed the wrapper script so that the "Tcl Console" menu button
does not appear when xcircuit is invoked with the "-noconsole"
option.
Also:
Minor corrections to the position of the "+" and "-" symbols to
make the placement up-down symmetric with respect to the
character centerlines. Corrections made to symbols "opamp",
"samp", "wramp", and "vsource".
posted:
3/20/06
version:
3.4
revision:
21
Some changes to the configure script for OpenBSD support without
patches.
posted:
3/14/06
version:
3.4
revision:
20
Corrected an error which prevented edited library object names
from being applied to the object name. This resulted in confusion,
because the library would show the modified name, while the
object itself retained its original name.
posted:
3/14/06
version:
3.4
revision:
19
One more minor correction to fix the non-Tcl, non-Win32
compile, which was temporarily broken by the Win32 code.
posted:
3/10/06
version:
3.4
revision:
18
A few minor corrections to the Win32 code: proper handling of
"Makefile.win32", and proper definition for line endcap types.
posted:
3/7/06
version:
3.4
revision:
17
Incorporated Michael Goffioul's Windows native graphics
support into the source distribution. Also: Fixed a warning message on number of parts
that should apply only to library objects, not pages.
posted:
2/24/06
version:
3.4
revision:
16
Changed the meaning of CAD_HOME to point to "libdir", such
that distributions can set it to something like /usr/share
without causing trouble. Changed CAD_HOME to CAD_ROOT to
maintain backwards compatibility.
posted:
2/23/06
version:
3.4
revision:
15
Changed code to prevent a spurious "Error: end of file"
message. Also: Corrected the configure.in once again because
Tcl/Tk defines TCL_INCLUDE_SPEC but *not*, stupidly enough,
TK_INCLUDE_SPEC.
posted:
2/21/06
version:
3.4
revision:
14
Added the Shift-Button-1 bindings to duplicate Button-2
functions as an alternative to using "xcircuit -2". Also: Added a flag to line styles representing a
"square end cap" to a stroke.
posted:
2/20/06
version:
3.4
revision:
13
Made a couple of changes to the configure script to check
some extra locations for the Tk header files which seem
to have become standard on RedHat.
posted:
2/13/06
version:
3.4
revision:
12
Corrected an error that can cause xcircuit to crash when
a box is drawn.
posted:
1/8/06
version:
3.4
revision:
11
Corrected an error in which the quick screen intersection
check fails to include pin and info labels in the bounding
box, and so when only pin and info labels intersect the
screen area, nothing is drawn.
posted:
11/16/05
version:
3.4
revision:
10
Removed the problem with automatic generation of pin labels on a
symbol during a copy action in the schematic. Also: Added doubly-protected backups to standard file writes.
This renames the existing file to filename + tilde ("~") so
that the file is not truncated if a crash happens during a
normal file write. Also: Added patch files by Zvezdan Petkovic for proper
compilation on OpenBSD.
posted:
11/14/05
version:
3.4
revision:
9
Applied (partially) a patch from Larry Doolittle that fixes a
pointer bug in the non-Tcl version, and allows compilation of
the non-Tcl version on a 64-bit system. Also: Fixed the event mechanism to allow pages to be selected
in the page directory (otherwise, pages cannot be swapped). Also: Fixed the Tcl "push" command so that "push selected" now
works, and clicking the "push" toolbar button when an object
is selected has the expected effect.
Also: Fixed the Tcl "label justify" command so that changing
vertical justification does not reset the horizontal justfication. Also: Fixed the Tcl-to-xcircuit string conversion so that plain
text with spaces is handled as expected (thanks to Mark Martin
for pointing out this problem).
posted:
11/10/05
version:
3.4
revision:
8
Changed an instance of "regsub" to make it backwardly compatible
to Tcl version 8.3; otherwise, xcircuit fails to start up
properly when linked to Tcl/Tk 8.3.
posted:
10/28/05
version:
3.4
revision:
7
Corrected event handling of schematic/symbol association,
which was allowing xcircuit to return to "normal" mode while
on a library page, resulting in bizarre behavior, and preventing
the schematic/symbol association from being made. Thanks to
James Vernon for pointing out the problem.
posted:
10/25/05
version:
3.4
revision:
6
Fixed bounding-box calculations on instance loads so that
instanced values of expression parameters are handled correctly
on file read-in. Also, corrected "resolveparams" to remove
cached expression results before writing a page to a file. Also: Added component unnumbering feature (as written, only
for devices having the "idx" parameter).
posted:
10/21/05
version:
3.4
revision:
5
Added command option "label replace", menu items "Text->
Increment" and "Text->Decrement", and key bindings "i" and
"I" (respectively) to auto-increment (decrement) numerical
values inside text labels. As part of this, I also rewrote
and completed the Tcl list-to-XCircuit string conversion
routine. Also: Fixed a bug reported by James Vernon due to accessing
free'd memory, which appears to be fatal under Cygwin but
not under Linux.
posted:
10/19/05
version:
3.4
revision:
4
Added command option "library filename" and the ability to
save the first file from which a library page was loaded. Also: Added the "page load -replace" and the ability to
load/save specific libraries by name. Changed the "File"
menu and the popup prompts to allow all of this to be done
from the GUI interface. Also: Added more Cygwin handling to the Makefile process,
and tested the Cygwin compile and install.
posted:
10/6/05
version:
3.4
revision:
3
Some fixes to things broken between versions 3.3 and 3.4:
Move "undo" stays on grid. Items being moved during move
and copy commands stay with the cursor through pans.
Button-3 now does the proper thing for cancellations
during move mode.
posted:
10/6/05
version:
3.4
revision:
2
Refined and expanded the hierarchical element handle
notation to cover all commands accepting element handles.
This will now work for commands such as "element type".
Still, only "polygon points", "spline points", and
"instance center" commands translate point positions back
to the top level.
posted:
10/05/05
version:
3.4
revision:
1
Fixed an error with finishing path edit operations,
added "internal units" type to the grid display types,
and implemented a (preliminary) hierarchical specification
for element handles that can be used with the "polygon
points" command to refer point positions back to the
top level.
posted:
10/03/05
version:
3.4
revision:
0
Substantially revised the interface and input mechanism,
removing the remaining methods that were hard-coded to
various mouse buttons. Instead, I have implemented the
button "Hold" mechanism in a general-purpose manner that
also allows definitions of key hold bindings. I removed
many of the event modes, including all of the element
creation modes available from the GUI tool buttons, as
these are more obviously implemented by changing button
bindings. This allows the various modes to be switched
on and off, and allows wire drawing mode to be just one
of the modes rather than the default mode. Adding "wire",
"move", and "pan" modes as more-or-less obvious button
binding variations. Added ASCII85 and Flate encoding/
decoding to the graphic read/write operations. Added
a "-2" option to the command-line invocation of xcircuit
to set mouse button bindings for 2-button mice.
XCircuit Version 3.3
posted:
9/28/05
version:
3.3
revision:
38
Corrected multiple-button checking routine to look at
the event state only, not the button, as the button
entry is changed by some routines. This was preventing
the shift-button key bindings from working.
posted:
9/20/05
version:
3.3
revision:
37
Corrected SPICE output to generate a line break and
continuation "+" character for wraparound lines.
posted:
9/16/05
version:
3.3
revision:
36
Fixed an error with netlist output in which parameters are
not substituted if xcircuit is run in batch mode.
posted:
9/15/05
version:
3.3
revision:
35
Fixed parameter indirection---parameter string was not
initialized on library read-in, causing a segfault. Also,
changed the behavior of ordered spice lines so that they
will be placed after any subcircuits are written, to avoid
nesting subcircuits. A syntax "spice@" has been added for
lines that really should go in front of everything (except
for the special title line #1).
posted:
9/14/05
version:
3.3
revision:
34
Implemented "label latex" in the Tcl version, which was
missed in the move from Xt to Tcl, and because it is an
obscure function, was not noticed for some time. Thanks
to Eric West for bringing it to my attention. Also:
Applied a patch by Joerg Wunsch that prevents a segfault
when rotating a path element.
posted:
9/08/05
version:
3.3
revision:
33
Corrected an error in netlisting that would incorrectly
identify empty parameter strings as the "idx" parameter.
Also, added a "-nowindow" switch to the UNIX command-line
invocation to allow xcircuit to be used as a filter (batch
process) without creating/displaying an X11 window.
posted:
9/06/05
version:
3.3
revision:
32
Changed the handling of netlist writing from symbols, in
particular to avoid crashing on encountering unexpected
info label contents. Also: Added a "-replace" option to
file loads, that causes any object in a file to be
overridden by one in a library "master copy". Also: Revised
the "library make" command to allow an arbitrary number of
empty libraries to be created.
posted:
8/10/05
version:
3.3
revision:
31
Fixed a problem with the graphic image handling in which graphic
images are saved to the output file if they exist, regardless of
whether or not they show up in the output page. Also fixed the
PPM reader to handle whitespace and newlines in the header
correctly, according to the PPM spec. Also: Added revision information to the "welcome"
message in addition to the major.minor version. Also: Some changes to