diff options
Diffstat (limited to 'generic/tclCompCmds.c')
-rw-r--r-- | generic/tclCompCmds.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 5954394..464f7d2 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompCmds.c,v 1.96 2006/12/07 15:02:45 dkf Exp $ + * RCS: @(#) $Id: tclCompCmds.c,v 1.97 2006/12/07 23:35:29 dgp Exp $ */ #include "tclInt.h" @@ -4658,6 +4658,13 @@ CompileAssociativeBinaryOpCmd( PushLiteral(envPtr, identity, -1); return TCL_OK; } + if (parsePtr->numWords == 2) { + /* + * TODO: Fixup the single argument case to require + * numeric argument. Fallback on direct eval until fixed + */ + return TCL_ERROR; + } for (words=1 ; words<parsePtr->numWords ; words++) { tokenPtr = TokenAfter(tokenPtr); CompileWord(envPtr, tokenPtr, interp, words); @@ -4968,6 +4975,12 @@ TclCompileDivOpCmd( CompileWord(envPtr, tokenPtr, interp,1); TclEmitOpcode(INST_DIV, envPtr); return TCL_OK; + } else { + /* + * TODO: get compiled version that passes mathop-6.18 + * For now, fallback to direct evaluation. + */ + return TCL_ERROR; } tokenPtr = TokenAfter(parsePtr->tokenPtr); CompileWord(envPtr, tokenPtr, interp,1); |