Corrected an issue with "drc catchup" that causes it not to work

because commands issued during initialization set the DRC status
in a way that causes DRCContinuous() to return immediately.
Also:  Implemented a slightly different method when automatically
finding the tech file from the input .mag file that loads a
technology .magicrc file if one exists.  If not, just the .tech
file is loaded.  This replaces the method of a previous commit
that loads the technology .tcl script.  The .magicrc file will
include the .tcl script but does other things as well.
This commit is contained in:
Tim Edwards 2023-09-20 10:27:07 -04:00
parent cb25afc5ff
commit a54a20ee58
3 changed files with 14 additions and 10 deletions

View File

@ -1 +1 @@
8.3.430
8.3.431

View File

@ -621,19 +621,19 @@ dbCellReadDef(f, cellDef, ignoreTech, dereference)
found = DBSearchForTech(techfullname, tech, string, 0);
}
/* Experimental---check for a ".tcl" file in the same */
/* directory as ".tech" and source it instead of */
/* loading the tech file. */
/* Experimental---check for a ".magicrc" file in */
/* the same directory as ".tech" and source it */
/* first. */
if (found)
{
char *tclpath;
char *rcpath;
tclpath = (char *)mallocMagic(strlen(found) + strlen(tech)
+ 6);
sprintf(tclpath, "%s/%s.tcl", found, tech);
Tcl_EvalFile(magicinterp, tclpath);
freeMagic(tclpath);
rcpath = (char *)mallocMagic(strlen(found) + strlen(tech)
+ 10);
sprintf(rcpath, "%s/%s.magicrc", found, tech);
Tcl_EvalFile(magicinterp, rcpath);
freeMagic(rcpath);
}
#endif

View File

@ -909,6 +909,10 @@ DRCCatchUp()
background = DRCBackGround;
DRCBackGround = DRC_SET_ON;
/* Always reset DRC status to "not running" before calling DRCContinous()
* directly.
*/
DRCStatus = DRC_NOT_RUNNING;
DRCContinuous();
DRCBackGround = background;
}