GNU bug report logs - #77096
31.0.50; Theme names disappear in customize-themes

Previous Next

Package: emacs;

Reported by: Mauro Aranda <maurooaranda <at> gmail.com>

Date: Tue, 18 Mar 2025 09:54:05 UTC

Severity: normal

Found in version 31.0.50

Done: Mauro Aranda <maurooaranda <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: 77096 <at> debbugs.gnu.org
Subject: Re: bug#77096: 31.0.50; Theme names disappear in customize-themes
Date: Tue, 18 Mar 2025 07:06:18 -0300
[Message part 1 (text/plain, inline)]
This is a result of my changes in:

commit 85113fcda97970bc2468f409278e27d6570fc76f
Author: Mauro Aranda <maurooaranda <at> gmail.com>
Date:   Fri Jan 17 17:12:08 2025 -0300

    Prepare markers for insertions inside of a widget

    Recreating child widgets without recreating the parent widget
    may lead to situations where the parent widget doesn't cover its
    children or buttons entirely anymore.  This bug manifests as a
    faulty fontification of children or buttons, for example.
    (Bug#69941)

    * lisp/wid-edit.el (widget--prepare-markers-for-inside-insertion)
    (widget--prepare-markers-for-outside-insertion): New functions.
    (widget-default-create): Use them.

    * test/lisp/wid-edit-tests.el (widget-test-insertion-at-parent-markers)
    (widget-test-insertion-at-parent-markers-2): New tests.


But I don't think there's a bug in the wid-edit.el code, rather it's in
customize-themes.  The layout for a line with a theme is like this:
CHECKBOX BUTTON -- THEME-DESCRIPTION

BUTTON has the theme name as a label, and it disappears after toggling
the checkbox.  The code creates BUTTON as a child of CHECKBOX, so the
code is asking for BUTTON to be contained inside CHECKBOX.  It didn't
happen before because of Bug#69941, but I think that what happens now is
what should happen.  Now, when the checkbox gets recreated, it deletes
its child and never creates it back (the cus-theme.el code should be
responsible of telling it to create it back in that case).

But I don't think BUTTON should be a child of CHECKBOX.  In fact, the
usual thing to do with the Widget library is to make it a sibling.  So I
propose the attached patch.


[0001-Fix-widget-relationship-in-customize-themes.patch (text/x-patch, attachment)]

This bug report was last modified 105 days ago.

Previous Next


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