From 15dd1944c90dfe80aaf981a1075e7a6b707abc52 Mon Sep 17 00:00:00 2001 From: dkf Date: Mon, 17 May 2010 09:46:07 +0000 Subject: * generic/tclCmdIL.c (TclInfoFrame): Change this code to use Tcl_GetCommandFullName rather than rolling its own. Discovered during the hunting of [Bug 3001438] but unlikely to be a fix. --- ChangeLog | 85 ++++++++++++++++++++++++++++++------------------------ generic/tclCmdIL.c | 15 ++++------ 2 files changed, 53 insertions(+), 47 deletions(-) diff --git a/ChangeLog b/ChangeLog index d219afd..4499fed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,20 @@ +2010-05-17 Donal K. Fellows + + * generic/tclCmdIL.c (TclInfoFrame): Change this code to use + Tcl_GetCommandFullName rather than rolling its own. Discovered during + the hunting of [Bug 3001438] but unlikely to be a fix. + 2010-05-11 Jan Nijtmans - * win/tclWinConsole.c Unnecessary type casts, See Tcl [Patch #2997087] - * win/tclWinDde.c - * win/tclWinLoad.c - * win/tclWinNotify.c - * win/tclWinSerial.c - * win/tclWinSock.c - * win/tclWinTime.c - * win/tclWinPort.h Don't duplicate CYGWIN timezone #define from tclPort.h + * win/tclWinConsole.c: [Patch 2997087]: Unnecessary type casts. + * win/tclWinDde.c: + * win/tclWinLoad.c: + * win/tclWinNotify.c: + * win/tclWinSerial.c: + * win/tclWinSock.c: + * win/tclWinTime.c: + * win/tclWinPort.h: Don't duplicate CYGWIN timezone #define from + tclPort.h 2010-05-07 Andreas Kupries @@ -22,36 +29,38 @@ 2010-05-04 Jan Nijtmans - * win/tclWinNotify.c TCHAR-related fixes, making those two - * win/tclWinSock.c files compile fine when TCHAR != char - Please see comments in [Freq 2965056] (2965056-1.patch). + * win/tclWinNotify.c: TCHAR-related fixes, making those two files + * win/tclWinSock.c: compile fine when TCHAR != char. Please see + comments in [FRQ 2965056] (2965056-1.patch). 2010-05-03 Jan Nijtmans - * generic/tclIORChan.c Use "tclIO.h" and "tclTomMathDecls.h" - * generic/tclIORTrans.c everywhere - * generic/tclTomMath.h - * tools/fix_tommath_h.tcl - * libtommath/tommath.h Formatting (# should always be first char on line) - * win/tclAppInit.c For MINGW/CYGWIN, use GetCommandLineA explicitely - * unix/.cvsignore Add pkg, *.dll - - * libtommath/tommath.h CONSTify various useful internal functions - * libtommath/bn_mp_cmp_d.c (TclBignumToDouble, TclCeil, TclFloor), and - * libtommath/bn_mp_cmp_mag.c related tommath functions. - * libtommath/bn_mp_cmp.c - * libtommath/bn_mp_copy.c - * libtommath/bn_mp_count_bits.c - * libtommath/bn_mp_div_2d.c - * libtommath/bn_mp_mod_2d.c - * libtommath/bn_mp_mul_2d.c - * libtommath/bn_mp_neg.c - * generic/tclBasic.c Handle TODO: const correctness ? - * generic/tclInt.h - * generic/tclStrToD.c - * generic/tclTomMath.decls - * generic/tclTomMath.h - * generic/tclTomMathDecls.h + * generic/tclIORChan.c: Use "tclIO.h" and "tclTomMathDecls.h" + * generic/tclIORTrans.c: everywhere + * generic/tclTomMath.h: + * tools/fix_tommath_h.tcl: + * libtommath/tommath.h: Formatting (# should always be first char on + line) + * win/tclAppInit.c: For MINGW/CYGWIN, use GetCommandLineA + explicitly. + * unix/.cvsignore: Add pkg, *.dll + + * libtommath/tommath.h: CONSTify various useful internal + * libtommath/bn_mp_cmp_d.c: functions (TclBignumToDouble, TclCeil, + * libtommath/bn_mp_cmp_mag.c: TclFloor), and related tommath functions + * libtommath/bn_mp_cmp.c: + * libtommath/bn_mp_copy.c: + * libtommath/bn_mp_count_bits.c: + * libtommath/bn_mp_div_2d.c: + * libtommath/bn_mp_mod_2d.c: + * libtommath/bn_mp_mul_2d.c: + * libtommath/bn_mp_neg.c: + * generic/tclBasic.c: Handle TODO: const correctness ? + * generic/tclInt.h: + * generic/tclStrToD.c: + * generic/tclTomMath.decls: + * generic/tclTomMath.h: + * generic/tclTomMathDecls.h: 2010-04-30 Don Porter @@ -69,9 +78,9 @@ int which any value already vetted for overflow issues will fit into. * generic/tclStringObj.c: Update caller; standardize panic msg. - * generic/tclBinary.c (UpdateStringOfByteArray): Add panic - when the generated string representation would grow beyond Tcl's - size limits. [Bug 2994924] + * generic/tclBinary.c (UpdateStringOfByteArray): [Bug 2994924]: Add + panic when the generated string representation would grow beyond Tcl's + size limits. 2010-04-30 Donal K. Fellows diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c index bdc6d2e..3d4bcb2 100644 --- a/generic/tclCmdIL.c +++ b/generic/tclCmdIL.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdIL.c,v 1.181 2010/04/05 19:44:45 ferrieux Exp $ + * RCS: @(#) $Id: tclCmdIL.c,v 1.182 2010/05/17 09:46:09 dkf Exp $ */ #include "tclInt.h" @@ -1371,19 +1371,16 @@ TclInfoFrame( Tcl_HashEntry *namePtr = procPtr->cmdPtr->hPtr; if (namePtr) { - char *procName = Tcl_GetHashKey(namePtr->tablePtr, namePtr); - char *nsName = procPtr->cmdPtr->nsPtr->fullName; + Tcl_Obj *procNameObj; /* * This is a regular command. */ - ADD_PAIR("proc", Tcl_NewStringObj(nsName, -1)); - - if (strcmp(nsName, "::") != 0) { - Tcl_AppendToObj(lv[lc-1], "::", -1); - } - Tcl_AppendToObj(lv[lc-1], procName, -1); + TclNewObj(procNameObj); + Tcl_GetCommandFullName(interp, (Tcl_Command) procPtr->cmdPtr, + procNameObj); + ADD_PAIR("proc", procNameObj); } else if (procPtr->cmdPtr->clientData) { ExtraFrameInfo *efiPtr = procPtr->cmdPtr->clientData; int i; -- cgit v0.12