[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#76181: 30.0.93; defcustom is not ordering-agnostic
From: |
Mauro Aranda |
Subject: |
bug#76181: 30.0.93; defcustom is not ordering-agnostic |
Date: |
Mon, 10 Feb 2025 13:19:14 -0300 |
User-agent: |
Mozilla Thunderbird |
Robert Pluim <rpluim@gmail.com> writes:
> (this is a reduced test case after I noticed
> `org-table-duration-custom-format' behaving funny.)
>
> emacs -Q -nw
> ;; evaluate the following defcustoms
>
> (defcustom this-is-broken 'one
> "user option one"
> :type '(choice
> (symbol :tag "two" two)
> (symbol :tag "one" one)))
>
> (defcustom this-is-ok 'one
> "user option two"
> :type '(choice
> (symbol :tag "one" one)
> (symbol :tag "two" two)))
>
> M-x customize-variable RET this-is-broken RET
>
> ;; The display is wrong, itʼs showing the "two" tag, but the correct
> ;; value:
For the 'choice type, manual says:
If some values are covered by more than one of the alternatives,
customize will choose the first alternative that the value fits.
This means you should always list the most specific types first,
and the most general last.
So this works as expected, a symbol matches a symbol widget, no matter
what the default value for that symbol widget is.
Alternative is to use const.