mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-23 18:47:57 +00:00
(widget-before-change): Obey `inhibit-read-only'.
This commit is contained in:
parent
63abf6122e
commit
540a8bd25e
@ -1276,18 +1276,19 @@ Unlike (get-char-property POS 'field) this, works with empty fields too."
|
||||
(defun widget-before-change (from to)
|
||||
;; This is how, for example, a variable changes its state to `modified'.
|
||||
;; when it is being edited.
|
||||
(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)
|
||||
(error "Change should be restricted to a single field"))
|
||||
((null from-field)
|
||||
(add-hook 'post-command-hook 'widget-add-change nil t)
|
||||
(error "Attempt to change text outside editable field"))
|
||||
(widget-field-use-before-change
|
||||
(condition-case nil
|
||||
(widget-apply from-field :notify from-field)
|
||||
(error (debug "Before Change")))))))
|
||||
(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)
|
||||
(error "Change should be restricted to a single field"))
|
||||
((null from-field)
|
||||
(add-hook 'post-command-hook 'widget-add-change nil t)
|
||||
(error "Attempt to change text outside editable field"))
|
||||
(widget-field-use-before-change
|
||||
(condition-case nil
|
||||
(widget-apply from-field :notify from-field)
|
||||
(error (debug "Before Change"))))))))
|
||||
|
||||
(defun widget-add-change ()
|
||||
(make-local-hook 'post-command-hook)
|
||||
|
Loading…
Reference in New Issue
Block a user