diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 172da3db1e0..21848849ba5 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -2652,9 +2652,7 @@ widget-radio-add-item (setq child (if chosen (widget-create-child-value widget type value) - (widget-create-child widget type))) - (unless chosen - (widget-apply child :deactivate))) + (widget-create-child widget type)))) (t (error "Unknown escape `%c'" escape))))) ;; Update properties. @@ -2706,12 +2704,8 @@ widget-radio-value-set (match (and (not found) (widget-apply current :match value)))) (widget-value-set button match) - (if match - (progn - (widget-value-set current value) - (widget-apply current :activate)) - (widget-apply current :deactivate)) - (setq found (or found match)))))) + (when match (widget-value-set current value)) + (setq found (or found match)))))) (defun widget-radio-validate (widget) ;; Valid if we have made a valid choice. @@ -2733,11 +2727,9 @@ widget-radio-action (dolist (current (widget-get widget :children)) (let* ((button (widget-get current :button))) (cond ((eq child button) - (widget-value-set button t) - (widget-apply current :activate)) + (widget-value-set button t)) ((widget-value button) - (widget-value-set button nil) - (widget-apply current :deactivate))))))) + (widget-value-set button nil))))))) ;; Pass notification to parent. (widget-apply widget :notify child event))