From 6c3188baaf39b816f6804c3d57cb70368384cab0 Mon Sep 17 00:00:00 2001 From: dgp Date: Wed, 3 Apr 2013 13:24:39 +0000 Subject: merge release to 8.5; revert features not included in release --- ChangeLog | 20 +++++++----- README | 2 +- changes | 22 ++++++++++++++ generic/tk.h | 4 +-- generic/tkCmds.c | 89 ++++++++++++++---------------------------------------- generic/tkMain.c | 8 +---- generic/tkWindow.c | 6 +++- library/tk.tcl | 2 +- unix/Makefile.in | 2 +- unix/configure | 31 +++++-------------- unix/configure.in | 13 ++------ unix/tk.spec | 2 +- unix/tkConfig.h.in | 3 ++ win/Makefile.in | 1 + win/configure | 27 +---------------- win/configure.in | 17 +---------- win/makefile.bc | 1 + win/makefile.vc | 1 + 18 files changed, 86 insertions(+), 165 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7c67802..643679b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2013-04-01 Don Porter + *** 8.5.14 TAGGED FOR RELEASE *** + + * generic/tk.h: Bump to 8.5.14 for release. + * library/tk.tcl: + * unix/configure.in: + * unix/tk.spec: + * win/configure.in: + * README: + + * unix/configure: autoconf-2.59 + * win/configure: + * generic/tkInt.h: [Bug 3607830] Runtime checks that Xkb is * unix/tkUnixEvent.c: available in the X server before trying to * unix/tkUnixKey.c: use. Adapted from patch from Brian Griffin. @@ -13,14 +25,6 @@ * doc/ttk_panedwindow.n: <> (ttk_pandedwindow only) and * doc/ttk_spinbox.n: <> (ttk_spinbox only) -2013-03-22 Don Porter - - * generic/tkWindow.c: Updates so that Tk 8.5.14+ will be able to - * unix/Makefile.in: configure and build against Tcl 8.6+ - * unix/configure.in: header files. - - * unix/configure: autoconf-2.59 - 2013-03-13 Jan Nijtmans * unix/tcl.m4: Patch by Andrew Shadura, providing better support for diff --git a/README b/README index 6b589d2..88b0ff1 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ README: Tk - This is the Tk 8.5.13 source distribution. + This is the Tk 8.5.14 source distribution. http://tcl.sourceforge.net/ You can get any source release of Tcl from the file distributions link at the above URL. diff --git a/changes b/changes index a803a3e..ea78d52 100644 --- a/changes +++ b/changes @@ -6867,3 +6867,25 @@ Many revisions to better support a Cygwin environment (nijtmans) 2012-11-07 (bug fix)[3574708] TkSetFocusWin() crash on XP (mcdonald) --- Released 8.5.13, November 12, 2012 --- See ChangeLog for details --- + +2012-12-04 (bug fix)[3588824] text index of images with weird names (gavilan) + +2012-12-06 (bug fix) avoid buggy syscall to parse hex color values (fellows) + +2013-01-22 (bug fix)[3601782] Tcl_InitStubs failure message (nijtmans) + +2013-01-31 (bug fix)[3599928] use XKeycodeToKeysym on old systems (cassoff) + +2013-02-04 (bug fix)[3603077] treeview update on tag add/remove (english) + +2013-02-28 (bug fix)[3599312] First Alt key event is lost (mcdonald) + +2013-03-11 (bug fix)[3607326] Crash [listbox .l -listvariable $array] (porter) + +2013-03-13 (enhancement) better build support for Debian arch (shadura) + +2013-03-27 (bug fix)[3608074] button, listbox, menu <> (nijtmans) + +2013-04-01 (bug fix)[3607830] Xkb runtime checks (griffin) + +--- Released 8.5.14, April 3, 2013 --- See ChangeLog for details --- diff --git a/generic/tk.h b/generic/tk.h index 7c686a3..ca66ceb 100644 --- a/generic/tk.h +++ b/generic/tk.h @@ -59,10 +59,10 @@ extern "C" { #define TK_MAJOR_VERSION 8 #define TK_MINOR_VERSION 5 #define TK_RELEASE_LEVEL TCL_FINAL_RELEASE -#define TK_RELEASE_SERIAL 13 +#define TK_RELEASE_SERIAL 14 #define TK_VERSION "8.5" -#define TK_PATCH_LEVEL "8.5.13" +#define TK_PATCH_LEVEL "8.5.14" /* * A special definition used to allow this header file to be included from diff --git a/generic/tkCmds.c b/generic/tkCmds.c index ebf6444..e9c6401 100644 --- a/generic/tkCmds.c +++ b/generic/tkCmds.c @@ -22,10 +22,6 @@ #include "tkUnixInt.h" #endif -#if (TCL_MAJOR_VERSION==8) && (TCL_MINOR_VERSION<6) -# define Tcl_Canceled(interp, flags) (TCL_OK) -#endif - /* * Forward declarations for functions defined later in this file: */ @@ -236,7 +232,7 @@ TkBindEventProc( ClientData objects[MAX_OBJS], *objPtr; TkWindow *topLevPtr; int i, count; - const char *p; + char *p; Tcl_HashEntry *hPtr; if ((winPtr->mainPtr == NULL) || (winPtr->mainPtr->bindingTable == NULL)) { @@ -255,7 +251,7 @@ TkBindEventProc( (winPtr->numTags * sizeof(ClientData))); } for (i = 0; i < winPtr->numTags; i++) { - p = winPtr->tagPtr[i]; + p = (char *) winPtr->tagPtr[i]; if (*p == '.') { hPtr = Tcl_FindHashEntry(&winPtr->mainPtr->nameTable, p); if (hPtr != NULL) { @@ -331,6 +327,7 @@ Tk_BindtagsObjCmd( } if (objc == 2) { listPtr = Tcl_NewObj(); + Tcl_IncrRefCount(listPtr); if (winPtr->numTags == 0) { Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj(winPtr->pathName, -1)); @@ -353,6 +350,7 @@ Tk_BindtagsObjCmd( } } Tcl_SetObjResult(interp, listPtr); + Tcl_DecrRefCount(listPtr); return TCL_OK; } if (winPtr->tagPtr != NULL) { @@ -413,10 +411,10 @@ TkFreeBindingTags( TkWindow *winPtr) /* Window whose tags are to be released. */ { int i; - const char *p; + char *p; for (i = 0; i < winPtr->numTags; i++) { - p = winPtr->tagPtr[i]; + p = (char *) (winPtr->tagPtr[i]); if (*p == '.') { /* * Names starting with "." are malloced rather than Uids, so they @@ -915,7 +913,6 @@ Tk_TkwaitObjCmd( { Tk_Window tkwin = (Tk_Window) clientData; int done, index; - int code = TCL_OK; static const char *optionStrings[] = { "variable", "visibility", "window", NULL }; @@ -942,10 +939,6 @@ Tk_TkwaitObjCmd( } done = 0; while (!done) { - if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { - code = TCL_ERROR; - break; - } Tcl_DoOneEvent(0); } Tcl_UntraceVar(interp, Tcl_GetString(objv[2]), @@ -965,13 +958,9 @@ Tk_TkwaitObjCmd( WaitVisibilityProc, (ClientData) &done); done = 0; while (!done) { - if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { - code = TCL_ERROR; - break; - } Tcl_DoOneEvent(0); } - if ((done != 0) && (done != 1)) { + if (done != 1) { /* * Note that we do not delete the event handler because it was * deleted automatically when the window was destroyed. @@ -999,37 +988,25 @@ Tk_TkwaitObjCmd( WaitWindowProc, (ClientData) &done); done = 0; while (!done) { - if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { - code = TCL_ERROR; - break; - } Tcl_DoOneEvent(0); } /* - * Note: normally there's no need to delete the event handler. It was - * deleted automatically when the window was destroyed; however, if - * the wait operation was canceled, we need to delete it. + * Note: there's no need to delete the event handler. It was deleted + * automatically when the window was destroyed. */ - if (done == 0) { - Tk_DeleteEventHandler(window, StructureNotifyMask, - WaitWindowProc, &done); - } break; } } /* * Clear out the interpreter's result, since it may have been set by event - * handlers. This is skipped if an error occurred above, such as the wait - * operation being canceled. + * handlers. */ - if (code == TCL_OK) Tcl_ResetResult(interp); - - return code; + return TCL_OK; } /* ARGSUSED */ @@ -1057,7 +1034,8 @@ WaitVisibilityProc( if (eventPtr->type == VisibilityNotify) { *donePtr = 1; - } else if (eventPtr->type == DestroyNotify) { + } + if (eventPtr->type == DestroyNotify) { *donePtr = 2; } } @@ -1102,7 +1080,6 @@ Tk_UpdateObjCmd( static const char *updateOptions[] = {"idletasks", NULL}; int flags, index; TkDisplay *dispPtr; - int code = TCL_OK; if (objc == 1) { flags = TCL_DONT_WAIT; @@ -1127,35 +1104,12 @@ Tk_UpdateObjCmd( while (1) { while (Tcl_DoOneEvent(flags) != 0) { - if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { - code = TCL_ERROR; - break; - } + /* Empty loop body */ } - - /* - * If event processing was canceled proceed no further. - */ - - if (code == TCL_ERROR) - break; - for (dispPtr = TkGetDisplayList(); dispPtr != NULL; dispPtr = dispPtr->nextPtr) { XSync(dispPtr->display, False); } - - /* - * Check again if event processing has been canceled because the inner - * loop (above) may not have checked (i.e. no events were processed and - * the loop body was skipped). - */ - - if (Tcl_Canceled(interp, TCL_LEAVE_ERR_MSG) == TCL_ERROR) { - code = TCL_ERROR; - break; - } - if (Tcl_DoOneEvent(flags) == 0) { break; } @@ -1163,14 +1117,11 @@ Tk_UpdateObjCmd( /* * Must clear the interpreter's result because event handlers could have - * executed commands. This is skipped if an error occurred above, such as - * the wait operation being canceled. + * executed commands. */ - if (code == TCL_OK) Tcl_ResetResult(interp); - - return code; + return TCL_OK; } /* @@ -1552,7 +1503,9 @@ Tk_WinfoObjCmd( Tcl_SetStringObj(resultPtr, Tk_PathName(tkwin), -1); } break; - case WIN_INTERPS: + case WIN_INTERPS: { + int result; + skip = TkGetDisplayOf(interp, objc - 2, objv + 2, &tkwin); if (skip < 0) { return TCL_ERROR; @@ -1561,7 +1514,9 @@ Tk_WinfoObjCmd( Tcl_WrongNumArgs(interp, 2, objv, "?-displayof window?"); return TCL_ERROR; } - return TkGetInterpNames(interp, tkwin); + result = TkGetInterpNames(interp, tkwin); + return result; + } case WIN_PATHNAME: { Window id; diff --git a/generic/tkMain.c b/generic/tkMain.c index 8bebb3d..5d58932 100644 --- a/generic/tkMain.c +++ b/generic/tkMain.c @@ -135,7 +135,7 @@ Tk_MainEx( * Ensure that we are getting a compatible version of Tcl. */ - if (Tcl_InitStubs(interp, TCL_VERSION ".0", 0) == NULL) { + if (Tcl_InitStubs(interp, "8.5.0", 0) == NULL) { if (Tcl_InitStubs(interp, "8.1", 0) == NULL) { abort(); } else { @@ -171,12 +171,6 @@ Tk_MainEx( tsdPtr = (ThreadSpecificData *) Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); -#if !defined(STATIC_BUILD) -# undef Tcl_FindExecutable -# define Tcl_FindExecutable \ - (tclStubsPtr->tcl_FindExecutable) /* 144 */ -#endif - Tcl_FindExecutable(argv[0]); tsdPtr->interp = interp; Tcl_Preserve((ClientData) interp); diff --git a/generic/tkWindow.c b/generic/tkWindow.c index d40e7de..ac69455 100644 --- a/generic/tkWindow.c +++ b/generic/tkWindow.c @@ -3024,7 +3024,7 @@ Initialize( * Ensure that we are getting a compatible version of Tcl. */ - if (Tcl_InitStubs(interp, TCL_VERSION ".0", 0) == NULL) { + if (Tcl_InitStubs(interp, "8.5.0", 0) == NULL) { return TCL_ERROR; } @@ -3275,6 +3275,10 @@ Initialize( Tcl_SetMainLoop(Tk_MainLoop); +#undef Tk_InitStubs + + Tk_InitStubs(interp, TK_VERSION, 1); + /* * Initialized the themed widget set */ diff --git a/library/tk.tcl b/library/tk.tcl index 8d6f0f9..7c6bb1a 100644 --- a/library/tk.tcl +++ b/library/tk.tcl @@ -15,7 +15,7 @@ package require Tcl 8.5 ;# Guard against [source] in an 8.4- interp before # Insist on running with compatible version of Tcl package require Tcl 8.5.0 # Verify that we have Tk binary and script components from the same release -package require -exact Tk 8.5.13 +package require -exact Tk 8.5.14 # Create a ::tk namespace namespace eval ::tk { diff --git a/unix/Makefile.in b/unix/Makefile.in index bfa4bc0..1da2d72 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -372,7 +372,7 @@ TTK_OBJS = \ ttkTagSet.o ttkTheme.o ttkTrace.o ttkTrack.o ttkTreeview.o \ ttkWidget.o ttkStubInit.o -STUB_OBJS = tkStubInit.o +STUB_OBJS = tkStubInit.o tkStubLib.o STUB_LIB_OBJS = tkStubLib.o ttkStubLib.o diff --git a/unix/configure b/unix/configure index 01274fe..ed0693c 100755 --- a/unix/configure +++ b/unix/configure @@ -1338,7 +1338,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu TK_VERSION=8.5 TK_MAJOR_VERSION=8 TK_MINOR_VERSION=5 -TK_PATCH_LEVEL=".13" +TK_PATCH_LEVEL=".14" VERSION=${TK_VERSION} LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv" @@ -1585,7 +1585,7 @@ echo "${ECHO_T}$BUILD_TCLSH" >&6 -if test "${TCL_MAJOR_VERSION}" != "${TK_MAJOR_VERSION}"; then +if test "${TCL_VERSION}" != "${TK_VERSION}"; then { { echo "$as_me:$LINENO: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&5 @@ -1594,21 +1594,6 @@ Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&2;} { (exit 1); exit 1; }; } fi -if test "${TCL_MINOR_VERSION}" -lt "${TK_MINOR_VERSION}"; then - { { echo "$as_me:$LINENO: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&5 -echo "$as_me: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&2;} - { (exit 1); exit 1; }; } -fi -if test "${TCL_MINOR_VERSION}" != "${TK_MINOR_VERSION}"; then - { echo "$as_me:$LINENO: WARNING: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}" >&5 -echo "$as_me: WARNING: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}" >&2;} -fi #------------------------------------------------------------------------ # Handle the --prefix=... option @@ -10106,7 +10091,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Intrinsic.h. + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -10114,7 +10099,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -10141,7 +10126,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Intrinsic.h"; then + if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi @@ -10155,18 +10140,18 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lXt $LIBS" + LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XtMalloc (0) +XrmInitialize () ; return 0; } diff --git a/unix/configure.in b/unix/configure.in index 6c6e68b..85f0a1a 100644 --- a/unix/configure.in +++ b/unix/configure.in @@ -25,7 +25,7 @@ m4_ifdef([SC_USE_CONFIG_HEADERS], [ TK_VERSION=8.5 TK_MAJOR_VERSION=8 TK_MINOR_VERSION=5 -TK_PATCH_LEVEL=".13" +TK_PATCH_LEVEL=".14" VERSION=${TK_VERSION} LOCALES="cs da de el en en_gb eo es fr hu it nl pl pt ru sv" @@ -39,20 +39,11 @@ SC_LOAD_TCLCONFIG SC_PROG_TCLSH SC_BUILD_TCLSH -if test "${TCL_MAJOR_VERSION}" != "${TK_MAJOR_VERSION}"; then +if test "${TCL_VERSION}" != "${TK_VERSION}"; then AC_MSG_ERROR([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}.]) fi -if test "${TCL_MINOR_VERSION}" -lt "${TK_MINOR_VERSION}"; then - AC_MSG_ERROR([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}.]) -fi -if test "${TCL_MINOR_VERSION}" != "${TK_MINOR_VERSION}"; then - AC_MSG_WARN([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}]) -fi #------------------------------------------------------------------------ # Handle the --prefix=... option diff --git a/unix/tk.spec b/unix/tk.spec index ecf17c4..6884100 100644 --- a/unix/tk.spec +++ b/unix/tk.spec @@ -4,7 +4,7 @@ Name: tk Summary: Tk graphical toolkit for the Tcl scripting language. -Version: 8.5.13 +Version: 8.5.14 Release: 2 License: BSD Group: Development/Languages diff --git a/unix/tkConfig.h.in b/unix/tkConfig.h.in index 74f6d73..986609b 100644 --- a/unix/tkConfig.h.in +++ b/unix/tkConfig.h.in @@ -103,6 +103,9 @@ /* Have we turned on XFT (antialiased fonts)? */ #undef HAVE_XFT +/* Do we have XkbKeycodeToKeysym? */ +#undef HAVE_XKBKEYCODETOKEYSYM + /* Is XScreenSaver available? */ #undef HAVE_XSS diff --git a/win/Makefile.in b/win/Makefile.in index 2952e03..550e6ae 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -350,6 +350,7 @@ TK_OBJS = \ tkUtil.$(OBJEXT) \ tkVisual.$(OBJEXT) \ tkStubInit.$(OBJEXT) \ + tkStubLib.$(OBJEXT) \ tkWindow.$(OBJEXT) \ $(TTK_OBJS) diff --git a/win/configure b/win/configure index 33030b9..6415981 100755 --- a/win/configure +++ b/win/configure @@ -1312,7 +1312,7 @@ SHELL=/bin/sh TK_VERSION=8.5 TK_MAJOR_VERSION=8 TK_MINOR_VERSION=5 -TK_PATCH_LEVEL=".13" +TK_PATCH_LEVEL=".14" VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION #------------------------------------------------------------------------ @@ -3284,31 +3284,6 @@ echo "${ECHO_T}could not find ${TCL_BIN_DIR}/tclConfig.sh" >&6 -if test "${TCL_MAJOR_VERSION}" != "${TK_MAJOR_VERSION}"; then - { { echo "$as_me:$LINENO: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&5 -echo "$as_me: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&2;} - { (exit 1); exit 1; }; } -fi -if test "${TCL_MINOR_VERSION}" -lt "${TK_MINOR_VERSION}"; then - { { echo "$as_me:$LINENO: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&5 -echo "$as_me: error: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}." >&2;} - { (exit 1); exit 1; }; } -fi -if test "${TCL_MINOR_VERSION}" != "${TK_MINOR_VERSION}"; then - { echo "$as_me:$LINENO: WARNING: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}" >&5 -echo "$as_me: WARNING: ${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}" >&2;} -fi - #-------------------------------------------------------------------- # The statements below define a collection of compile flags. This # macro depends on the value of SHARED_BUILD, and should be called diff --git a/win/configure.in b/win/configure.in index c5f09cc..c0a9599 100644 --- a/win/configure.in +++ b/win/configure.in @@ -14,7 +14,7 @@ SHELL=/bin/sh TK_VERSION=8.5 TK_MAJOR_VERSION=8 TK_MINOR_VERSION=5 -TK_PATCH_LEVEL=".13" +TK_PATCH_LEVEL=".14" VER=$TK_MAJOR_VERSION$TK_MINOR_VERSION #------------------------------------------------------------------------ @@ -81,21 +81,6 @@ SC_ENABLE_SHARED SC_PATH_TCLCONFIG($TK_PATCH_LEVEL) SC_LOAD_TCLCONFIG -if test "${TCL_MAJOR_VERSION}" != "${TK_MAJOR_VERSION}"; then - AC_MSG_ERROR([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}.]) -fi -if test "${TCL_MINOR_VERSION}" -lt "${TK_MINOR_VERSION}"; then - AC_MSG_ERROR([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}. -Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}.]) -fi -if test "${TCL_MINOR_VERSION}" != "${TK_MINOR_VERSION}"; then - AC_MSG_WARN([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}. -Building Tk ${TK_VERSION} this way results in a binary which is no longer loadable in Tcl ${TK_VERSION}]) -fi - #-------------------------------------------------------------------- # The statements below define a collection of compile flags. This # macro depends on the value of SHARED_BUILD, and should be called diff --git a/win/makefile.bc b/win/makefile.bc index 295ed23..12fd5b8 100644 --- a/win/makefile.bc +++ b/win/makefile.bc @@ -225,6 +225,7 @@ TKOBJS = \ $(TMPDIR)\tkUtil.obj \ $(TMPDIR)\tkVisual.obj \ $(TMPDIR)\tkStubInit.obj \ + $(TMPDIR)\tkStubLib.obj \ $(TMPDIR)\tkWindow.obj # Maintenance hint: Please have multiple members of TKSTUBOBJS be separated diff --git a/win/makefile.vc b/win/makefile.vc index a7b0c0a..68df470 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -360,6 +360,7 @@ TKOBJS = \ $(TMP_DIR)\tkUtil.obj \ $(TMP_DIR)\tkVisual.obj \ $(TMP_DIR)\tkStubInit.obj \ + $(TMP_DIR)\tkStubLib.obj \ $(TMP_DIR)\tkWindow.obj \ $(TTK_OBJS) \ !if !$(STATIC_BUILD) -- cgit v0.12 From b0cd51815168b6c4d8fa61c00eb931f865ee03ec Mon Sep 17 00:00:00 2001 From: dgp Date: Wed, 3 Apr 2013 13:44:31 +0000 Subject: Restore selected code improvements that missed the 8.5.14 release. --- generic/tkCmds.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/generic/tkCmds.c b/generic/tkCmds.c index e9c6401..2010b6e 100644 --- a/generic/tkCmds.c +++ b/generic/tkCmds.c @@ -232,7 +232,7 @@ TkBindEventProc( ClientData objects[MAX_OBJS], *objPtr; TkWindow *topLevPtr; int i, count; - char *p; + const char *p; Tcl_HashEntry *hPtr; if ((winPtr->mainPtr == NULL) || (winPtr->mainPtr->bindingTable == NULL)) { @@ -251,7 +251,7 @@ TkBindEventProc( (winPtr->numTags * sizeof(ClientData))); } for (i = 0; i < winPtr->numTags; i++) { - p = (char *) winPtr->tagPtr[i]; + p = winPtr->tagPtr[i]; if (*p == '.') { hPtr = Tcl_FindHashEntry(&winPtr->mainPtr->nameTable, p); if (hPtr != NULL) { @@ -327,7 +327,6 @@ Tk_BindtagsObjCmd( } if (objc == 2) { listPtr = Tcl_NewObj(); - Tcl_IncrRefCount(listPtr); if (winPtr->numTags == 0) { Tcl_ListObjAppendElement(interp, listPtr, Tcl_NewStringObj(winPtr->pathName, -1)); @@ -350,7 +349,6 @@ Tk_BindtagsObjCmd( } } Tcl_SetObjResult(interp, listPtr); - Tcl_DecrRefCount(listPtr); return TCL_OK; } if (winPtr->tagPtr != NULL) { @@ -411,10 +409,10 @@ TkFreeBindingTags( TkWindow *winPtr) /* Window whose tags are to be released. */ { int i; - char *p; + const char *p; for (i = 0; i < winPtr->numTags; i++) { - p = (char *) (winPtr->tagPtr[i]); + p = winPtr->tagPtr[i]; if (*p == '.') { /* * Names starting with "." are malloced rather than Uids, so they @@ -1503,9 +1501,7 @@ Tk_WinfoObjCmd( Tcl_SetStringObj(resultPtr, Tk_PathName(tkwin), -1); } break; - case WIN_INTERPS: { - int result; - + case WIN_INTERPS: skip = TkGetDisplayOf(interp, objc - 2, objv + 2, &tkwin); if (skip < 0) { return TCL_ERROR; @@ -1514,9 +1510,7 @@ Tk_WinfoObjCmd( Tcl_WrongNumArgs(interp, 2, objv, "?-displayof window?"); return TCL_ERROR; } - result = TkGetInterpNames(interp, tkwin); - return result; - } + return TkGetInterpNames(interp, tkwin); case WIN_PATHNAME: { Window id; -- cgit v0.12