diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2002-04-18 13:49:30 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2002-04-18 13:49:30 (GMT) |
commit | 85e2515f134ae9dee84eaab360465cc92116796f (patch) | |
tree | 63c60de2e22e0b8f825bd1291f28c908e299356f | |
parent | 1b9f7ed6c59cd402cd53aee313010d341a5420be (diff) | |
download | tcl-85e2515f134ae9dee84eaab360465cc92116796f.zip tcl-85e2515f134ae9dee84eaab360465cc92116796f.tar.gz tcl-85e2515f134ae9dee84eaab360465cc92116796f.tar.bz2 |
Partial resolution of Bug #536831; the comment is a bit clearer!
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | generic/tclCmdMZ.c | 12 |
2 files changed, 18 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2002-04-18 Donal K. Fellows <fellowsd@cs.man.ac.uk> + + * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for + comment on behaviour when substitutions are not well-formed, + prompted by [Bug #536831]; alas, removing the ill-defined + behaviour is a lot of work. + 2002-04-18 Miguel Sofer <msofer@users.sourceforge.net> * generic/tclExecute.c: @@ -296,7 +303,7 @@ 2002-03-21 Donal K. Fellows <fellowsd@cs.man.ac.uk> - * doc/expr.n: Improved documentation for ceil and floor [Bug 350535] + * doc/expr.n: Improved documentation for ceil and floor [Bug 530535] 2002-03-20 Don Porter <dgp@users.sourceforge.net> diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 63da4d3..0f39ecb 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCmdMZ.c,v 1.66 2002/04/05 19:26:35 dgp Exp $ + * RCS: @(#) $Id: tclCmdMZ.c,v 1.67 2002/04/18 13:49:30 dkf Exp $ */ #include "tclInt.h" @@ -2445,7 +2445,15 @@ Tcl_SubstObjCmd(dummy, interp, objc, objv) * implementation by Andrew Payne. Note that if a command * substitution returns TCL_CONTINUE or TCL_RETURN from its * evaluation and is not completely well-formed, the results are - * not defined. + * not defined (or at least hard to characterise.) This fault + * will be fixed at some point, but the cost of the only sane + * fix (well-formedness check first) is such that you need to + * "precompile and cache" to stop everyone from being hit with + * the consequences every time through. Note that the current + * behaviour is not a security hole; it just restarts parsing + * the string following the substitution in a mildly surprising + * place, and it is a very bad idea to count on this remaining + * the same in future... * * Results: * A Tcl_Obj* containing the substituted string, or NULL to |