summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclCompCmds.c')
-rw-r--r--generic/tclCompCmds.c15
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);