Function: widget-before-change
widget-before-change is a byte-compiled function defined in
wid-edit.el.gz.
Signature
(widget-before-change FROM TO)
Source Code
;; Defined in /usr/src/emacs/lisp/wid-edit.el.gz
(defun widget-before-change (from to)
;; This is how, for example, a variable changes its state to `modified'.
;; when it is being edited.
(unless inhibit-read-only
(let ((from-field (widget-field-find from))
(to-field (widget-field-find to)))
(cond ((not (eq from-field to-field))
(add-hook 'post-command-hook 'widget-add-change nil t)
(signal 'text-read-only
'("Change should be restricted to a single field")))
((null from-field)
(add-hook 'post-command-hook 'widget-add-change nil t)
(signal 'text-read-only
'("Attempt to change text outside editable field")))
(widget-field-use-before-change
(widget-apply from-field :notify
from-field (list 'before-change from to)))))))