summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-04-12 11:27:37 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-04-12 11:27:37 (GMT)
commit6b60065860ba862acb5d691ebae8e23fd8c99962 (patch)
tree2493f0dc8127e59b48881d4e4108ebb93a38ba22 /generic
parent5c4737c8d8ec15a5f5be39aea1d7815ed826fb7e (diff)
parent9b0ea3ca88021b82e77d81413e57d3d05d78a58a (diff)
downloadtcl-6b60065860ba862acb5d691ebae8e23fd8c99962.zip
tcl-6b60065860ba862acb5d691ebae8e23fd8c99962.tar.gz
tcl-6b60065860ba862acb5d691ebae8e23fd8c99962.tar.bz2
Implement Tcl_Pkg* functions as macro's around Tcl_Pkg*Ex. This saves stack space, is (marginally) faster, while still being fully up/down compatible. It makes pkgb.so loadable in "novem" without the need to change the Tcl_PkgProvide() call to Tcl_PkgProvideEx().
Diffstat (limited to 'generic')
-rw-r--r--generic/tclDecls.h10
-rw-r--r--generic/tclPkg.c4
2 files changed, 12 insertions, 2 deletions
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index a1c0bf4..5fda514 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -3809,6 +3809,16 @@ extern const TclStubs *tclStubsPtr;
#undef Tcl_SeekOld
#undef Tcl_TellOld
+#undef Tcl_PkgPresent
+#define Tcl_PkgPresent(interp, name, version, exact) \
+ Tcl_PkgPresentEx(interp, name, version, exact, NULL)
+#undef Tcl_PkgProvide
+#define Tcl_PkgProvide(interp, name, version) \
+ Tcl_PkgProvideEx(interp, name, version, NULL)
+#undef Tcl_PkgRequire
+#define Tcl_PkgRequire(interp, name, version, exact) \
+ Tcl_PkgRequireEx(interp, name, version, exact, NULL)
+
/*
* Deprecated Tcl procedures:
*/
diff --git a/generic/tclPkg.c b/generic/tclPkg.c
index 07f62a4..df90cea 100644
--- a/generic/tclPkg.c
+++ b/generic/tclPkg.c
@@ -949,7 +949,7 @@ Tcl_PackageObjCmd(
version = TclGetString(objv[3]);
}
}
- Tcl_PkgPresent(interp, name, version, exact);
+ Tcl_PkgPresentEx(interp, name, version, exact, NULL);
return TCL_ERROR;
break;
}
@@ -974,7 +974,7 @@ Tcl_PackageObjCmd(
if (CheckVersionAndConvert(interp, argv3, NULL, NULL) != TCL_OK) {
return TCL_ERROR;
}
- return Tcl_PkgProvide(interp, argv2, argv3);
+ return Tcl_PkgProvideEx(interp, argv2, argv3, NULL);
case PKG_REQUIRE:
require:
if (objc < 3) {