GNU bug report logs -
#75171
30.0.50; Checklist widget inside a group does not initialize correctly
Previous Next
Reported by: Al Haji-Ali <abdo.haji.ali <at> gmail.com>
Date: Sun, 29 Dec 2024 08:41:02 UTC
Severity: normal
Tags: notabug
Found in version 30.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
The following function creates four widgets (two radio button lists and two checklists) inside a group. All lists have an initial value, while the group has a nil value. Strangely, the radio buttons get initialized correctly (selecting the correct button based on their value), but the checkboxes do not (all boxes are unchecked regardless of the value). Removing the group results in correct initialization.
--8<---------------cut here---------------start------------->8---
(defun widget-test ()
(let ((items '((item :format "%[One%] " :value 1)
(item :format "%[Two%] " :value 2)
(item :format "%[Three%] " :value 3))))
(widget-create
'group
(append '(radio-button-choice
:inline t
:format "Inline radio:\n%v\n"
:value 2)
items)
(append '(radio-button-choice
:format "Not inline radio:\n%v\n"
:value 2)
items)
(append '(checklist
:inline t
:format "Inline checks:\n%v\n"
:value (1 2))
items)
(append '(checklist
:format "Not inline checks:\n%v\n"
:value (1 2))
items)))
(widget-setup))
--8<---------------cut here---------------end--------------->8---
If this is unintended behaviour, I managed to fix the inline version of the checklists with this advice
--8<---------------cut here---------------start------------->8---
(advice-add 'widget-checklist-match-inline
:around
(lambda (old-fn wid val)
(when val
(funcall old-fn wid val))))
--8<---------------cut here---------------end--------------->8---
The non-inline version probably requires a fix in `widget-checklist-match`, but I can't make out the logic in this function (it seems to return non-nil when not matching?!).
If it is intended behaviour, how can I correctly set the value of a checklist? and why is there a discrepancy between radio buttons and check lists?
-- Al
This bug report was last modified 121 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.