summaryrefslogtreecommitdiff
path: root/lisp/cus-edit.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/cus-edit.el')
-rw-r--r--lisp/cus-edit.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 8a8bad91137..24969633373 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -2212,7 +2212,12 @@ and `face'."
(unless (eq state 'modified)
(unless (memq state '(nil unknown hidden))
(widget-put widget :custom-state 'modified))
- (custom-magic-reset widget)
+ ;; Update the status text (usually from "STANDARD" to "EDITED
+ ;; bla bla" in the buffer after the command has run. Otherwise
+ ;; 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)
(apply 'widget-default-notify widget args))))
(defun custom-redraw (widget)