* bug#75171: 30.0.50; Checklist widget inside a group does not initialize correctly
@ 2024-12-29 8:33 Al Haji-Ali
0 siblings, 0 replies; only message in thread
From: Al Haji-Ali @ 2024-12-29 8:33 UTC (permalink / raw)
To: 75171
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-12-29 8:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-29 8:33 bug#75171: 30.0.50; Checklist widget inside a group does not initialize correctly Al Haji-Ali
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.