From 3e497c1f548a8cbba7c7211b72f9b476f4093355 Mon Sep 17 00:00:00 2001 From: das Date: Thu, 12 Jun 2008 06:29:14 +0000 Subject: * generic/tclOO.c: use TclOOStubs hooks field to retrieve * generic/tclOODecls.h: TclOOIntStubs pointer. [Bug 1980953] * generic/tclOOIntDecls.h: * generic/tclOOStubInit.c: * generic/tclOOStubLib.c: --- ChangeLog | 65 +++++++++++++++++++++++++++++++------------------ generic/tclOO.c | 6 ++--- generic/tclOODecls.h | 4 +-- generic/tclOOIntDecls.h | 11 +++------ generic/tclOOStubInit.c | 11 +++------ generic/tclOOStubLib.c | 10 ++++---- 6 files changed, 57 insertions(+), 50 deletions(-) diff --git a/ChangeLog b/ChangeLog index 56c825e..ddd5f0f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,24 @@ +2008-06-12 Daniel Steffen + + * generic/tclOO.c: use TclOOStubs hooks field to retrieve + * generic/tclOODecls.h: TclOOIntStubs pointer. [Bug 1980953] + * generic/tclOOIntDecls.h: + * generic/tclOOStubInit.c: + * generic/tclOOStubLib.c: + + * generic/tclIORTrans.c: fix signed <-> unsigned cast warnings. + + * unix/Makefile.in: clean generated tclDTrace.h file. + * unix/configure.in: fix static DTrace-enabled build on Solaris. + + * unix/tcl.m4 (SunOS-5.11): fix 64bit amd64 support with gcc & Sun cc. + * unix/configure: autoconf-2.59 + + * macosx/Tcl.xcodeproj/project.pbxproj: add tclIORTrans.c; updates and + cleanup for Xcode 3.1/Leopard. + * macosx/Tcl.xcode/project.pbxproj: sync Tcl.xcodeproj changes. + * macosx/README: document new build configs. + 2008-06-10 Joe English * generic/tclEncoding.c(UtfToUtfProc): Avoid unwanted sign extension @@ -7,23 +28,21 @@ 2008-06-10 Andreas Kupries * tests/ioTrans.test (iortrans.tf-6.1): Fixed the [Bug 1988552], - reported by Kevin. Have to close the channel before removal of - the file. Fixed same bug in test 'iortrans.tf-11.0', after - fixing missing cleanup of the file in 'iortrans.tf-11.*'. Lastly - fixed the names of the threaded tests 'iortrans-8.*' to the - correct 'iortrans.tf-8.*'. + reported by Kevin. Have to close the channel before removal of the + file. Fixed same bug in test 'iortrans.tf-11.0', after fixing missing + cleanup of the file in 'iortrans.tf-11.*'. Lastly fixed the names of + the threaded tests 'iortrans-8.*' to the correct 'iortrans.tf-8.*'. 2008-06-09 Andreas Kupries - * generic/tclIORTrans.c (ReflectInput): Fixed a bug triggered by - Pat Thoyts . Reset the EOF flag - after draining the Tcl level into the result buffer, to make sure - that the result buffer will be drained as well by repeated calls - to ReflectInput should it contain more than one buffer-full of - data. Without that reset the higher I/O system will not call on - ReflectInput anymore due to the assumed EOF, thus losing the data - which did not fit in the buffer of the call which caused the eof - and drain. + * generic/tclIORTrans.c (ReflectInput): Fixed a bug triggered by Pat + Thoyts . Reset the EOF flag after + draining the Tcl level into the result buffer, to make sure that the + result buffer will be drained as well by repeated calls to + ReflectInput should it contain more than one buffer-full of data. + Without that reset the higher I/O system will not call on ReflectInput + anymore due to the assumed EOF, thus losing the data which did not fit + in the buffer of the call which caused the eof and drain. 2008-06-09 Donal K. Fellows @@ -31,6 +50,7 @@ that occurred when all methods were hidden. [Bug 1987817] 2008-06-08 Miguel Sofer + * generic/tclBasic.c: Compilation of uplevel scripts, allow * generic/tclCompCmds.c: non-body compiled scripts to access the * generic/tclCompile.c: LVT (but not to extend it) and enable the @@ -92,14 +112,13 @@ * generic/tclOOIntDecls.h: DLLIMPORT needed to make EXTERN work. * generic/tclDictObj.c: Added missing initializers to the ensemble - map to silence a compiler warning. - Thanks to George Peter Staplin for the - report. + map to silence a compiler warning. Thanks + to George Peter Staplin for the report. * generic/tclOOMethod.c: Fix a bug where the refcount of a method - was reset if the method was redefined while - there was an active invocation. - [Bug #1981001] + was reset if the method was redefined while + there was an active invocation. + [Bug 1981001] 2008-06-01 Donal K. Fellows @@ -131,7 +150,7 @@ * unix/tclConfig.h.in: autoheader-2.59 * macosx/Tcl.xcodeproj/project.pbxproj: add new tclOO files; add debug - * macosx/README: targets with corefoundation + * macosx/README: configs with corefoundation disabled and with gcov; update to Xcode 3.1. @@ -226,9 +245,7 @@ Kenny for his help with this. * unix/tclUnixThrd.c: Add platform-specific TSD functions for use by - tclThreadStorage.c. - * win/tclWinThrd.c: Add platform-specific TSD functions for use by - tclThreadStorage.c. + * win/tclWinThrd.c: tclThreadStorage.c. 2008-05-09 Kevin B. Kenny diff --git a/generic/tclOO.c b/generic/tclOO.c index f374876..667210b 100644 --- a/generic/tclOO.c +++ b/generic/tclOO.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclOO.c,v 1.7 2008/06/02 02:19:41 kennykb Exp $ + * RCS: @(#) $Id: tclOO.c,v 1.8 2008/06/12 06:29:17 das Exp $ */ #ifdef HAVE_CONFIG_H @@ -118,7 +118,7 @@ static char initScript[] = /* "tcl_findLibrary tcloo $oo::version $oo::version" */ /* " tcloo.tcl OO_LIBRARY oo::library;"; */ -MODULE_SCOPE const struct TclOOStubAPI * const tclOOStubAPIPtr; +MODULE_SCOPE const TclOOStubs * const tclOOConstStubPtr; /* * Convenience macro for getting the foundation from an interpreter. @@ -164,7 +164,7 @@ TclOOInit( } return Tcl_PkgProvideEx(interp, "TclOO", TCLOO_VERSION, - (ClientData) tclOOStubAPIPtr); + (ClientData) tclOOConstStubPtr); } /* diff --git a/generic/tclOODecls.h b/generic/tclOODecls.h index 375abf3..969cd5d 100644 --- a/generic/tclOODecls.h +++ b/generic/tclOODecls.h @@ -1,5 +1,5 @@ /* - * $Id: tclOODecls.h,v 1.4 2008/06/01 02:02:48 kennykb Exp $ + * $Id: tclOODecls.h,v 1.5 2008/06/12 06:29:18 das Exp $ * * This file is (mostly) automatically generated from tclOO.decls. */ @@ -22,7 +22,7 @@ /* * WARNING: This file is automatically generated by the tools/genStubs.tcl * script. Any modifications to the function declarations below should be made - * in the generic/tcl.decls script. + * in the generic/tclOO.decls script. */ diff --git a/generic/tclOOIntDecls.h b/generic/tclOOIntDecls.h index bc6c2d3..de761a7 100644 --- a/generic/tclOOIntDecls.h +++ b/generic/tclOOIntDecls.h @@ -1,5 +1,5 @@ /* - * $Id: tclOOIntDecls.h,v 1.4 2008/06/01 02:02:49 kennykb Exp $ + * $Id: tclOOIntDecls.h,v 1.5 2008/06/12 06:29:18 das Exp $ * * This file is (mostly) automatically generated from tclOO.decls. */ @@ -21,7 +21,7 @@ /* * WARNING: This file is automatically generated by the tools/genStubs.tcl * script. Any modifications to the function declarations below should be made - * in the generic/tcl.decls script. + * in the generic/tclOO.decls script. */ /* !BEGIN!: Do not edit below this line. */ @@ -258,12 +258,7 @@ extern CONST TclOOIntStubs *tclOOIntStubsPtr; /* !END!: Do not edit above this line. */ -struct TclOOStubAPI { - CONST TclOOStubs *stubsPtr; - CONST TclOOIntStubs *intStubsPtr; -}; - #undef TCL_STORAGE_CLASS #define TCL_STORAGE_CLASS DLLIMPORT -#endif /* _TCLOODECLS */ +#endif /* _TCLOOINTDECLS */ diff --git a/generic/tclOOStubInit.c b/generic/tclOOStubInit.c index 522fa6b..06e22d0 100644 --- a/generic/tclOOStubInit.c +++ b/generic/tclOOStubInit.c @@ -1,5 +1,5 @@ /* - * $Id: tclOOStubInit.c,v 1.3 2008/06/01 00:33:05 dkf Exp $ + * $Id: tclOOStubInit.c,v 1.4 2008/06/12 06:29:18 das Exp $ * * This file is (mostly) automatically generated from tclOO.decls. * It is compiled and linked in with the tclOO package proper. @@ -73,11 +73,6 @@ static const TclOOStubs tclOOStubs = { /* !END!: Do not edit above this line. */ -static const struct TclOOStubAPI tclOOStubAPI = { - &tclOOStubs, - &tclOOIntStubs -}; - -MODULE_SCOPE const struct TclOOStubAPI * const tclOOStubAPIPtr; -const struct TclOOStubAPI * const tclOOStubAPIPtr = &tclOOStubAPI; +MODULE_SCOPE const TclOOStubs * const tclOOConstStubPtr; +const TclOOStubs * const tclOOConstStubPtr = &tclOOStubs; diff --git a/generic/tclOOStubLib.c b/generic/tclOOStubLib.c index 280854b..0414ae4 100644 --- a/generic/tclOOStubLib.c +++ b/generic/tclOOStubLib.c @@ -1,5 +1,5 @@ /* - * $Id: tclOOStubLib.c,v 1.3 2008/06/01 00:33:05 dkf Exp $ + * $Id: tclOOStubLib.c,v 1.4 2008/06/12 06:29:18 das Exp $ * ORIGINAL SOURCE: tk/generic/tkStubLib.c, version 1.9 2004/03/17 */ @@ -53,16 +53,16 @@ TclOOInitializeStubs( ClientData clientData = NULL; const char *actualVersion = Tcl_PkgRequireEx(interp, packageName,version, exact, &clientData); - struct TclOOStubAPI *stubsAPIPtr = clientData; - if (stubsAPIPtr == NULL) { + if (clientData == NULL) { Tcl_ResetResult(interp); Tcl_AppendResult(interp, "Error loading ", packageName, " package; ", "package not present or incomplete", NULL); return NULL; } else { - const TclOOStubs * const stubsPtr = stubsAPIPtr->stubsPtr; - const TclOOIntStubs * const intStubsPtr = stubsAPIPtr->intStubsPtr; + const TclOOStubs * const stubsPtr = clientData; + const TclOOIntStubs * const intStubsPtr = stubsPtr->hooks ? + stubsPtr->hooks->tclOOIntStubs : NULL; if (!actualVersion) { return NULL; -- cgit v0.12