`xschem raw clear` command: allow to specify a number `n`; delete the`n-th` raw file
This commit is contained in:
parent
b7c68d6aac
commit
f22307afad
|
|
@ -549,6 +549,9 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1219,6 +1222,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
|
||||
xschem raw clear [rawfile [type]]
|
||||
unload given file and type. If type not given delete all type sfrom rawfile
|
||||
If a number 'n' is given as 'rawfile' delete the 'nth' raw file
|
||||
if no file is given unload all raw files.
|
||||
|
||||
xschem raw del name
|
||||
|
|
@ -1569,7 +1573,7 @@ C {verilog_timescale.sym} 1050 -100 0 0 {name=s1 timestep="1ns" precision="1ns"
|
|||
Return the base_name field of a symbol with name or number `n`
|
||||
Normally this is empty. It is set for overloaded symbols, that is symbols
|
||||
derived from the base symbol due to instance based implementation selection
|
||||
(the instance "schematic" attribute) </pre>
|
||||
(the instance `schematic` attribute) </pre>
|
||||
<li><kbd> symbol_in_new_window [new_process]</kbd></li><pre>
|
||||
When a symbol is selected edit it in a new tab/window if not already open.
|
||||
If nothing selected open another window of the second schematic (issues a warning).
|
||||
|
|
|
|||
|
|
@ -1191,7 +1191,7 @@ static int test_c23(int logdepth, int fatal, const char *cflags)
|
|||
const char *test_c =
|
||||
NL "#include <stdio.h>"
|
||||
NL "int foo();"
|
||||
NL "int foo(char *s) { puts(s); } "
|
||||
NL "int foo(char *s) { puts(s); return 0; } "
|
||||
NL "int main()"
|
||||
NL "{"
|
||||
NL " foo(\"OK\");"
|
||||
|
|
@ -1229,7 +1229,7 @@ int find_cc_is_c23(const char *name, int logdepth, int fatal)
|
|||
int find_cc_disable_c23(const char *name, int logdepth, int fatal)
|
||||
{
|
||||
if (require("cc/default_c23", logdepth, 0) == 0) {
|
||||
static const char *cfs[] = {"-std=c17", "-std=c99", NULL};
|
||||
static const char *cfs[] = {"+-std=c17", "+-std=c99", NULL};
|
||||
const char **cf;
|
||||
|
||||
/* figure a suitable workaround */
|
||||
|
|
@ -1239,8 +1239,8 @@ int find_cc_disable_c23(const char *name, int logdepth, int fatal)
|
|||
|
||||
for(cf = cfs; *cf != NULL; cf++) {
|
||||
if (test_c23(logdepth, fatal, *cf) == 0) {
|
||||
put("cc/disable_c23/cflags", *cf);
|
||||
report("%s\n", *cf);
|
||||
put("cc/disable_c23/cflags", (*cf)+1); /* +1 to remove the prefix + */
|
||||
report("%s\n", (*cf)+1);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
28
src/save.c
28
src/save.c
|
|
@ -1364,6 +1364,34 @@ int extra_rawfile(int what, const char *file, const char *type, double sweep1, d
|
|||
xctx->extra_prev_idx = 0;
|
||||
xctx->extra_idx = 0;
|
||||
xctx->extra_raw_n = 0;
|
||||
} else if(file && isonlydigit(file)) {
|
||||
int n, found = 0;
|
||||
tclvareval("subst {", file, "}", NULL);
|
||||
my_strncpy(f, tclresult(), S(f));
|
||||
n = atoi(file);
|
||||
if(xctx->extra_raw_n > 0 ) {
|
||||
for(i = 0; i < xctx->extra_raw_n; i++) {
|
||||
if( i == n) {
|
||||
free_rawfile(&xctx->extra_raw_arr[i], 0, no_warning);
|
||||
found++;
|
||||
continue;
|
||||
}
|
||||
if(found) {
|
||||
xctx->extra_raw_arr[i - found] = xctx->extra_raw_arr[i];
|
||||
}
|
||||
}
|
||||
if(found != 0) {
|
||||
xctx->extra_raw_n -= found;
|
||||
xctx->extra_idx = 0;
|
||||
xctx->extra_prev_idx = 0;
|
||||
if(xctx->extra_raw_n) {
|
||||
xctx->raw = xctx->extra_raw_arr[0];
|
||||
} else {
|
||||
tcleval("array unset ngspice::ngspice_data");
|
||||
xctx->raw = NULL;
|
||||
}
|
||||
} else ret = 0;
|
||||
} else ret = 0;
|
||||
} else { /* clear provided file if found, switch to first in remaining if any */
|
||||
int found = 0;
|
||||
tclvareval("subst {", file, "}", NULL);
|
||||
|
|
|
|||
|
|
@ -4082,6 +4082,7 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
|
|||
*
|
||||
* xschem raw clear [rawfile [type]]
|
||||
* unload given file and type. If type not given delete all type sfrom rawfile
|
||||
* If a number 'n' is given as 'rawfile' delete the 'nth' raw file
|
||||
* if no file is given unload all raw files.
|
||||
*
|
||||
* xschem raw del name
|
||||
|
|
|
|||
Loading…
Reference in New Issue