diff options
author | Steve Bennett <steveb@workware.net.au> | 2025-03-11 22:17:53 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2025-03-12 17:20:02 +1000 |
commit | e90d7c42d512c37c48d82272db069c76ad42a2c7 (patch) | |
tree | f901f16a9d4b9e1fc550714c67bdddf926673aa1 | |
parent | 2080ce323acd95b67218fc2c88e0d3fa8d28cc14 (diff) | |
download | jimtcl-e90d7c42d512c37c48d82272db069c76ad42a2c7.zip jimtcl-e90d7c42d512c37c48d82272db069c76ad42a2c7.tar.gz jimtcl-e90d7c42d512c37c48d82272db069c76ad42a2c7.tar.bz2 |
dict set/unset: ensure dicts modified via dict sugar are unshared
Fixes #338
-rw-r--r-- | jim.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -15530,7 +15530,7 @@ static int Jim_DictCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *arg } case OPT_SET: - return Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc - 4, argv[argc - 1], JIM_ERRMSG); + return Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc - 4, argv[argc - 1], JIM_ERRMSG | JIM_UNSHARED); case OPT_EXISTS:{ int rc = Jim_DictKeysVector(interp, argv[2], argv + 3, argc - 3, &objPtr, JIM_NONE); @@ -15542,7 +15542,7 @@ static int Jim_DictCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *arg } case OPT_UNSET: - if (Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc - 3, NULL, JIM_NONE) != JIM_OK) { + if (Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc - 3, NULL, JIM_UNSHARED) != JIM_OK) { return JIM_ERR; } return JIM_OK; |