diff options
author | Steve Bennett <steveb@workware.net.au> | 2011-06-08 15:41:05 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2011-06-10 14:00:35 +1000 |
commit | fc7a0e0f5fdd427bdbdb2d0669ef3a0c46d292d4 (patch) | |
tree | ca5f23ad57ca22cd71da3fd562c415ac88106ff1 /jim.c | |
parent | 1a5c1c4fe78fdcfa7d5c2fe441dfdbd7c174d2bc (diff) | |
download | jimtcl-fc7a0e0f5fdd427bdbdb2d0669ef3a0c46d292d4.zip jimtcl-fc7a0e0f5fdd427bdbdb2d0669ef3a0c46d292d4.tar.gz jimtcl-fc7a0e0f5fdd427bdbdb2d0669ef3a0c46d292d4.tar.bz2 |
Allow [info complete] to determine the missing char
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r-- | jim.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -13611,15 +13611,19 @@ static int Jim_InfoCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *arg } case INFO_COMPLETE: - if (argc != 3) { - Jim_WrongNumArgs(interp, 2, argv, "script"); + if (argc != 3 && argc != 4) { + Jim_WrongNumArgs(interp, 2, argv, "script ?missing?"); return JIM_ERR; } else { int len; const char *s = Jim_GetString(argv[2], &len); + char missing = '\0'; - Jim_SetResultBool(interp, Jim_ScriptIsComplete(s, len, NULL)); + Jim_SetResultBool(interp, Jim_ScriptIsComplete(s, len, &missing)); + if (missing && argc == 4) { + Jim_SetVariable(interp, argv[3], Jim_NewStringObj(interp, &missing, 1)); + } } break; |