all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Interaction between load-theme and custom-theme-set-faces is broken
@ 2012-07-23  7:30 Nikolai Weibull
  2012-07-25 17:32 ` Nikolai Weibull
  0 siblings, 1 reply; 3+ messages in thread
From: Nikolai Weibull @ 2012-07-23  7:30 UTC (permalink / raw)
  To: Emacs Developers

Hi!

It seems that the interaction between load-theme and
custom-theme-set-faces is broken.  Previously, before a commit on
2011-03-21 that changed how custom--inhibit-theme-enable was used,
custom-theme-set-faces would do quite a bit of work (setting
properties) that other code depends upon (unless
custom--inhibit-theme-enable was t, of course).  For example, it would
set 'saved-face, which face-spec-recalc checks for to determine how it
should recalculate the specification of a face.  As this code is no
longer executed (ever, it seems, as custom--inhibit-theme-enable is
never logically non-t while it’s being executed), this is now broken,
which means that faces set through themes will always be a combination
of the face-default-spec of the face and the spec of the theme.

The same goes for custom-theme-set-variables, but isn’t as visually apparent.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Interaction between load-theme and custom-theme-set-faces is broken
  2012-07-23  7:30 Interaction between load-theme and custom-theme-set-faces is broken Nikolai Weibull
@ 2012-07-25 17:32 ` Nikolai Weibull
  2012-08-01 11:44   ` Nikolai Weibull
  0 siblings, 1 reply; 3+ messages in thread
From: Nikolai Weibull @ 2012-07-25 17:32 UTC (permalink / raw)
  To: Emacs Developers

On Mon, Jul 23, 2012 at 9:30 AM, Nikolai Weibull <now@bitwi.se> wrote:

> It seems that the interaction between load-theme and
> custom-theme-set-faces is broken.  Previously, before a commit on
> 2011-03-21 that changed how custom--inhibit-theme-enable was used,
> custom-theme-set-faces would do quite a bit of work (setting
> properties) that other code depends upon (unless
> custom--inhibit-theme-enable was t, of course).  For example, it would
> set 'saved-face, which face-spec-recalc checks for to determine how it
> should recalculate the specification of a face.  As this code is no
> longer executed (ever, it seems, as custom--inhibit-theme-enable is
> never logically non-t while it’s being executed), this is now broken,
> which means that faces set through themes will always be a combination
> of the face-default-spec of the face and the spec of the theme.
>
> The same goes for custom-theme-set-variables, but isn’t as visually apparent.

Have I somehow misunderstood how custom-theme-set-faces may be used?
I see no calls to it that don’t have custom--inhibit-theme-enable set
to t, so my analysis above seems correct.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Interaction between load-theme and custom-theme-set-faces is broken
  2012-07-25 17:32 ` Nikolai Weibull
@ 2012-08-01 11:44   ` Nikolai Weibull
  0 siblings, 0 replies; 3+ messages in thread
From: Nikolai Weibull @ 2012-08-01 11:44 UTC (permalink / raw)
  To: Emacs Developers

On Wed, Jul 25, 2012 at 7:32 PM, Nikolai Weibull <now@bitwi.se> wrote:
> On Mon, Jul 23, 2012 at 9:30 AM, Nikolai Weibull <now@bitwi.se> wrote:

>> It seems that the interaction between load-theme and
>> custom-theme-set-faces is broken.  Previously, before a commit on
>> 2011-03-21 that changed how custom--inhibit-theme-enable was used,
>> custom-theme-set-faces would do quite a bit of work (setting
>> properties) that other code depends upon (unless
>> custom--inhibit-theme-enable was t, of course).  For example, it would
>> set 'saved-face, which face-spec-recalc checks for to determine how it
>> should recalculate the specification of a face.  As this code is no
>> longer executed (ever, it seems, as custom--inhibit-theme-enable is
>> never logically non-t while it’s being executed), this is now broken,
>> which means that faces set through themes will always be a combination
>> of the face-default-spec of the face and the spec of the theme.
>>
>> The same goes for custom-theme-set-variables, but isn’t as visually apparent.

> Have I somehow misunderstood how custom-theme-set-faces may be used?
> I see no calls to it that don’t have custom--inhibit-theme-enable set
> to t, so my analysis above seems correct.

Could someone please acknowledge that something is wrong here?

Or, if this is expected behavior, explain why?



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-01 11:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-23  7:30 Interaction between load-theme and custom-theme-set-faces is broken Nikolai Weibull
2012-07-25 17:32 ` Nikolai Weibull
2012-08-01 11:44   ` Nikolai Weibull

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.