GNU bug report logs - #5358
23.1; Adding comment loses customizations in progress

Previous Next

Package: emacs;

Reported by: David Abrahams <dave <at> boostpro.com>

Date: Mon, 11 Jan 2010 19:42:01 UTC

Severity: normal

Tags: confirmed, fixed

Found in version 25.0.95

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Mauro Aranda <maurooaranda <at> gmail.com>
To: 5358 <at> debbugs.gnu.org
Cc: dave <at> boostpro.com, Glenn Morris <rgm <at> gnu.org>, ahyatt <at> gmail.com
Subject: Re: bug#5358: 23.1; Adding comment loses customizations in progress
Date: Fri, 6 Sep 2019 11:47:57 -0300
[Message part 1 (text/plain, inline)]
The possibility to preserve the customizations in progress is already
present in the customize machinery, but for some reason it wasn't used
in this case.

I propose a patch that makes use of the :shown-value property of the
custom-variable and custom-face widgets, thus allowing to preserve the
customizations in progress when redrawing a widget.

Since after redrawing customize recomputes the state of the widget, it
is necessary to check if the widget was modified.  That isn't
possible with `custom-variable-state' or `custom-face-state',
because they are pretty "widget unaware".  So I added a check in
`custom-variable-state-set' and `custom-face-state-set' to catch this
situation.

Finally, to be able to use the value of the widget in
`custom-face-state-set', it is necessary to rearrange the final part of
`custom-face-value-create'.  Namely, add the children to the :children
property, before calling `custom-face-state-set'.

Best regards,
Mauro.
[Message part 2 (text/html, inline)]
[0001-Don-t-discard-customizations-in-progress-when-adding.patch (text/x-patch, attachment)]

This bug report was last modified 5 years and 239 days ago.

Previous Next


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