Fixing issue #845: inconsistent behavior in chained --set when one of them fails
#873
+86
−33
--set when one of them fails
#873