[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: :extend t inheritance
From: |
Eli Zaretskii |
Subject: |
Re: :extend t inheritance |
Date: |
Sat, 26 Oct 2019 22:45:36 +0300 |
> Date: Sat, 26 Oct 2019 19:21:40 +0000 (UTC)
> From: Ergus <address@hidden>
> Cc: address@hidden, address@hidden
>
> Before `merge_named_face` filtered the call to `merge_face_vectors` if the
> filter parameter (lets say :extend
> in our case) was `nil` or `undefined`. That was how the attr_filter worked.
>
> But in this case it is actually wrong when the face was inherited and the
> attribute was `undefined` because
> maybe the `parent` face define the filter parameter to `non-nil`.
>
> So now `merge_named_face` calls `merge_face_vectors` if the parameter is
> undefined too, and
> `merge_face_vectors` internally conditions if the merge is needed. The
> problem is that the merge with the
> parent faces was always made writing the TO vector (in place) as it was not
> conditional, but we don't know in
> advance if the parent (or the grand-parents) define the filter attribute to
> non-nil
>
> So what I did in the `undefined` case was to make a copy of the TO vector
> (tmp) and merge_ref there instead
> of for TO, after the merge I check if the attribute is set, and if so, then I
> copy it into TO and continue with the
> merge.
I understood all that, but the changes include more than what you
described (and your original message even said that you fixed a couple
of other bugs as well). Those other things is what I was asking
about. Just do
git diff ...origin/fix/inherit_extend_face
in the master branch, and you will see those other changes right away.
For example, I see 2 comments deleted, and something about
stretch_ascent(?). What is this stuff, and what does it solve?
Thanks.
- :extend t inheritance, Ingo Lohmar, 2019/10/23
- Re: :extend t inheritance, Eli Zaretskii, 2019/10/24
- Re: :extend t inheritance, Kévin Le Gouguec, 2019/10/24
- Re: :extend t inheritance, Ergus, 2019/10/24
- Re: :extend t inheritance, Ergus, 2019/10/25
- Re: :extend t inheritance, Eli Zaretskii, 2019/10/26
- Re: :extend t inheritance, Ergus, 2019/10/26
- Re: :extend t inheritance,
Eli Zaretskii <=
- Re: :extend t inheritance, Ergus, 2019/10/26
- Re: :extend t inheritance, Eli Zaretskii, 2019/10/27
- Re: :extend t inheritance, Ergus, 2019/10/27
- Re: :extend t inheritance, Eli Zaretskii, 2019/10/29
- Re: :extend t inheritance, Ergus, 2019/10/28
- Re: :extend t inheritance, Eli Zaretskii, 2019/10/28
- Re: :extend t inheritance, Ingo Lohmar, 2019/10/26
- Re: :extend t inheritance, Ergus, 2019/10/26
- Re: :extend t inheritance, Ingo Lohmar, 2019/10/26