Made a few modifications to the patch from Keno Fischer (pull request

startup.  I'm not sure that it is even possible to have a Tcl variable
set at this point in the startup procedure, though.
This commit is contained in:
Tim Edwards 2021-01-04 09:47:03 -05:00
parent 5b6692a914
commit 20eb6ce6c1
7 changed files with 29 additions and 18 deletions

View File

@ -1 +1 @@
8.3.108
8.3.109

View File

@ -65,10 +65,9 @@ magicdnull: magicdnull.c ${MAGICDIR}/defs.mak
${GR_LIBS}
magic.tcl: magic.tcl.in ${MAGICDIR}/defs.mak ${MAGICDIR}/VERSION
sed -e /TCL_DIR/s%TCL_DIR%${TCLDIR}%g \
-e /MAGIC_VERSION/s%MAGIC_VERSION%${MAGIC_VERSION}%g \
sed -e /MAGIC_VERSION/s%MAGIC_VERSION%${MAGIC_VERSION}%g \
-e /MAGIC_REVISION/s%MAGIC_REVISION%${MAGIC_REVISION}%g \
-e /SHDLIB_EXT/s%SHDLIB_EXT%${SHDLIB_EXT}%g magic.tcl.in > magic.tcl
magic.tcl.in > magic.tcl
magic.sh: magic.sh.in ${MAGICDIR}/defs.mak
sed -e /TCL_DIR_REL_OR_ABS/s%TCL_DIR_REL_OR_ABS%${TCL_DIR_REL_OR_ABS}%g \
@ -76,10 +75,12 @@ magic.sh: magic.sh.in ${MAGICDIR}/defs.mak
-e /WISH_EXE/s%WISH_EXE%${WISH_EXE}%g magic.sh.in > magic.sh
ext2spice.sh: ext2spice.sh.in ${MAGICDIR}/defs.mak
sed -e /TCL_DIR_REL_OR_ABS/s%TCL_DIR_REL_OR_ABS%${TCL_DIR_REL_OR_ABS}%g ext2spice.sh.in > ext2spice.sh
sed -e /TCL_DIR_REL_OR_ABS/s%TCL_DIR_REL_OR_ABS%${TCL_DIR_REL_OR_ABS}%g \
ext2spice.sh.in > ext2spice.sh
ext2sim.sh: ext2sim.sh.in ${MAGICDIR}/defs.mak
sed -e /TCL_DIR_REL_OR_ABS/s%TCL_DIR_REL_OR_ABS%${TCL_DIR_REL_OR_ABS}%g ext2sim.sh.in > ext2sim.sh
sed -e /TCL_DIR_REL_OR_ABS/s%TCL_DIR_REL_OR_ABS%${TCL_DIR_REL_OR_ABS}%g \
ext2sim.sh.in > ext2sim.sh
$(DESTDIR)${INSTALL_TCLDIR}/%: %
${RM} $(DESTDIR)${INSTALL_TCLDIR}/$*

View File

@ -1221,12 +1221,18 @@ Tclmagic_Init(interp)
Tcl_Eval(interp, "lappend auto_path " TCL_DIR );
/* Set $CAD_ROOT as a Tcl variable */
/* Get $CAD_ROOT from a Tcl variable, if it exists, and if not, then */
/* set CAD_ROOT from the environment variable of the same name, if */
/* it exists, and finally fall back on the CAD_DIR set at compile */
/* time. */
cadroot = Tcl_GetVar(interp, "CAD_ROOT", TCL_GLOBAL_ONLY);
if (cadroot == NULL)
{
cadroot = getenv("CAD_ROOT");
if (cadroot == NULL) cadroot = Tcl_GetVar(interp, "CAD_ROOT_DEFAULT", TCL_GLOBAL_ONLY);
if (cadroot == NULL) cadroot = CAD_DIR;
Tcl_SetVar(interp, "CAD_ROOT", cadroot, TCL_GLOBAL_ONLY);
}
Tcl_PkgProvide(interp, "Tclmagic", MAGIC_VERSION);
return TCL_OK;

View File

@ -226,7 +226,11 @@ PaExpand(psource, pdest, size)
if (string == NULL)
{
/* Check for CAD_ROOT = CAD_DIR, the only internal variable */
/* recognized (this is passed down from the Makefile) */
/* recognized (this is passed down from the Makefile). */
/* Note that in the MAGIC_WRAPPER version, CAD_ROOT was set */
/* as a Tcl variable in tcltk/tclmagic.c, such that if */
/* expandName == "CAD_ROOT", then string should not be NULL */
/* here. */
if (!strcmp(expandName, "CAD_ROOT"))
string = CAD_DIR;