[Jewett, Jim J]
At the C level,
is just a shortcut for
override=1 PyDict_Merge(old, new, override)
It is today, but that's a relatively new internal ability; IIRC, Guido added it to help with the implementation of new-style classes.
C extensions can use PyDict_Merge directly with override=0, which keeps the current value in case of duplicate keys.
Python code can only use update, which means that override is always true.
Is there a good reason this?
Dunno -- define "good" <0.5 wink>.