diff --git a/Changelog b/Changelog index 084293b7..39a4a461 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,13 @@ 2.9.8 +- When loading/descending in a symbol set netlist_type to CAD_SYMBOL_ATTRS, set back to previous value when done. +- Tcl procedure "load_file_dialog" is now used also for saving files (so list of defined xschem libs is available + as well as preview window). +- eliminated any differences between SYMBOL and SCHEMATIC files. + There is no "current_type" variable any more. Symbols who used to have netlisting rules defined in schvhdlprop + have now these attributes in schsymbolprop. + Old symbol files with schvhdlprop will be saved with netlisting rules in schsymbolprop. +- Bring open dialogs always on top of xschem main window if user clicks title bar on gnome/metacity DMs +- allow '@' in net names as this is sometimes uded in CDL / backannotated netlists. - enable "bus=true" attribute for lines as well as for wires. As a side effect LCC schematics with bussed wires will display thick buses - added command (menu Symbol->Show only instance Bounding boxes) to toggle diff --git a/scconfig/src/default/deps_default.c b/scconfig/src/default/deps_default.c index 25cfd227..5ae22c65 100644 --- a/scconfig/src/default/deps_default.c +++ b/scconfig/src/default/deps_default.c @@ -109,6 +109,7 @@ void deps_default_init(void) dep_add("libs/fs/makedev/*", find_fs_makedev); dep_add("libs/io/pipe/*", find_io_pipe); + dep_add("libs/io/pipe2/*", find_io_pipe2); dep_add("libs/io/_pipe/*", find_io__pipe); dep_add("libs/io/dup2/*", find_io_dup2); dep_add("libs/io/fileno/*", find_io_fileno); diff --git a/scconfig/src/default/find.h b/scconfig/src/default/find.h index c252d9fa..eeb69dfa 100644 --- a/scconfig/src/default/find.h +++ b/scconfig/src/default/find.h @@ -127,6 +127,7 @@ int find_shell(const char *name, int logdepth, int fatal); /* find_io.c */ int find_io_pipe(const char *name, int logdepth, int fatal); +int find_io_pipe2(const char *name, int logdepth, int fatal); int find_io__pipe(const char *name, int logdepth, int fatal); int find_io_dup2(const char *name, int logdepth, int fatal); int find_io_fileno(const char *name, int logdepth, int fatal); diff --git a/scconfig/src/default/find_io.c b/scconfig/src/default/find_io.c index 1e572729..159ce5b4 100644 --- a/scconfig/src/default/find_io.c +++ b/scconfig/src/default/find_io.c @@ -52,6 +52,28 @@ int find_io_pipe(const char *name, int logdepth, int fatal) return try_fail(logdepth, "libs/io/pipe"); } +int find_io_pipe2(const char *name, int logdepth, int fatal) +{ + const char *test_c = + NL "#include " + NL "int main() {" + NL " int fd[2];" + NL " if (pipe2(fd, 0) == 0)" + NL " puts(\"OK\");" + NL " return 0;" + NL "}" + NL; + + require("cc/cc", logdepth, fatal); + + report("Checking for pipe2(2)... "); + logprintf(logdepth, "find_io_pipe2: trying to find pipe2(2)...\n"); + logdepth++; + + if (try_icl(logdepth, "libs/io/pipe2", test_c, "#include \n", NULL, NULL)) return 0; + return try_fail(logdepth, "libs/io/pipe2"); +} + int find_io__pipe(const char *name, int logdepth, int fatal) { const char *test_c = diff --git a/src/xschem.tcl b/src/xschem.tcl index 737a0d0a..d574255f 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -2042,7 +2042,7 @@ proc edit_prop {txtlabel} { entry .dialog.f1.e2 -width 30 .dialog.f1.e2 insert 0 $symbol button .dialog.f1.b5 -text "Browse" -command { - set r [save_file_dialog {New symbol} .sym INITIALINSTDIR {} 0] + set r [tk_getOpenFile -parent .dialog -initialdir $INITIALINSTDIR ] if {$r ne {} } { .dialog.f1.e2 delete 0 end .dialog.f1.e2 insert 0 $r