auto_duplicate() protects file-backed data sets by always duplicating before a mutation, and asks Create-new-vs-Overwrite for derived ones. At least three actions skip this and mutate self.current directly:
channel_properties()
rename_channels()
find_events()
So renaming a channel or running Find Events right after loading a file silently mutates the root data set that's supposed to represent that file untouched. I suggest running these (and any other actions with similar behavior) through auto_duplicate() like every other processing action.
auto_duplicate()protects file-backed data sets by always duplicating before a mutation, and asks Create-new-vs-Overwrite for derived ones. At least three actions skip this and mutateself.currentdirectly:channel_properties()rename_channels()find_events()So renaming a channel or running Find Events right after loading a file silently mutates the root data set that's supposed to represent that file untouched. I suggest running these (and any other actions with similar behavior) through
auto_duplicate()like every other processing action.