From 540a8bd25e435f304589dbdcaaa4ea790d27511b Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 15 Aug 1997 19:26:07 +0000 Subject: [PATCH] (widget-before-change): Obey `inhibit-read-only'. --- lisp/wid-edit.el | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 1d6de477221..b2beb229b3b 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -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)