GNU bug report logs - #41145
27.0.91; small issues with `display-fill-column-indicator' Customization group

Previous Next

Package: emacs;

Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>

Date: Sat, 9 May 2020 08:31:01 UTC

Severity: normal

Found in version 27.0.91

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 41145 <at> debbugs.gnu.org (full text, mbox):

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 41145 <at> debbugs.gnu.org, Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41145: 27.0.91;
 small issues with `display-fill-column-indicator' Customization group
Date: Fri, 28 Aug 2020 11:48:57 -0300
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Philipp Stephani <p.stephani2 <at> gmail.com>
>> 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.
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 248 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.