Subject: Re: bug#41145: 27.0.91; small issues with `display-fill-column-indicator' Customization group

From: Eli Zaretskii <[email-masked]>
Date: Sat, 29 Aug 2020 09:54:13 +0300

> From: Mauro Aranda <[email-masked]>
> Date: Fri, 28 Aug 2020 11:48:57 -0300
> Cc: Philipp Stephani <[email-masked]>, [email-masked]
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> From: Philipp Stephani <[email-masked]>
> >> Date: Sat, 09 May 2020 10:30:13 +0200
> >>
> >> The two issues here are:
> >>
> >> 1. "Group definition missing."  It looks like customizing this group
> >>    should load `display-fill-column-indicator-mode', which defines this
> >>    group, or the group definition should be in cus-start.el.
> > The same seems to work for display-line-numbers, and I don't think I
> > see the crucial difference.
> 
> I did some debugging and found that the difference is that there are no
> custom options or faces defined in display-fill-column-indicator.el:
> fill-column-indicator is in faces.el and
> display-fill-column-indicator, display-fill-column-indicator-character
> and display-fill-column-indicator-column are in xdisp.c
> 
> custom-make-dependencies doesn't go through faces.el, since it's
> preloaded, so it doesn't record the custom-where property into
> fill-column-indicator.
> And since cus-dep.el doesn't require cus-start, fill-column-indicator is
> the only member of the custom-group property of
> display-fill-column-indicator, so there is no way
> custom-make-dependencies will record the custom-where property into any
> of the options defined in xdisp.c.
> 
> So later on, when looking for a custom-where property in the members of
> the display-fill-column-indicator group, we find nothing, resulting in
> no custom-loads thingy for display-fill-column-indicator.
> 
> The problem goes away if we require cus-start in cus-dep, or if we
> record into the custom-loads the file where to find the custom-group.
> That is, add in the first mapatoms call something like this:
> (when (get symbol 'custom-where)
>   (push (get symbol 'custom-where) found))
> 
> Or if eventually a defface or a defcustom makes its way into
> display-fill-column-indicator.el, of course.
> 
> Note that adding the above form will result in adding cus-edit to the
> custom-loads property of the groups defined in cus-edit (like editing,
> convenience, etc.).  I don't know if that is harmless.

Stefan, any suggestions regarding which solution route is preferable?

Thanks.