From 78f88f52a525c493e79fc724760e36eb76a21d43 Mon Sep 17 00:00:00 2001 From: das Date: Tue, 18 Mar 2003 13:55:48 +0000 Subject: * macosx/Wish.pbproj/project.pbxproj: * macosx/Makefile: * macosx/README: added support for giving 'make' the location of Tcl.framework and tclsh to build and link against. * macosx/tkMacOSXXStubs.c: fixed crash in [winfo server]. --- ChangeLog | 17 +++++++-- macosx/Makefile | 10 +++-- macosx/README | 78 ++++++++++++++++++++++++++------------ macosx/Wish.pbproj/project.pbxproj | 30 ++++++++------- macosx/tkMacOSXXStubs.c | 11 ++++-- 5 files changed, 98 insertions(+), 48 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7fd4053..9cc536f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2003-03-18 Daniel Steffen + + * macosx/Wish.pbproj/project.pbxproj: + * macosx/Makefile: + * macosx/README: added support for giving 'make' the location + of Tcl.framework and tclsh to build and link against. + + * macosx/tkMacOSXXStubs.c: fixed crash in [winfo server]. + 2003-03-14 Donal K. Fellows * library/msgbox.tcl (Tk::MessageBox): Stop buttons from being @@ -5,10 +14,10 @@ 2003-03-13 Don Porter - * tests/unixWm.test: Constrained all tests older than revision 1.21 - to run only on Unix. Alternative approach did not match maintainer - habits. - * tests/spinbox.test (spinbox-17.4): Avoid long failure message. + * tests/unixWm.test: Constrained all tests older than revision 1.21 + to run only on Unix. Alternative approach did not match maintainer + habits. + * tests/spinbox.test (spinbox-17.4): Avoid long failure message. 2003-03-13 Kevin Kenny diff --git a/macosx/Makefile b/macosx/Makefile index c05c4de..3945438 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -3,7 +3,7 @@ # Simple makefile for building on Mac OS X with the # Project Builder command line tool 'pbxbuild' # -# RCS: @(#) $Id: Makefile,v 1.7 2003/02/19 16:44:16 das Exp $ +# RCS: @(#) $Id: Makefile,v 1.7.2.1 2003/03/18 13:55:50 das Exp $ # ################################################################################ @@ -11,6 +11,9 @@ INSTALL_ROOT ?= BUILD_DIR ?= ${CURDIR}/../../build +TCL_FRAMEWORK_DIR ?= ${BUILD_DIR} +TCLSH_DIR ?= ${TCL_FRAMEWORK_DIR} + TARGET = Wish DEVBUILDSTYLE = Development @@ -18,7 +21,8 @@ DEPBUILDSTYLE = Deployment PBXBUILD = /usr/bin/pbxbuild -BUILD = ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}" +BUILD = ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}" \ + TCL_FRAMEWORK_DIR="${TCL_FRAMEWORK_DIR}" TCLSH_DIR="${TCLSH_DIR}" DEVBUILD = ${BUILD} -buildstyle "${DEVBUILDSTYLE}" DEPBUILD = ${BUILD} -buildstyle "${DEPBUILDSTYLE}" @@ -89,7 +93,7 @@ cleanup-embedded: .PHONY: all install embedded clean develop deploy install-develop install-deploy \ embedded-develop embedded-deploy install-embedded-develop install-embedded-deploy \ -clean-develop clean-deploy forceRelinkTcl \ +clean-develop clean-deploy forceRelink \ cleanup-embedded ################################################################################ diff --git a/macosx/README b/macosx/README index c62339e..9cde39c 100644 --- a/macosx/README +++ b/macosx/README @@ -1,7 +1,7 @@ TclTkAqua README ---------------- -RCS: @(#) $Id: README,v 1.6 2003/02/27 00:09:26 hobbs Exp $ +RCS: @(#) $Id: README,v 1.6.2.1 2003/03/18 13:55:51 das Exp $ This is the README file for the Mac OS X native versions of Tcl & Tk. @@ -131,32 +131,38 @@ ProjectBuilder command line tool with all the details taken care of. - Unpack the tcl and tk source release archives and place the tcl and tk source trees in a common parent directory. - [ If you don't want have the two source trees in one directory, you'll need to - [ create the following symbolic link for the build to work as setup by default - [ ln -fs /path_to_tcl/build /path_to_tk/build - [ (where /path_to_{tcl,tk} is the directory containing the tcl resp. tk tree) - [ or you can pass an argument of BUILD_DIR=/somewhere to the tcl and tk make. +[ If you don't want have the two source trees in one directory, you'll need to ] +[ create the following symbolic link for the build to work as setup by default ] +[ ln -fs /path_to_tcl/build /path_to_tk/build ] +[ (where /path_to_{tcl,tk} is the directory containing the tcl resp. tk tree) ] +[ or you can pass an argument of BUILD_DIR=/somewhere to the tcl and tk make. ] - The following instructions assume the tcl and tk source trees are named -'tcl' and 'tk', respectively, where is the version number (for -example 'tcl8.4.2'). This will be the case if you are building from a release -archive. If you are building from CVS, the version numbers will be missing; -adapt the instructions below accordingly. +"tcl${ver}" and "tk${ver}", respectively, where ${ver} is a shell variable +containing the tcl and tk version number (for example '8.4.2'). +Setup the shell variable as follows: + set ver="8.4.2" ;: if your shell is csh + ver="8.4.2" ;: if your shell is sh +The source trees will be named this way only if you are building from a release +archive, if you are building from CVS, the version numbers will be missing; so +set ${ver} to the empty string instead: + set ver="" ;: if your shell is csh + ver="" ;: if your shell is sh - If you're only interested in _building_ TclTkAqua and don't plan on doing development with the ProjectBuilder projects, using the Makefiles is easiest. The following steps will build Tcl and Tk from the Terminal, assuming you are located in the directory containing the tcl and tk source trees: - make -C tcl/macosx - make -C tk/macosx + make -C tcl${ver}/macosx + make -C tk${ver}/macosx and the following will then install Tcl and Tk onto the root volume (admin password required): - sudo make -C tcl/macosx install - sudo make -C tk/macosx install + sudo make -C tcl${ver}/macosx install + sudo make -C tk${ver}/macosx install if you don't have the admin password, you can install into your home directory, instead by passing an INSTALL_ROOT argument to make: - make -C tcl/macosx install INSTALL_ROOT=$HOME - make -C tk/macosx install INSTALL_ROOT=$HOME + make -C tcl${ver}/macosx install INSTALL_ROOT="${HOME}/" + make -C tk${ver}/macosx install INSTALL_ROOT="${HOME}/" - The default Makefile targets will build _both_ debug and optimized versions of the Tcl and Tk frameworks with the standard convention of naming the debug @@ -168,10 +174,10 @@ This allows you to dynamically link to the debug libraries at runtime by setting If you only want to build and install the debug or optimized build, use the 'develop' or 'deploy' target variants of the Makefiles, respectively. For example, to build and install only the optimized versions: - make -C tcl/macosx deploy - make -C tk/macosx deploy - sudo make -C tcl/macosx install-deploy - sudo make -C tk/macosx install-deploy + make -C tcl${ver}/macosx deploy + make -C tk${ver}/macosx deploy + sudo make -C tcl${ver}/macosx install-deploy + sudo make -C tk${ver}/macosx install-deploy - The Makefiles can also build a version of 'Wish Shell' that has the Tcl and Tk frameworks embedded in its application package. This allows for standalone @@ -179,10 +185,10 @@ deployment of the application with no installation required, e.g. from read-only media. To build & install in this manner, use the 'embedded' target variants of the Makefiles. For example, to build a standalone 'Wish Shell.app' in ./embedded/Applications/Utilities: - make -C tcl/macosx embedded - make -C tk/macosx embedded - sudo make -C tcl/macosx install-embedded INSTALL_ROOT=`pwd`/embedded - sudo make -C tk/macosx install-embedded INSTALL_ROOT=`pwd`/embedded + make -C tcl${ver}/macosx embedded + make -C tk${ver}/macosx embedded + sudo make -C tcl${ver}/macosx install-embedded INSTALL_ROOT=`pwd`/embedded/ + sudo make -C tk${ver}/macosx install-embedded INSTALL_ROOT=`pwd`/embedded/ Notes: * if you've already built standard TclTkAqua, building embedded does not require any new compiling or linking, so you can skip the first two makes. @@ -203,5 +209,27 @@ Another way is to set the build folder location directly in tcl/macosx/Tcl.pbproj and tk/macosx/Wish/pbproj using ProjectBuilder's "Project->Show Info" on the topmost icon in the filelist. Switch to "Place build products in a separate location" with a setting of "$SRCROOT/../../build" -(this gets stored in Tcl.pbproj/$USER.pbxuser & Wish.pbproj/$USER.pbxuser). +(this gets stored in Tcl.pbproj/${USER}.pbxuser & Wish.pbproj/${USER}.pbxuser). + +- It is possible to build Tk without a common build folder with Tcl, or even +without the tcl sourcetree itself; but in that case you need to tell the Tk +Makefile where the copies of 'Tcl.framework' and 'tclsh8.4' are located that +you want to build & link against (their default location is the ${BUILD_DIR}). + +For instance to use their default systemwide install locations: + make -C tk${ver}/macosx \ + TCL_FRAMEWORK_DIR=/Library/Frameworks TCLSH_DIR=/usr/bin + sudo make -C tk${ver}/macosx install \ + TCL_FRAMEWORK_DIR=/Library/Frameworks TCLSH_DIR=/usr/bin +[ of course this will only work if /Library/Frameworks does indeed contain a ] +[ Tcl.framework corresponding in version to the Tk.framework you're trying to ] +[ build, and if TCLSH_DIR contains a corresponding /usr/bin/tclsh8.4 ] + +or to use an earlier install of Tcl into INSTALL_ROOT="${TCLTK}/" : + make -C tk${ver}/macosx \ + TCL_FRAMEWORK_DIR=${TCLTK}/Library/Frameworks TCLSH_DIR=${TCLTK}/usr/bin + sudo make -C tk${ver}/macosx install INSTALL_ROOT="${TCLTK}/" \ + TCL_FRAMEWORK_DIR=${TCLTK}/Library/Frameworks TCLSH_DIR=${TCLTK}/usr/bin + +The Makefile variables TCL_FRAMEWORK_DIR and TCLSH_DIR were added in Tk 8.4.3. diff --git a/macosx/Wish.pbproj/project.pbxproj b/macosx/Wish.pbproj/project.pbxproj index 290434d..eaec7aa 100644 --- a/macosx/Wish.pbproj/project.pbxproj +++ b/macosx/Wish.pbproj/project.pbxproj @@ -1532,21 +1532,23 @@ DYLIB_COMPATIBILITY_VERSION = 8.4; DYLIB_CURRENT_VERSION = 8.4; DYLIB_INSTALL_PATH = /Library/Frameworks; - FRAMEWORK_SEARCH_PATHS = "\"$(SYMROOT)\""; + FRAMEWORK_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)\""; FRAMEWORK_VERSION = 8.4; - GLOBAL_CFLAGS = "`source \"${SYMROOT}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(SYMROOT)/Tcl.framework/Headers\" \"$(SYMROOT)/Tcl.framework/PrivateHeaders\" ../bitmaps ../generic ../xlib"; + GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; + HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" ../bitmaps ../generic ../xlib"; INSTALL_PATH = "${DYLIB_INSTALL_PATH}"; LIBRARY_SEARCH_PATHS = ""; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = "-DMAC_OSX_TK -DTCL_WIDE_INT_TYPE=\"long long\""; OTHER_LDFLAGS = "-seg1addr 0xb000000"; OTHER_LIBTOOL_FLAGS = ""; - OTHER_REZFLAGS = "-i \"$(SYMROOT)/Tcl.framework/Headers\" -i \"../generic\""; + OTHER_REZFLAGS = "-i \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" -i \"../generic\""; PRECOMPILE_PREFIX_HEADER = YES; PRINCIPAL_CLASS = ""; PRODUCT_NAME = Tk; SECTORDER_FLAGS = ""; + TCLSH_DIR = "$(TCL_FRAMEWORK_DIR)"; + TCL_FRAMEWORK_DIR = "$(SYMROOT)"; TK_MAJOR_VERSION = 8; TK_MINOR_VERSION = 4; TK_PATCH_LEVEL = .1; @@ -2900,18 +2902,19 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright F5877FBD031FAC6A016F146B, ); buildSettings = { - FRAMEWORK_SEARCH_PATHS = "\"$(SYMROOT)\""; + FRAMEWORK_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)\" \"$(SYMROOT)\""; FRAMEWORK_VERSION = 8.4; - GLOBAL_CFLAGS = "`source \"${SYMROOT}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(SYMROOT)/Tcl.framework/Headers\" \"$(SYMROOT)/Tcl.framework/PrivateHeaders\" ../generic ../xlib"; + GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; + HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" ../generic ../xlib"; INSTALL_PATH = /Applications/Utilities; LIBRARY_SEARCH_PATHS = ""; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = "-DMAC_OSX_TK -DTCL_WIDE_INT_TYPE=\"long long\""; OTHER_LDFLAGS = "-sectcreate __TEXT __info_plist \"$TEMP_DIR/Info.plist\" -headerpad_max_install_names"; - OTHER_REZFLAGS = "-i \"$(SYMROOT)/Tcl.framework/Headers\" -i \"../generic\""; + OTHER_REZFLAGS = "-i \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" -i \"../generic\""; PRODUCT_NAME = "Wish Shell"; SECTORDER_FLAGS = ""; + TCL_FRAMEWORK_DIR = "$(SYMROOT)"; USE_GCC3_PFE_SUPPORT = NO; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; WRAPPER_EXTENSION = app; @@ -3105,8 +3108,8 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright F59D847903390D7E016F146B, ); buildSettings = { - GLOBAL_CFLAGS = "`source \"${SYMROOT}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; - HEADER_SEARCH_PATHS = "\"$(SYMROOT)/Tcl.framework/Headers\" \"$(SYMROOT)/Tcl.framework/PrivateHeaders\" ../generic ../xlib"; + GLOBAL_CFLAGS = "`source \"${TCL_FRAMEWORK_DIR}/Tcl.framework/Resources/tclConfig.sh\"; echo $${}{TCL_EXTRA_CFLAGS} $${}{TCL_DEFS} | sed -e 's|\\\\\\\\\\\\\\\"|\\\"|g' | sed -e 's| -DTCL_WIDE_INT_TYPE=long. long||'` -U_REENTRANT"; + HEADER_SEARCH_PATHS = "\"$(TCL_FRAMEWORK_DIR)/Tcl.framework/Headers\" \"$(TCL_FRAMEWORK_DIR)/Tcl.framework/PrivateHeaders\" ../generic ../xlib"; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O0"; OTHER_CFLAGS = "-DMAC_OSX_TK -DTCL_WIDE_INT_TYPE=\"long long\""; @@ -3115,6 +3118,7 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright PRODUCT_NAME = libtkstub8.4.a; REZ_EXECUTABLE = YES; SECTORDER_FLAGS = ""; + TCL_FRAMEWORK_DIR = "$(SYMROOT)"; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; }; dependencies = ( @@ -3244,7 +3248,7 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright ); runOnlyForDeploymentPostprocessing = 1; shellPath = /bin/sh; - shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nif [ ! -d Library/Frameworks/Tcl.framework ]; then ln -fs ${SYMROOT}/Tcl.framework Library/Frameworks; RM_TCL=1; fi\nredo_prebinding -r . \"./${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/${PRODUCT_NAME}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f Library/Frameworks/Tcl.framework; fi\n\n# fix permissions on uninstalled products\nchmod a+w \"${TEMP_ROOT}/UninstalledProducts\"\nchmod a+w \"${TEMP_ROOT}\"/UninstalledProducts/libtkstub*.a"; + shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nif [ ! -d Library/Frameworks/Tcl.framework ]; then ln -fs ${TCL_FRAMEWORK_DIR}/Tcl.framework Library/Frameworks; RM_TCL=1; fi\nredo_prebinding -r . \"./${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Versions/${FRAMEWORK_VERSION}/${PRODUCT_NAME}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f Library/Frameworks/Tcl.framework; fi\n\n# fix permissions on uninstalled products\nchmod a+w \"${TEMP_ROOT}/UninstalledProducts\"\nchmod a+w \"${TEMP_ROOT}\"/UninstalledProducts/libtkstub*.a"; }; F5877FBD031FAC6A016F146B = { buildActionMask = 8; @@ -3257,7 +3261,7 @@ MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright ); runOnlyForDeploymentPostprocessing = 1; shellPath = /bin/sh; - shellScript = "# redo prebinding\ncd \"${INSTALL_ROOT}\"\nEXECUTABLE_DIR=\"./${INSTALL_PATH}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOS\"\nif [ -n \"${EMBEDDED_BUILD:-}\" ]; then\n ln -fs \"${EXECUTABLE_DIR}\" @executable_path\nelse\n if [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\n if [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\n if [ ! -d Library/Frameworks/Tcl.framework ]; then ln -fs ${SYMROOT}/Tcl.framework Library/Frameworks; RM_TCL=1; fi\n PREBIND_OPTS=\"-r .\"\nfi\nredo_prebinding ${PREBIND_OPTS:-} \"${EXECUTABLE_DIR}/${PRODUCT_NAME}\"\nif [ -n \"${EMBEDDED_BUILD:-}\" ]; then\n rm -f @executable_path\nelse\n if [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr 2>&-; fi\n if [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\n if [ -n \"${RM_TCL:-}\" ]; then rm -f Library/Frameworks/Tcl.framework; fi\nfi\n\n# install wish script & symbolic links\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nmkdir -p \"${INSTALL_ROOT}/usr/bin\"\nrm -f \"${INSTALL_ROOT}/usr/bin/wish${FRAMEWORK_VERSION}\"\ncat > \"${INSTALL_ROOT}/usr/bin/wish${FRAMEWORK_VERSION}\" <&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nif [ -n \"${RM_TCL:-}\" ]; then rm -f Library/Frameworks/Tcl.framework; fi\n\n# install wish script & symbolic links\nif [ -z \"${EMBEDDED_BUILD:-}\" ]; then\nmkdir -p \"${INSTALL_ROOT}/usr/bin\"\nrm -f \"${INSTALL_ROOT}/usr/bin/wish${FRAMEWORK_VERSION}\"\ncat > \"${INSTALL_ROOT}/usr/bin/wish${FRAMEWORK_VERSION}\" <display_name = macScreenName; display->qlen = 0; display->fd = fd; + display->proto_major_version = 10; + Gestalt(gestaltQuickdrawVersion, (long*)&display->proto_minor_version); + display->proto_minor_version -= gestaltMacOSXQD; + display->vendor = "Apple"; + Gestalt(gestaltSystemVersion, (long*)&display->release); screen->root = ROOT_ID; screen->display = display; @@ -648,9 +653,9 @@ TkGetServerInfo( char buffer[8 + TCL_INTEGER_SPACE * 2]; char buffer2[TCL_INTEGER_SPACE]; - sprintf(buffer, "X%dR%d ", ProtocolVersion(Tk_Display(tkwin)), + sprintf(buffer, "QD%dR%x ", ProtocolVersion(Tk_Display(tkwin)), ProtocolRevision(Tk_Display(tkwin))); - sprintf(buffer2, " %d", VendorRelease(Tk_Display(tkwin))); + sprintf(buffer2, " %x", VendorRelease(Tk_Display(tkwin))); Tcl_AppendResult(interp, buffer, ServerVendor(Tk_Display(tkwin)), buffer2, (char *) NULL); } -- cgit v0.12