diff options
author | Steve Bennett <steveb@workware.net.au> | 2025-07-07 15:43:47 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2025-07-16 09:34:08 +1000 |
commit | 6eded62de5941902deb5e276e88a579677abf929 (patch) | |
tree | 51f0edaa9b42121880f730e172a333757ec4f26a | |
parent | dc7ef5c159119a1f31c7835b4d9c7f44f3eb33a0 (diff) | |
download | jimtcl-6eded62de5941902deb5e276e88a579677abf929.zip jimtcl-6eded62de5941902deb5e276e88a579677abf929.tar.gz jimtcl-6eded62de5941902deb5e276e88a579677abf929.tar.bz2 |
configure --compat should enable expr with multiple args
Not disable it.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r-- | jim.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -14110,20 +14110,20 @@ static int Jim_UplevelCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const * /* [expr] */ static int Jim_ExprCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { - int retcode; - - if (argc == 2) { - retcode = Jim_EvalExpression(interp, argv[1]); - } - else { +#ifdef JIM_COMPAT + if (argc > 2) { + int retcode; Jim_Obj *objPtr; objPtr = Jim_ConcatObj(interp, argc - 1, argv + 1); Jim_IncrRefCount(objPtr); retcode = Jim_EvalExpression(interp, objPtr); Jim_DecrRefCount(interp, objPtr); + + return retcode; } - return retcode; +#endif + return Jim_EvalExpression(interp, argv[1]); } static int JimBreakContinueHelper(Jim_Interp *interp, int argc, Jim_Obj *const *argv, int retcode) @@ -16696,7 +16696,7 @@ static const struct jim_core_cmd_def_t { {"eval", Jim_EvalCoreCommand, 1, -1, "arg ?arg ...?" }, {"exists", Jim_ExistsCoreCommand, 1, 2, "?-command|-proc|-alias|-channel|-var? name" }, {"exit", Jim_ExitCoreCommand, 0, 1, "?exitCode?" }, -#ifndef JIM_COMPAT +#ifdef JIM_COMPAT {"expr", Jim_ExprCoreCommand, 1, -1, "expression ?...?" }, #else {"expr", Jim_ExprCoreCommand, 1, 1, "expression" }, |