GNU bug report logs -
#40788
28.0.50; Error running timer ‘custom-magic-reset’
Previous Next
Reported by: David Ponce <da_vid <at> orange.fr>
Date: Thu, 23 Apr 2020 05:13:02 UTC
Severity: normal
Merged with 41245
Found in versions 27.0.91, 28.0.50
Fixed in version 27.1
Done: Robert Pluim <rpluim <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #19 received at 40788 <at> debbugs.gnu.org (full text, mbox):
>>>>> On Fri, 24 Apr 2020 17:56:42 +0200, David Ponce <da_vid <at> orange.fr> said:
David> On 24/04/2020 13:56, Robert Pluim wrote:
>>>>>>> On Thu, 23 Apr 2020 19:39:26 +0200 (CEST), David PONCE <da_vid <at> orange.fr> said:
David> Hello again,
David> Below is a possible patch that seems to have fixed the issue for me.
David> But I am not sure the approach is correct
>> Rather than defining a new function, you can add an argument to the
>> existing one. Something like (untested)
David> Hi Robert,
David> Sure, your patch is better :-)
David> I tested it, and I confirm it fixes the issue :-)
David> I also tested the below variant, because it seems to me that it is not
David> necessary to set the buffer when magic is nil, as there is nothing to do.
David> Please feel free to apply which version looks better to you.
David> Thanks!
Thanks for testing. Eli, would this be OK to go into emacs-27 ? The
bug causes unintended changes to buffers unrelated to customize.
David> diff --git a/home/dponce/installs/emacs/lisp/cus-edit.el b/cus-edit.el
David> index d3d17fd..490d905 100644
David> --- a/home/dponce/installs/emacs/lisp/cus-edit.el
David> +++ b/cus-edit.el
David> @@ -2102,11 +2102,12 @@ and `face'."
David> (insert " "))
David> (widget-put widget :children children))))
David> -(defun custom-magic-reset (widget)
David> +(defun custom-magic-reset (widget &optional buffer)
David> "Redraw the :custom-magic property of WIDGET."
David> (let ((magic (widget-get widget :custom-magic)))
David> (when magic
David> - (widget-value-set magic (widget-value magic)))))
David> + (with-current-buffer (or buffer (current-buffer))
David> + (widget-value-set magic (widget-value magic))))))
David> ;;; The `custom' Widget.
David> @@ -2217,7 +2218,7 @@ and `face'."
David> ;; commands like `M-u' (that work on a region in the buffer)
David> ;; will upcase the wrong part of the buffer, since more text has
David> ;; been inserted before point.
David> - (run-with-idle-timer 0.0 nil #'custom-magic-reset widget)
David> + (run-with-idle-timer 0.0 nil #'custom-magic-reset widget (current-buffer))
David> (apply 'widget-default-notify widget args))))
David> (defun custom-redraw (widget)
This bug report was last modified 4 years and 301 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.