Function: tempel--field-modified
tempel--field-modified is a natively compiled function defined in
tempel.el.
Signature
(tempel--field-modified OV AFTER BEG END &optional LEN)
Documentation
Update field overlay OV.
AFTER is non-nil after the modification. BEG and END are the boundaries of the modification.
Source Code
;; Defined in /nix/store/b3ibjbs2i12kyhwapibfx6i39f025i85-emacs-packages-deps/share/emacs/site-lisp/elpa/tempel-20260705.1258/tempel.el
(defun tempel--field-modified (ov after beg end &optional _len)
"Update field overlay OV.
AFTER is non-nil after the modification.
BEG and END are the boundaries of the modification."
(unless tempel--inhibit-hooks
(let ((inhibit-modification-hooks nil)
(tempel--inhibit-hooks t))
(cond
;; Erase default text before modification when typing over it at the
;; beginning or end. Deleting or editing inside preserves the text.
((and (not after) (overlay-get ov 'tempel--default) (eq beg end)
(or (= beg (overlay-start ov)) (= end (overlay-end ov))))
(delete-region (overlay-start ov) (overlay-end ov)))
;; Update field after modification
(after
(let ((st (overlay-get ov 'tempel--field)))
(unless undo-in-progress
(move-overlay ov (overlay-start ov) (max end (overlay-end ov))))
(when-let* ((name (overlay-get ov 'tempel--name)))
(setf (alist-get name (cdr st))
(buffer-substring-no-properties
(overlay-start ov) (overlay-end ov))))
(unless undo-in-progress
(tempel--sync-fields st ov)))))
(tempel--update-mark ov))))