> Drew Adams <
drew.adams@oracle.com> writes:
>
> > 1. Use `M-x customize-option' for each of these:
> >
> > (defcustom foo 42
> > "Foo..."
> > :type '(restricted-sexp
> > :tag "Positive integer"
> > :match-alternatives ((lambda (x) (and (natnump x) (not (zerop x)))))
> > :value ignore))
> >
> > (defcustom bar 42
> > "Bar..."
> > :type '(choice (restricted-sexp
> > :tag "Positive integer"
> > :match-alternatives ((lambda (x) (and (natnump x) (not (zerop x)))))
> > :value ignore)))
> >
> > The `:tag' has no effect for `foo' - there is no label. I think that
> > according to the doc it should have the same effect as for `bar'.
>
> I can confirm that this behaviour is still present in Emacs 28. Mauro,
> if you have time, could you take a look at this?
Not much time until the weekend, I'm afraid.
Dropping the tag is intentional, in custom-variable-value-create:
(push (widget-create-child-and-convert
widget type
:format value-format
^^^^^^^^^^^^^^^^^^^
:value value)
children))
I suppose we could stop overriding the :format property, but for some
widgets overriding it might make sense. For example, for the choice
widget, deleting the :format value-format line would create the
following:
Foo: Choice: [Value Menu] The-Tag:
Which isn't good, IMO. Other customization types I can think of that we
should pay attention if we go with this change would be: repeat, set and
radio.