2020-11-16
| ||
14:19 | • Closed ticket [d22ad20205]: "dict unset d key subkey" fails if key does not exist plus 5 other changes artifact: 69d5a81801 user: oehhar | |
14:19 | • Ticket [d22ad20205]: 4 changes artifact: 393f75ecb9 user: oehhar | |
2018-07-02
| ||
11:04 | • Ticket [d22ad20205]: 3 changes artifact: 110ef0dbb8 user: sebres | |
11:03 | • Ticket [d22ad20205]: 3 changes artifact: 823f434d5a user: sebres | |
10:24 | • New ticket [d22ad20205]. artifact: 87f9039ad3 user: oehhar | |
Ticket UUID: | d22ad202055093292992c6aea053188f8b3d4abe | |||
Title: | "dict unset d key subkey" fails if key does not exist | |||
Type: | Bug | Version: | >= 8.5 | |
Submitter: | oehhar | Created on: | 2018-07-02 10:24:28 | |
Subsystem: | 15. Dict Object | Assigned To: | nobody | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2020-11-16 14:19:43 | |
Resolution: | Fixed | Closed By: | oehhar | |
Closed on: | 2020-11-16 14:19:43 | |||
Description: |
If a dictionary key is unset, there is no error, if it does not exist: % set d {} % dict unset d a There is an error raised, if a key on the path of the subkey does not exist: % set d {} % dict unset d a b key "a" not known in dictionary IMHO this is inconsistent and should not rise an error. At least the documentation should write about error behaviour. I can understand, that an error is raised, if the (sub)dict is not a valid dict. % set d {1} % dict unset d a missing value to go with key % set d {a 1} % dict unset d a b missing value to go with key | |||
User Comments: |
oehhar added on 2020-11-16 14:19:30:
Tested again with tcl8.6.10. Is fixed. Thank you, Harald sebres added on 2018-07-02 11:03:13: Still worse (as regards the inconsistency), it does not produce any error if dictionary self (variable) does not exists:
So I'm agree with Harald's conclusion, the `dict unset` must not produce an error if sub-key does not exists also. |