summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2018-11-21 07:50:31 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2018-11-21 07:50:31 (GMT)
commit02d514946365467a42f4975cae649d248396f7f5 (patch)
tree923d6a3543b6bf80a8731f03d80f266f745b30ba
parentbbc2241167b3c554d930f227cbfd3c7e5497e6c9 (diff)
parent3a4b0be0b1835791115d8aeabeffc2ea302f1e98 (diff)
downloadtcl-02d514946365467a42f4975cae649d248396f7f5.zip
tcl-02d514946365467a42f4975cae649d248396f7f5.tar.gz
tcl-02d514946365467a42f4975cae649d248396f7f5.tar.bz2
Merge 8.7
-rw-r--r--doc/Exit.32
-rw-r--r--doc/FindExec.33
-rw-r--r--doc/Panic.32
-rw-r--r--doc/StaticPkg.32
-rw-r--r--doc/Tcl_Main.32
-rw-r--r--doc/zipfs.32
-rw-r--r--generic/tcl.decls13
-rw-r--r--generic/tclOOCall.c6
-rw-r--r--library/init.tcl17
-rw-r--r--library/manifest.txt18
-rw-r--r--unix/Makefile.in11
-rw-r--r--win/Makefile.in9
-rw-r--r--win/makefile.vc4
13 files changed, 59 insertions, 32 deletions
diff --git a/doc/Exit.3 b/doc/Exit.3
index ab157ca..874ea90 100644
--- a/doc/Exit.3
+++ b/doc/Exit.3
@@ -134,6 +134,8 @@ finalization of Tcl's subsystems via \fBTcl_Finalize\fR at an
appropriate time. The argument passed to \fIproc\fR when it is
invoked will be the exit status code (as passed to \fBTcl_Exit\fR)
cast to a void *value.
+.PP
+\fBTcl_SetExitProc\fR can not be used in stub-enabled extensions.
.SH "SEE ALSO"
exit(n)
.SH KEYWORDS
diff --git a/doc/FindExec.3 b/doc/FindExec.3
index 1fd57db..a1dd20d 100644
--- a/doc/FindExec.3
+++ b/doc/FindExec.3
@@ -58,6 +58,7 @@ internal full path name of the executable file as computed by
equivalent to the \fBinfo nameofexecutable\fR command. NULL
is returned if the internal full path name has not been
computed or unknown.
-
+.PP
+\fBTcl_FindExecutable\fR can not be used in stub-enabled extensions.
.SH KEYWORDS
binary, executable file
diff --git a/doc/Panic.3 b/doc/Panic.3
index c39d0b2..d0c2a6d 100644
--- a/doc/Panic.3
+++ b/doc/Panic.3
@@ -88,6 +88,8 @@ the Tcl library, \fBTcl_Panic\fR is a public function and may be called
by any extension or application that wishes to abort the process and
have a panic message displayed the same way that panic messages from Tcl
will be displayed.
+.PP
+This function can not be used in stub-enabled extensions.
.SH "SEE ALSO"
abort(3), printf(3), exec(n), format(n)
.SH KEYWORDS
diff --git a/doc/StaticPkg.3 b/doc/StaticPkg.3
index 41e2d65..6e7e94a 100644
--- a/doc/StaticPkg.3
+++ b/doc/StaticPkg.3
@@ -64,6 +64,8 @@ the event of an error it should set the interpreter's result to point to an
error message. The result or error from the initialization procedure will
be returned as the result of the \fBload\fR command that caused the
initialization procedure to be invoked.
+.PP
+This function can not be used in stub-enabled extensions.
.SH KEYWORDS
initialization procedure, package, static linking
.SH "SEE ALSO"
diff --git a/doc/Tcl_Main.3 b/doc/Tcl_Main.3
index 3ec33d1..816dfeb 100644
--- a/doc/Tcl_Main.3
+++ b/doc/Tcl_Main.3
@@ -189,6 +189,8 @@ procedure (if any) returns. In non-interactive mode, after
\fBTcl_Main\fR evaluates the startup script, and the main loop
procedure (if any) returns, \fBTcl_Main\fR will also evaluate
the \fBexit\fR command.
+.PP
+This function can not be used in stub-enabled extensions.
.SH "SEE ALSO"
tclsh(1), Tcl_GetStdChannel(3), Tcl_StandardChannels(3), Tcl_AppInit(3),
exit(n), encoding(n)
diff --git a/doc/zipfs.3 b/doc/zipfs.3
index 8e2eacc..23b9a93 100644
--- a/doc/zipfs.3
+++ b/doc/zipfs.3
@@ -112,6 +112,8 @@ call is a standard Tcl result code.
unmounts the mounted ZIP file system that was mounted from \fIzipname\fR (at
\fImountpoint\fR). Errors are reported in the interpreter \fIinterp\fR. The
result of this call is a standard Tcl result code.
+.PP
+\fBTclZipfs_AppHook\fR can not be used in stub-enabled extensions.
.SH "SEE ALSO"
zipfs(n)
.SH KEYWORDS
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 93acae8..9dd4ed5 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2477,6 +2477,19 @@ export {
Tcl_Interp *interp)
}
export {
+ void Tcl_StaticPackage(Tcl_Interp *interp, const char *pkgName,
+ Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
+}
+export {
+ void Tcl_SetPanicProc(TCL_NORETURN1 Tcl_PanicProc *panicProc)
+}
+export {
+ Tcl_ExitProc *Tcl_SetExitProc(TCL_NORETURN1 Tcl_ExitProc *proc)
+}
+export {
+ void Tcl_FindExecutable(const char *argv0)
+}
+export {
const char *Tcl_InitStubs(Tcl_Interp *interp, const char *version,
int exact)
}
diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c
index bb81cfb..4eafe2e 100644
--- a/generic/tclOOCall.c
+++ b/generic/tclOOCall.c
@@ -96,7 +96,7 @@ static void AddClassMethodNames(Class *clsPtr, const int flags,
Tcl_HashTable *const examinedClassesPtr);
static inline void AddDefinitionNamespaceToChain(Class *const definerCls,
Tcl_Obj *const namespaceName,
- DefineChain *const definePtr, const int flags);
+ DefineChain *const definePtr, int flags);
static inline void AddMethodToCallChain(Method *const mPtr,
struct ChainBuilder *const cbPtr,
Tcl_HashTable *const doneFilters,
@@ -2022,8 +2022,8 @@ AddSimpleClassDefineNamespaces(
static inline void
AddDefinitionNamespaceToChain(
- Class *definerCls, /* What class defines this entry. */
- Tcl_Obj *namespaceName, /* The name for this entry (or NULL, a
+ Class *const definerCls, /* What class defines this entry. */
+ Tcl_Obj *const namespaceName, /* The name for this entry (or NULL, a
* no-op). */
DefineChain *const definePtr,
/* The define chain to add the method
diff --git a/library/init.tcl b/library/init.tcl
index f07ad79..87e12ef 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -798,20 +798,3 @@ proc tcl::CopyDirectory {action src dest} {
}
return
}
-set isafe [interp issafe]
-###
-# Package manifest for all Tcl packages included in the /library file system
-###
-set isafe [interp issafe]
-set dir [file dirname [info script]]
-foreach {safe package version file} {
- 0 http 2.9.0 {http http.tcl}
- 1 msgcat 1.7.0 {msgcat msgcat.tcl}
- 1 opt 0.4.7 {opt optparse.tcl}
- 0 platform 1.0.14 {platform platform.tcl}
- 0 platform::shell 1.1.4 {platform shell.tcl}
- 1 tcltest 2.5.0 {tcltest tcltest.tcl}
-} {
- if {$isafe && !$safe} continue
- package ifneeded $package $version [list source [file join $dir {*}$file]]
-}
diff --git a/library/manifest.txt b/library/manifest.txt
new file mode 100644
index 0000000..11a755a
--- /dev/null
+++ b/library/manifest.txt
@@ -0,0 +1,18 @@
+###
+# Package manifest for all Tcl packages included in the /library file system
+###
+apply {{dir} {
+ set ::test [info script]
+ set isafe [interp issafe]
+ foreach {safe package version file} {
+ 0 http 2.9.0 {http http.tcl}
+ 1 msgcat 1.7.0 {msgcat msgcat.tcl}
+ 1 opt 0.4.7 {opt optparse.tcl}
+ 0 platform 1.0.14 {platform platform.tcl}
+ 0 platform::shell 1.1.4 {platform shell.tcl}
+ 1 tcltest 2.5.0 {tcltest tcltest.tcl}
+ } {
+ if {$isafe && !$safe} continue
+ package ifneeded $package $version [list source [file join $dir {*}$file]]
+ }
+}} $dir
diff --git a/unix/Makefile.in b/unix/Makefile.in
index ff1d649..e883c5b 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -681,7 +681,8 @@ ${TCL_ZIP_FILE}: ${ZIP_INSTALL_OBJS}
@rm -rf ${TCL_VFS_ROOT}
@mkdir -p ${TCL_VFS_PATH}
cp -a $(TOP_DIR)/library/* ${TCL_VFS_PATH}
- -find ${TCL_VFS_ROOT} -type d -empty -delete
+ cp -a ${TCL_VFS_PATH}/manifest.txt ${TCL_VFS_PATH}/pkgIndex.tcl
+ find ${TCL_VFS_ROOT} -type d -empty -delete
( cd ${TCL_VFS_ROOT} ; ${NATIVE_ZIP} ${ZIP_PROG_OPTIONS} ../${TCL_ZIP_FILE} ${ZIP_PROG_VFSSEARCH})
# The following target is configured by autoconf to generate either a shared
@@ -689,10 +690,10 @@ ${TCL_ZIP_FILE}: ${ZIP_INSTALL_OBJS}
${LIB_FILE}: ${STUB_LIB_FILE} ${OBJS} ${TCL_ZIP_FILE}
rm -f $@
@MAKE_LIB@
-ifeq (${ZIPFS_BUILD},1)
- cat ${TCL_ZIP_FILE} >> ${LIB_FILE}
- ${NATIVE_ZIP} -A ${LIB_FILE}
-endif
+ @if test "${ZIPFS_BUILD}" = "1" ; then \
+ cat ${TCL_ZIP_FILE} >> ${LIB_FILE}; \
+ ${NATIVE_ZIP} -A ${LIB_FILE}; \
+ fi
${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
@if [ "x${LIB_FILE}" = "xlibtcl${MAJOR_VERSION}.${MINOR_VERSION}.dll" ] ; then \
diff --git a/win/Makefile.in b/win/Makefile.in
index f0812d3..ecb4d8a 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -487,6 +487,7 @@ ${TCL_ZIP_FILE}: ${ZIP_INSTALL_OBJS} ${DDE_DLL_FILE} ${REG_DLL_FILE}
rm -rf ${TCL_VFS_ROOT}
mkdir -p ${TCL_VFS_PATH}
$(COPY) -a $(TOP_DIR)/library/* ${TCL_VFS_PATH}
+ $(COPY) -a ${TCL_VFS_PATH}/manfest.txt ${TCL_VFS_PATH}/pkgIndex.tcl
$(COPY) ${DDE_DLL_FILE} ${TCL_VFS_PATH}/dde
$(COPY) ${REG_DLL_FILE} ${TCL_VFS_PATH}/reg
cd ${TCL_VFS_ROOT} ; ${NATIVE_ZIP} ${ZIP_PROG_OPTIONS} ../${TCL_ZIP_FILE} ${ZIP_PROG_VFSSEARCH}
@@ -514,10 +515,10 @@ ${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES) @ZLIB_DLL_FILE@ ${TCL_ZIP_FILE}
@$(RM) ${TCL_DLL_FILE} $(TCL_LIB_FILE)
@MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS)
@VC_MANIFEST_EMBED_DLL@
-ifeq (${ZIPFS_BUILD},1)
- cat ${TCL_ZIP_FILE} >> ${TCL_DLL_FILE}
- ${NATIVE_ZIP} -A ${TCL_DLL_FILE}
-endif
+ @if test "${ZIPFS_BUILD}" = "1" ; then \
+ cat ${TCL_ZIP_FILE} >> ${TCL_DLL_FILE}; \
+ ${NATIVE_ZIP} -A ${TCL_DLL_FILE}; \
+ fi
${TCL_LIB_FILE}: ${TCL_OBJS} ${DDE_OBJS} ${REG_OBJS}
@$(RM) ${TCL_LIB_FILE}
diff --git a/win/makefile.vc b/win/makefile.vc
index f0e824f..7b08d81 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -492,10 +492,10 @@ genstubs:
!if !exist($(TCLSH))
@echo Build tclsh first!
!else
- tclsh8.7 $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \
+ $(TCLSH) $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \
$(GENERICDIR:\=/)/tcl.decls $(GENERICDIR:\=/)/tclInt.decls \
$(GENERICDIR:\=/)/tclTomMath.decls
- tclsh8.7 $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \
+ $(TCLSH) $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \
$(GENERICDIR:\=/)/tclOO.decls
!endif