The exception was raised during unwrap_from_path() call.
* tiramisu/config.py (_filter_by_attrs): do not catch exception arround
getattr().
(_find): continue to next option if unwrap_from_path() raise
PropertiesOptionError.
Fixes: #4728 @5m
* tiramisu/option.py (Multi.append): append the default value when the
slaves have no item or lesser than the master.
Divide looping over slaves by factor 2.
Fixes: #4799 @4h
There was a infinite recursion between option.Multi.append() and
config.Config._getattr() through config.Config.fill_multi() when
calculating the master:
- config.Config._getattr()
-> config.Config.fill_multi()
-> option.Multi.__init__()
-> option.Multi.append()
-> config.Config._getattr()
* tiramisu/option.py (Multi.append): do not pass by
config.Config._getattr().
* tiramisu/option.py (Multi.__init__): do not catch exception when
appending.
Ref: #4799 @8h
* tiramisu/option.py (Multi.__setitem__): Do not returns.
(Multi.append): Ditoo.
Remove useless "ret" variable.
(Multi._setvalue): Ditoo.
(Multi.pop): Do not set "ret" to None, raise if "ret" is not in "locals()"
(Multi._pop): Avoid useless "oldvalue" variable.
Variable defined in sub-scope ("for", "if") are not defined above.
* tiramisu/option.py (Multi.append): Define "ret" to None.
* tiramisu/option.py (Multi._setvalue): Ditoo.
* tiramisu/option.py (Multi.pop): Ditoo.