Run custom-magic-reset in the customize buffer
If the user has navigated away from the customize buffer, then clicking on a widget in the customize buffer applies changes in the selected buffer rather than in the customize buffer. Pass the customize buffer to 'custom-magic-reset' to avoid this. * lisp/cus-edit.el (custom-magic-reset): Add optional buffer argument, apply changes in that buffer. (custom-notify): Pass the buffer containing the widget to 'custom-magic-reset'. (Bug#40788)
This commit is contained in:
parent
3c9c3f04de
commit
4db3235fd8
1 changed files with 4 additions and 3 deletions
|
@ -2102,11 +2102,12 @@ and `face'."
|
|||
(insert " "))
|
||||
(widget-put widget :children children))))
|
||||
|
||||
(defun custom-magic-reset (widget)
|
||||
(defun custom-magic-reset (widget &optional buffer)
|
||||
"Redraw the :custom-magic property of WIDGET."
|
||||
(let ((magic (widget-get widget :custom-magic)))
|
||||
(when magic
|
||||
(widget-value-set magic (widget-value magic)))))
|
||||
(with-current-buffer (or buffer (current-buffer))
|
||||
(widget-value-set magic (widget-value magic))))))
|
||||
|
||||
;;; The `custom' Widget.
|
||||
|
||||
|
@ -2217,7 +2218,7 @@ and `face'."
|
|||
;; commands like `M-u' (that work on a region in the buffer)
|
||||
;; will upcase the wrong part of the buffer, since more text has
|
||||
;; been inserted before point.
|
||||
(run-with-idle-timer 0.0 nil #'custom-magic-reset widget)
|
||||
(run-with-idle-timer 0.0 nil #'custom-magic-reset widget (current-buffer))
|
||||
(apply 'widget-default-notify widget args))))
|
||||
|
||||
(defun custom-redraw (widget)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue