On Mon, Jun 29, 2015 at 8:06 PM, Yann Ylavic <ylavic....@gmail.com> wrote:

> Maybe defining (naming) inherit_before tristate values would help:
>

Not really...

+    a->inherit_before = (over->inherit_before == INHERIT_ON
> +                         || (over->inherit_before == INHERIT_UNSET
> +                             && base->inherit_before == INHERIT_ON));
>      if (a->inherit_before) {
>

This logic was convoluted and therefore resulted in in the old default
behavior if the option wasn't explicitly set.  See the most recent trunk
commits for a more legible solution that follows the design pattern used
throughout other core modules.

Your logic above fails to preserve the unset state, and fails to when
consider base->inherit_before is explicitly off.  This is why it is
preferred not to invent new wheels when good wheels exist, particularly if
there will be a square side on the new wheel.

Bill

Reply via email to