Tk Source Code

View Ticket
Login
Ticket UUID: 46c2f088a29443c07ed58ab6a4712a034905d122
Title: ttk::radiobutton -compound accepts empty string
Type: Bug Version: 8.6.11
Submitter: E-Paine Created on: 2021-10-20 15:58:07
Subsystem: 88. Themed Tk Assigned To: fvogel
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2021-11-06 14:21:33
Resolution: Invalid Closed By: fvogel
    Closed on: 2021-11-06 14:21:33
Description:
The -compound option for ttk::radiobutton accepts an empty string:
ttk::radiobutton .b -compound {}

This is not documented on the Man page and it is also not listed in the
​accepted ttk compound strings (generic/ttk/ttkInit.c lines 35 & 36) and
hence ​I believe it's a bug (it was introduced sometime between 8.6.10 and
​8.6.11).
User Comments: fvogel added on 2021-11-06 14:21:33:

OK, I have committed something lighter, see [31ab06373b]. Thanks for this discussion!


E-Paine added on 2021-11-06 14:02:38:
> How could this be better explained to become clearer, in your opinion?

I think this is just my fault, but if you would like to make it clearer
(for those of us who don't pay enough attention :), you could probably
move that sentence into the list. I can't remember how this is done
elsewhere in the man pages, but something like:

null (default)
    The rules described in the "Elements" section of ttk::intro(n)
    explain which value is actually used.

fvogel added on 2021-11-01 20:32:59:

I think you are referring to the list following "Valid values are:" for the -compound option in ttk_widget.n

If so, the text just before "Valid values are:" already says that the empty string is a valid value as well, see here. I'm open to suggestions. How could this be better explained to become clearer, in your opinion?


E-Paine added on 2021-10-23 09:44:53:
Yes. Apologies, I missed the changes made by [bc258ad6eae49a08] because the
empty string wasn't included in the list succeeding "Valid values are:".

fvogel added on 2021-10-22 06:21:18:

This is indeed a change that was introduced between 8.6.10 and 8.6.11.

The full story is here: [b82bd4872b], where a conscious decision was made to do this change in the 8.6 series.

Later, a follow-up bugfix was done to address [077d49828b].

The fix for [b82bd4872b] was included in 8.6.11. However, the fix for [077d49828b] was merged after the release of 8.6.11.

I think [bc258ad6eae49a08], which is the fix for [077d49828b], already addressed the concerns of the present ticket, do you agree?