aboutsummaryrefslogtreecommitdiff
path: root/lang/itcl
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2006-05-17 20:35:55 +0000
committerMikhail Teterin <mi@FreeBSD.org>2006-05-17 20:35:55 +0000
commitddb5a7b884735b58415ebdc7736d2bbbb70aa0c7 (patch)
treeb4025948ba0158a02bf41683dc1c945669897f4f /lang/itcl
parent3b866d3c349efaa7b818dccb50371f64bf9a2bed (diff)
downloadports-ddb5a7b884735b58415ebdc7736d2bbbb70aa0c7.tar.gz
ports-ddb5a7b884735b58415ebdc7736d2bbbb70aa0c7.zip
Update the itcl/itk from 3.2 to 3.3 (released in April 2005). The
installed libraries are now named libitcl.so.3 & libitk.so.3 instead of having the version be part of the libname (libitcl33.so.1). The itclConfig.sh and itkConfig.sh are now also installed, which is required by some software (such as the insight -- a gdb frontend). Fix-up the (unchanged) iwidgets port to reflect the above and improve it to not require its own copy of the itcl tree at install time. Approved by: maintainer Fix-up the tkdesk port to reflect the itcl/itk changes, which required updating it to the 2.0p2 (from 2.0). (This lovely piece of software badly needs a caring maintainer, BTW.) While here, teach tkdesk to use installed blt instead of building its own. The only iwidget/itk/itcl consumer that remains broken is net/smm++ (a MUD client). This should change as soon as the maintainer get back to me.
Notes
Notes: svn path=/head/; revision=162683
Diffstat (limited to 'lang/itcl')
-rw-r--r--lang/itcl/Makefile32
-rw-r--r--lang/itcl/distinfo6
-rw-r--r--lang/itcl/files/Makefile.lib20
-rw-r--r--lang/itcl/files/patch+generic+itcl_class.c11
-rw-r--r--lang/itcl/files/patch-generic+itcl.h107
-rw-r--r--lang/itcl/files/patch-generic+itclInt.h101
-rw-r--r--lang/itcl/files/patch-generic+itcl_cmds.c222
-rw-r--r--lang/itcl/files/patch-tests+ensemble.test32
-rw-r--r--lang/itcl/pkg-plist7
9 files changed, 28 insertions, 510 deletions
diff --git a/lang/itcl/Makefile b/lang/itcl/Makefile
index 14701e24b128..79d6f7882229 100644
--- a/lang/itcl/Makefile
+++ b/lang/itcl/Makefile
@@ -6,60 +6,48 @@
#
PORTNAME= itcl
-PORTVERSION= ${MAJOR}.${MINOR}.1
-PORTREVISION= 1
+PORTVERSION= 3.3
CATEGORIES= lang tcl84
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=incrtcl
DISTNAME= itcl${PORTVERSION}
-EXTRACT_SUFX= _src.tgz
MAINTAINER= ports@FreeBSD.org
COMMENT= [incr Tcl] (A.K.A. "itcl")
LIB_DEPENDS= tcl84:${PORTSDIR}/lang/tcl84
-WRKSRC= ${WRKDIR}/${DISTNAME}/itcl
INSTALLS_SHLIB= yes
PKGINSTALL= ${PORTSDIR}/lang/tcl84/pkg-install.tclsh
PKGDEINSTALL= ${PORTSDIR}/lang/tcl84/pkg-deinstall.tclsh
MAKE_ENV+= ${PLIST_SUB} \
SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR}
-EXTRACT_AFTER_ARGS=| ${TAR} -xf - itcl${PORTVERSION}/itcl
-
.if defined(MAKE_JOBS)
MAKE_ARGS+= -j${MAKE_JOBS}
.endif
-SHLIB_MAJOR= 1
-SHLIB_MINOR= 1
-MAJOR= 3
-MINOR= 2
+SHLIB_MAJOR= ${MAJOR}
+SHLIB_MINOR= ${MINOR}
+MAJOR= ${PORTVERSION:R}
+MINOR= ${PORTVERSION:E}
PLIST_SUB+= MAJOR=${MAJOR} MINOR=${MINOR}
-ITCL_LIB= libitcl${MAJOR}${MINOR}.so
+ITCL_LIB= libitcl.so
MAKEFILE= ${FILESDIR}/Makefile.lib
MANCOMPRESSED= no
MANN= body.n class.n code.n configbody.n delete.n ensemble.n find.n
-MANN+= itcl.n itcl_class.n itcl_info.n itclvars.n local.n scope.n
+MANN+= is.n itcl.n itclvars.n local.n scope.n
+MAN3= RegisterC.3 Stack.3
ITCL_LIB_FILE= ${ITCL_LIB}.${SHLIB_MAJOR}
-post-patch:
- ${REINPLACE_CMD} \
- -e 's,package require Itcl,load [glob \
- ${WRKSRC}/${ITCL_LIB}.${SHLIB_MAJOR}*],;' \
- ${WRKSRC}/tests/*.test
-
post-build test:
cd ${WRKSRC} && ${SETENV} ITCL_LIBRARY=${WRKSRC}/library \
- ${PREFIX}/bin/tclsh8.4 tests/all.tcl
+ ${PREFIX}/bin/tclsh8.4 tests/all.tcl -load "load ./${ITCL_LIB}"
post-install:
${INSTALL_DATA} ${WRKSRC}/doc/*.n ${PREFIX}/man/mann/
-.if exists(${PKGINSTALL})
- ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
-.endif
+ ${INSTALL_DATA} ${WRKSRC}/doc/*.3 ${PREFIX}/man/man3/
.include <bsd.port.mk>
diff --git a/lang/itcl/distinfo b/lang/itcl/distinfo
index c1d45cf798af..20829a0a16ec 100644
--- a/lang/itcl/distinfo
+++ b/lang/itcl/distinfo
@@ -1,3 +1,3 @@
-MD5 (itcl3.2.1_src.tgz) = 44dcc2129232329cacd6c8abebf38403
-SHA256 (itcl3.2.1_src.tgz) = 9a225564fc94beef4cc0e627a368d9d2b4425c58b93d5a787c9836d6cceed2ad
-SIZE (itcl3.2.1_src.tgz) = 427026
+MD5 (itcl3.3.tar.gz) = d958b3d1c52fa5336b5aacc1251b5ce3
+SHA256 (itcl3.3.tar.gz) = 7829b5ea39d0ed0eea43a071cd39e7477343d59e1d2ea9c810fa53e257fcb55c
+SIZE (itcl3.3.tar.gz) = 306364
diff --git a/lang/itcl/files/Makefile.lib b/lang/itcl/files/Makefile.lib
index 83e2f77022ba..5b5b52ebb8b2 100644
--- a/lang/itcl/files/Makefile.lib
+++ b/lang/itcl/files/Makefile.lib
@@ -1,5 +1,5 @@
NOPROFILE= yes
-LIB= itcl${MAJOR}${MINOR}
+LIB= itcl
ITCL_LIBRARY= ${PREFIX}/lib/itcl${MAJOR}.${MINOR}
CFLAGS+= -I. -I./../generic \
-I${PREFIX}/include/tcl8.4/generic \
@@ -17,13 +17,15 @@ LDADD+= -L${PREFIX}/lib -ltcl84
SRCS= itcl_bicmds.c itcl_class.c itcl_cmds.c itcl_ensemble.c \
itcl_linkage.c itcl_methods.c itcl_migrate.c itcl_objects.c \
- itcl_obsolete.c itcl_parse.c itcl_util.c \
- itclStubInit.c itclStubLib.c
+ itcl_parse.c itcl_util.c itclStubInit.c itclStubLib.c
-pkgIndex.tcl: ${.CURDIR}/pkgIndex.tcl.in
- sed -e "s#@RELPATH@#..#" -e "s#@VERSION@#${MAJOR}.${MINOR}#" \
- -e "s#@itcl_LIB_FILE@#${SHLIB_NAME}#" \
- < ${.CURDIR}/pkgIndex.tcl.in > pkgIndex.tcl
+pkgIndex.tcl: pkgIndex.tcl.in
+ sed -e 's#"@PKG_LIB_FILE@"#.. ${SHLIB_NAME}#' -e "s#@PACKAGE_VERSION@#${MAJOR}.${MINOR}#" \
+ < $> > $@
+
+itclConfig.sh: itclConfig.sh.in
+ sed -e 's#@itcl_LIB_FILE@#${SHLIB_NAME}#g' \
+ -e 's#@itcl_LIB_SPEC@#-L${LIBDIR} -litcl#' < $> > $@
SCRIPTDIR= lib/itcl${MAJOR}.${MINOR}
SCRIPTPATH= ${PREFIX}/${SCRIPTDIR}
@@ -33,8 +35,8 @@ INCDIR= ${PREFIX}/include/itcl${MAJOR}.${MINOR}
${SCRIPTPATH} ${INCDIR}:
mkdir -p ${.TARGET}
-beforeinstall: pkgIndex.tcl ${SCRIPTPATH} ${INCDIR}
- ${BSD_INSTALL_DATA} pkgIndex.tcl ${.CURDIR}/library/itcl.tcl \
+beforeinstall: pkgIndex.tcl itclConfig.sh ${SCRIPTPATH} ${INCDIR}
+ ${BSD_INSTALL_DATA} pkgIndex.tcl itclConfig.sh ${.CURDIR}/library/itcl.tcl \
${SCRIPTPATH}
${BSD_INSTALL_DATA} ${.CURDIR}/generic/*.h ${INCDIR}
diff --git a/lang/itcl/files/patch+generic+itcl_class.c b/lang/itcl/files/patch+generic+itcl_class.c
deleted file mode 100644
index 4aca04af2cf5..000000000000
--- a/lang/itcl/files/patch+generic+itcl_class.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- generic/itcl_class.c.orig Mon May 21 20:35:38 2001
-+++ generic/itcl_class.c Sun Dec 25 15:28:16 2005
-@@ -732,7 +732,7 @@
- /* flags */ 0);
-
- if ( !classNs && contextNs->parentPtr != NULL &&
-- (*path != ':' || *(path+1) != ':') ) {
-+ (strncmp(path, "::", 2) != 0) ) {
-
- if (strcmp(contextNs->name, path) == 0) {
- classNs = contextNs;
diff --git a/lang/itcl/files/patch-generic+itcl.h b/lang/itcl/files/patch-generic+itcl.h
deleted file mode 100644
index 27c74b36f278..000000000000
--- a/lang/itcl/files/patch-generic+itcl.h
+++ /dev/null
@@ -1,107 +0,0 @@
-===================================================================
-RCS file: /cvsroot/incrtcl/incrTcl/itcl/generic/itcl.h,v
-retrieving revision 1.15
-retrieving revision 1.19
-diff -u -r1.15 -r1.19
---- generic/itcl.h 2001/05/25 00:12:29 1.15
-+++ generic/itcl.h 2002/01/16 22:29:41 1.19
-@@ -40,9 +40,9 @@
- * http://www.tcltk.com/itcl
- *
- * modified for Stubs 5/20/1999 by
-- * David Gravereaux <davygrvy@bigfoot.com>
-+ * David Gravereaux <davygrvy@pobox.com>
- *
-- * RCS: $Id: itcl.h,v 1.15 2001/05/25 00:12:29 davygrvy Exp $
-+ * RCS: $Id: itcl.h,v 1.19 2002/01/16 22:29:41 andreas_kupries Exp $
- * ========================================================================
- * Copyright (c) 1993-1998 Lucent Technologies, Inc.
- * ------------------------------------------------------------------------
-@@ -54,17 +54,6 @@
-
- #include "tcl.h"
-
--#undef TCL_STORAGE_CLASS
--#ifdef BUILD_itcl
--# define TCL_STORAGE_CLASS DLLEXPORT
--#else
--# ifdef USE_ITCL_STUBS
--# define TCL_STORAGE_CLASS
--# else
--# define TCL_STORAGE_CLASS DLLIMPORT
--# endif
--#endif
--
- #define ITCL_VERSION "3.2"
- #define ITCL_PATCH_LEVEL "3.2.1"
- #define ITCL_MAJOR_VERSION 3
-@@ -80,6 +69,58 @@
-
- #ifndef RC_INVOKED
-
-+#undef TCL_STORAGE_CLASS
-+#ifdef BUILD_itcl
-+# define TCL_STORAGE_CLASS DLLEXPORT
-+#else
-+# ifdef USE_ITCL_STUBS
-+# define TCL_STORAGE_CLASS
-+# else
-+# define TCL_STORAGE_CLASS DLLIMPORT
-+# endif
-+#endif
-+
-+/*
-+ * Fix the Borland bug that's in the EXTERN macro from tcl.h.
-+ */
-+#ifndef TCL_EXTERN
-+# undef DLLIMPORT
-+# undef DLLEXPORT
-+# if defined(STATIC_BUILD)
-+# define DLLIMPORT
-+# define DLLEXPORT
-+# elif (defined(__WIN32__) && (defined(_MSC_VER) || (__BORLANDC__ >= 0x0550) || (defined(__GNUC__) && defined(__declspec)))) \
-+ || (defined(MAC_TCL) && FUNCTION_DECLSPEC)
-+# define DLLIMPORT __declspec(dllimport)
-+# define DLLEXPORT __declspec(dllexport)
-+# elif defined(__BORLANDC__)
-+# define OLDBORLAND 1
-+# define DLLIMPORT __import
-+# define DLLEXPORT __export
-+# else
-+# define DLLIMPORT
-+# define DLLEXPORT
-+# endif
-+
-+ /*
-+ * Make sure name mangling won't happen when the c++ language extensions
-+ * are used.
-+ */
-+# ifdef __cplusplus
-+# define TCL_CPP "C"
-+# else
-+# define TCL_CPP
-+# endif
-+ /*
-+ * Borland requires the attributes be placed after the return type.
-+ */
-+# ifdef OLDBORLAND
-+# define TCL_EXTERN(rtnType) extern TCL_CPP rtnType TCL_STORAGE_CLASS
-+# else
-+# define TCL_EXTERN(rtnType) extern TCL_CPP TCL_STORAGE_CLASS rtnType
-+# endif
-+#endif
-+
- /*
- * Protection levels:
- *
-@@ -152,9 +193,7 @@
-
- #ifdef USE_ITCL_STUBS
-
--#ifdef __cplusplus
--extern "C"
--#endif
-+extern TCL_CPP
- CONST char * Itcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
- char *version, int exact));
- #else
diff --git a/lang/itcl/files/patch-generic+itclInt.h b/lang/itcl/files/patch-generic+itclInt.h
deleted file mode 100644
index 2d468fc6990f..000000000000
--- a/lang/itcl/files/patch-generic+itclInt.h
+++ /dev/null
@@ -1,101 +0,0 @@
-===================================================================
-RCS file: /cvsroot/incrtcl/incrTcl/itcl/generic/itclInt.h,v
-retrieving revision 1.7
-retrieving revision 1.11
-diff -u -r1.7 -r1.11
---- generic/itclInt.h 2001/04/07 07:20:53 1.7
-+++ generic/itclInt.h 2003/12/23 06:58:27 1.11
-@@ -39,7 +39,7 @@
- * mmclennan@lucent.com
- * http://www.tcltk.com/itcl
- *
-- * RCS: $Id: itclInt.h,v 1.7 2001/04/07 07:20:53 davygrvy Exp $
-+ * RCS: $Id: itclInt.h,v 1.11 2003/12/23 06:58:27 davygrvy Exp $
- * ========================================================================
- * Copyright (c) 1993-1998 Lucent Technologies, Inc.
- * ------------------------------------------------------------------------
-@@ -49,14 +49,64 @@
- #ifndef ITCLINT_H
- #define ITCLINT_H
-
--#include "itcl.h"
- #include "tclInt.h"
-+#include "itcl.h"
-
- #ifdef BUILD_itcl
- # undef TCL_STORAGE_CLASS
- # define TCL_STORAGE_CLASS DLLEXPORT
- #endif
-
-+/*
-+ * Fix Tcl bug #803489 the right way. We need to always use the old Stub
-+ * slot positions, not the new broken ones. I do like that these functions
-+ * have moved to the public space, but the slot change is the killer and is
-+ * the painful side affect.
-+ */
-+
-+#if defined(USE_TCL_STUBS) && \
-+ (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION >= 5)
-+# undef Tcl_CreateNamespace
-+# define Tcl_CreateNamespace \
-+ (tclIntStubsPtr->tcl_CreateNamespace)
-+# undef Tcl_DeleteNamespace
-+# define Tcl_DeleteNamespace \
-+ (tclIntStubsPtr->tcl_DeleteNamespace)
-+# undef Tcl_AppendExportList
-+# define Tcl_AppendExportList \
-+ (tclIntStubsPtr->tcl_AppendExportList)
-+# undef Tcl_Export
-+# define Tcl_Export \
-+ (tclIntStubsPtr->tcl_Export)
-+# undef Tcl_Import
-+# define Tcl_Import \
-+ (tclIntStubsPtr->tcl_Import)
-+# undef Tcl_ForgetImport
-+# define Tcl_ForgetImport \
-+ (tclIntStubsPtr->tcl_ForgetImport)
-+# undef Tcl_GetCurrentNamespace
-+# define Tcl_GetCurrentNamespace \
-+ (tclIntStubsPtr->tcl_GetCurrentNamespace)
-+# undef Tcl_GetGlobalNamespace
-+# define Tcl_GetGlobalNamespace \
-+ (tclIntStubsPtr->tcl_GetGlobalNamespace)
-+# undef Tcl_FindNamespace
-+# define Tcl_FindNamespace \
-+ (tclIntStubsPtr->tcl_FindNamespace)
-+# undef Tcl_FindCommand
-+# define Tcl_FindCommand \
-+ (tclIntStubsPtr->tcl_FindCommand)
-+# undef Tcl_GetCommandFromObj
-+# define Tcl_GetCommandFromObj \
-+ (tclIntStubsPtr->tcl_GetCommandFromObj)
-+# undef Tcl_GetCommandFullName
-+# define Tcl_GetCommandFullName \
-+ (tclIntStubsPtr->tcl_GetCommandFullName)
-+#endif
-+
-+#define TCL_DOES_STUBS \
-+ (TCL_MAJOR_VERSION > 8 || TCL_MAJOR_VERSION == 8 && (TCL_MINOR_VERSION > 1 || \
-+ (TCL_MINOR_VERSION == 1 && TCL_RELEASE_LEVEL == TCL_FINAL_RELEASE)))
-
- /*
- * Common info for managing all known objects.
-@@ -255,15 +305,11 @@
- */
-
- #undef assert
--#ifdef NDEBUG
-+#ifndef DEBUG
- #define assert(EX) ((void)0)
- #else
--#if defined(__STDC__)
--#define assert(EX) (void)((EX) || (Itcl_Assert(#EX, __FILE__, __LINE__), 0))
--#else
--#define assert(EX) (void)((EX) || (Itcl_Assert("EX", __FILE__, __LINE__), 0))
--#endif /* __STDC__ */
--#endif /* NDEBUG */
-+#define assert(EX) (void)((EX) || (Itcl_Assert(STRINGIFY(EX), __FILE__, __LINE__), 0))
-+#endif /* DEBUG */
-
- #undef TCL_STORAGE_CLASS
- #define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/lang/itcl/files/patch-generic+itcl_cmds.c b/lang/itcl/files/patch-generic+itcl_cmds.c
deleted file mode 100644
index d6c48a9b32dd..000000000000
--- a/lang/itcl/files/patch-generic+itcl_cmds.c
+++ /dev/null
@@ -1,222 +0,0 @@
-===================================================================
-RCS file: /cvsroot/incrtcl/incrTcl/itcl/generic/itcl_cmds.c,v
-retrieving revision 1.13
-retrieving revision 1.15
-diff -u -r1.13 -r1.15
---- generic/itcl_cmds.c 2001/05/22 01:50:21 1.13
-+++ generic/itcl_cmds.c 2002/01/10 11:43:37 1.15
-@@ -21,7 +21,7 @@
- * mmclennan@lucent.com
- * http://www.tcltk.com/itcl
- *
-- * RCS: $Id: itcl_cmds.c,v 1.13 2001/05/22 01:50:21 davygrvy Exp $
-+ * RCS: $Id: itcl_cmds.c,v 1.15 2002/01/10 11:43:37 davygrvy Exp $
- * ========================================================================
- * Copyright (c) 1993-1998 Lucent Technologies, Inc.
- * ------------------------------------------------------------------------
-@@ -469,7 +469,7 @@
- int forceFullNames = 0;
-
- char *pattern;
-- CONST char *name;
-+ CONST char *cmdName;
- int newEntry, handledActiveNs;
- Tcl_HashTable unique;
- Tcl_HashEntry *entry;
-@@ -477,7 +477,7 @@
- Itcl_Stack search;
- Tcl_Command cmd, originalCmd;
- Namespace *nsPtr;
-- Tcl_Obj *listPtr, *objPtr;
-+ Tcl_Obj *objPtr;
-
- if (objc > 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "?pattern?");
-@@ -485,7 +485,7 @@
- }
-
- if (objc == 2) {
-- pattern = Tcl_GetStringFromObj(objv[1], (int*)NULL);
-+ pattern = Tcl_GetString(objv[1]);
- forceFullNames = (strstr(pattern, "::") != NULL);
- } else {
- pattern = NULL;
-@@ -497,7 +497,6 @@
- * in this interpreter. If we find any commands that
- * represent classes, report them.
- */
-- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL);
-
- Itcl_InitStack(&search);
- Itcl_PushStack((ClientData)globalNs, &search);
-@@ -532,10 +531,10 @@
-
- objPtr = Tcl_NewStringObj((char*)NULL, 0);
- Tcl_GetCommandFullName(interp, cmd, objPtr);
-- name = Tcl_GetStringFromObj(objPtr, (int*)NULL);
-+ cmdName = Tcl_GetString(objPtr);
- } else {
-- name = Tcl_GetCommandName(interp, cmd);
-- objPtr = Tcl_NewStringObj(name, -1);
-+ cmdName = Tcl_GetCommandName(interp, cmd);
-+ objPtr = Tcl_NewStringObj(cmdName, -1);
- }
-
- if (originalCmd) {
-@@ -543,9 +542,10 @@
- }
- Tcl_CreateHashEntry(&unique, (char*)cmd, &newEntry);
-
-- if (newEntry && (!pattern || Tcl_StringMatch(name, pattern))) {
-+ if (newEntry &&
-+ (!pattern || Tcl_StringMatch(cmdName, pattern))) {
- Tcl_ListObjAppendElement((Tcl_Interp*)NULL,
-- listPtr, objPtr);
-+ Tcl_GetObjResult(interp), objPtr);
- }
- }
- entry = Tcl_NextHashEntry(&place);
-@@ -565,7 +565,6 @@
- Tcl_DeleteHashTable(&unique);
- Itcl_DeleteStack(&search);
-
-- Tcl_SetObjResult(interp, listPtr);
- return TCL_OK;
- }
-
-@@ -598,8 +597,8 @@
- ItclClass *classDefn = NULL;
- ItclClass *isaDefn = NULL;
-
-- char *name, *token;
-- CONST char *cmdName;
-+ char *name = NULL, *token = NULL;
-+ CONST char *cmdName = NULL;
- int pos, newEntry, match, handledActiveNs;
- ItclObject *contextObj;
- Tcl_HashTable unique;
-@@ -609,7 +608,7 @@
- Tcl_Command cmd, originalCmd;
- Namespace *nsPtr;
- Command *cmdPtr;
-- Tcl_Obj *listPtr, *objPtr;
-+ Tcl_Obj *objPtr;
-
- /*
- * Parse arguments:
-@@ -617,7 +616,7 @@
- */
- pos = 0;
- while (++pos < objc) {
-- token = Tcl_GetStringFromObj(objv[pos], (int*)NULL);
-+ token = Tcl_GetString(objv[pos]);
- if (*token != '-') {
- if (!pattern) {
- pattern = token;
-@@ -627,7 +626,7 @@
- }
- }
- else if ((pos+1 < objc) && (strcmp(token,"-class") == 0)) {
-- name = Tcl_GetStringFromObj(objv[pos+1], (int*)NULL);
-+ name = Tcl_GetString(objv[pos+1]);
- classDefn = Itcl_FindClass(interp, name, /* autoload */ 1);
- if (classDefn == NULL) {
- return TCL_ERROR;
-@@ -635,7 +634,7 @@
- pos++;
- }
- else if ((pos+1 < objc) && (strcmp(token,"-isa") == 0)) {
-- name = Tcl_GetStringFromObj(objv[pos+1], (int*)NULL);
-+ name = Tcl_GetString(objv[pos+1]);
- isaDefn = Itcl_FindClass(interp, name, /* autoload */ 1);
- if (isaDefn == NULL) {
- return TCL_ERROR;
-@@ -669,7 +668,6 @@
- * in this interpreter. If we find any commands that
- * represent objects, report them.
- */
-- listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL);
-
- Itcl_InitStack(&search);
- Itcl_PushStack((ClientData)globalNs, &search);
-@@ -709,7 +707,7 @@
-
- objPtr = Tcl_NewStringObj((char*)NULL, 0);
- Tcl_GetCommandFullName(interp, cmd, objPtr);
-- name = Tcl_GetStringFromObj(objPtr, (int*)NULL);
-+ cmdName = Tcl_GetString(objPtr);
- } else {
- cmdName = Tcl_GetCommandName(interp, cmd);
- objPtr = Tcl_NewStringObj(cmdName, -1);
-@@ -718,7 +716,8 @@
- Tcl_CreateHashEntry(&unique, (char*)cmd, &newEntry);
-
- match = 0;
-- if (newEntry && (!pattern || Tcl_StringMatch(name, pattern))) {
-+ if (newEntry &&
-+ (!pattern || Tcl_StringMatch(cmdName, pattern))) {
- if (!classDefn || (contextObj->classDefn == classDefn)) {
- if (!isaDefn) {
- match = 1;
-@@ -736,10 +735,9 @@
-
- if (match) {
- Tcl_ListObjAppendElement((Tcl_Interp*)NULL,
-- listPtr, objPtr);
-+ Tcl_GetObjResult(interp), objPtr);
- } else {
-- Tcl_IncrRefCount(objPtr); /* throw away the name */
-- Tcl_DecrRefCount(objPtr);
-+ Tcl_DecrRefCount(objPtr); /* throw away the name */
- }
- }
- entry = Tcl_NextHashEntry(&place);
-@@ -759,7 +757,6 @@
- Tcl_DeleteHashTable(&unique);
- Itcl_DeleteStack(&search);
-
-- Tcl_SetObjResult(interp, listPtr);
- return TCL_OK;
- }
-
-@@ -821,9 +818,8 @@
- }
- else if (result != TCL_OK) {
- char mesg[256], *name;
-- name = Tcl_GetStringFromObj(objv[0], (int*)NULL);
-- sprintf(mesg, "\n (%.100s body line %d)",
-- name, interp->errorLine);
-+ name = Tcl_GetString(objv[0]);
-+ sprintf(mesg, "\n (%.100s body line %d)", name, interp->errorLine);
- Tcl_AddErrorInfo(interp, mesg);
- }
-
-@@ -865,7 +861,7 @@
- * then delete them.
- */
- for (i=1; i < objc; i++) {
-- name = Tcl_GetStringFromObj(objv[i], (int*)NULL);
-+ name = Tcl_GetString(objv[i]);
- cdefn = Itcl_FindClass(interp, name, /* autoload */ 1);
- if (cdefn == NULL) {
- return TCL_ERROR;
-@@ -873,7 +869,7 @@
- }
-
- for (i=1; i < objc; i++) {
-- name = Tcl_GetStringFromObj(objv[i], (int*)NULL);
-+ name = Tcl_GetString(objv[i]);
- cdefn = Itcl_FindClass(interp, name, /* autoload */ 0);
-
- if (cdefn) {
---- generic/itcl_cmds.c.orig Sun Dec 25 15:16:04 2005
-+++ generic/itcl_cmds.c Sun Dec 25 15:28:16 2005
-@@ -996,7 +996,7 @@
- * then return it as is.
- */
- token = Tcl_GetStringFromObj(objv[1], (int*)NULL);
-- if (*token == ':' && *(token+1) == ':') {
-+ if (strncmp(token, "::", 2) == 0) {
- Tcl_SetObjResult(interp, objv[1]);
- return TCL_OK;
- }
diff --git a/lang/itcl/files/patch-tests+ensemble.test b/lang/itcl/files/patch-tests+ensemble.test
deleted file mode 100644
index 7470860d29bc..000000000000
--- a/lang/itcl/files/patch-tests+ensemble.test
+++ /dev/null
@@ -1,32 +0,0 @@
-===================================================================
-RCS file: /cvsroot/incrtcl/incrTcl/itcl/tests/ensemble.test,v
-retrieving revision 1.3
-retrieving revision 1.4
-diff -u -r1.3 -r1.4
---- tests/ensemble.test 2000/06/01 20:34:35 1.3
-+++ tests/ensemble.test 2001/11/05 19:42:11 1.4
-@@ -6,7 +6,7 @@
- # mmclennan@lucent.com
- # http://www.tcltk.com/itcl
- #
--# RCS: $Id: ensemble.test,v 1.3 2000/06/01 20:34:35 wart Exp $
-+# RCS: $Id: ensemble.test,v 1.4 2001/11/05 19:42:11 hobbs Exp $
- # ----------------------------------------------------------------------
- # Copyright (c) 1993-1998 Lucent Technologies, Inc.
- # ======================================================================
-@@ -45,8 +45,13 @@
- } {{one: 1} {two: 2 3} {three: 3 4 5}}
-
- test ensemble-1.5 {invoking parts with improper arguments} {
-- list [catch "test_numbers three x" msg] $msg
--} {1 {no value given for parameter "y" to "test_numbers three"}}
-+ set res [catch "test_numbers three x" msg]
-+ if {[package vsatisfies [package provide Tcl] 8.4]} {
-+ lappend res [string match "wrong # args*" $msg]
-+ } else {
-+ lappend res [string match "no value given*" $msg]
-+ }
-+} {1 1}
-
- test ensemble-1.6 {errors trigger a usage summary} {
- list [catch "test_numbers foo x y" msg] $msg
diff --git a/lang/itcl/pkg-plist b/lang/itcl/pkg-plist
index a72fd5a272bf..5f4151f9f6a8 100644
--- a/lang/itcl/pkg-plist
+++ b/lang/itcl/pkg-plist
@@ -2,10 +2,11 @@ include/itcl%%MAJOR%%.%%MINOR%%/itcl.h
include/itcl%%MAJOR%%.%%MINOR%%/itclInt.h
include/itcl%%MAJOR%%.%%MINOR%%/itclDecls.h
include/itcl%%MAJOR%%.%%MINOR%%/itclIntDecls.h
-lib/libitcl%%MAJOR%%%%MINOR%%.so.1
-lib/libitcl%%MAJOR%%%%MINOR%%.so
-lib/libitcl%%MAJOR%%%%MINOR%%.a
+lib/libitcl.so.%%MAJOR%%.%%MINOR%%
+lib/libitcl.so
+lib/libitcl.a
lib/itcl%%MAJOR%%.%%MINOR%%/itcl.tcl
+lib/itcl%%MAJOR%%.%%MINOR%%/itclConfig.sh
lib/itcl%%MAJOR%%.%%MINOR%%/pkgIndex.tcl
@dirrm include/itcl%%MAJOR%%.%%MINOR%%
@dirrm lib/itcl%%MAJOR%%.%%MINOR%%