diff --git a/src/zc/buildout/buildout.py b/src/zc/buildout/buildout.py index c967249309e8a115ed2bb48e830f8f589a759d25..008048c057e3b4a41da4dbd2115deadfc9099dab 100644 --- a/src/zc/buildout/buildout.py +++ b/src/zc/buildout/buildout.py @@ -2241,7 +2241,10 @@ def _update(d1, d2): if section in d1: _update_section(d1[section], d2[section]) else: - d1[section] = d2[section] + # In order to process += (and -=) correctly when + # <key> = <value> and <key> += <value> are in the same section + # _update_section must be called even when section is not in d1 + d1[section] = _update_section({}, d2[section]) return d1 def _recipe(options):