Ok, I think the problem is that the original code try to extract the value of the choosen widget before it has been instantiated in the buffer. When a widget is instantiated, lots of stuff (mostly regarding quoting) can happen which can change its intrinsic value.
The reason the the choosen value has to be remembered, is that the widget can also have its value set programmatically (with widget-value-set), not just from the user pressing the [value menu] button. But if the user first change the widget with the [value menu] button, and then something else set the value with (with widget-value-set), the :explicit-choice property will still be there, overwriting the match based choise. I don't remember if Customize call widget-value-set, maybe it does when you do some kind of reset. If so, your patch should break Customize when you first do an explicit choise, then a reset. If not, it will break other widget applications. However, if this is the only reason for :explicit-choice-value, it seems it would be much cleaner to simply erase the :explicit-choice attribute after use. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel