More consistently propertize Log Edit headers as fields

* lisp/vc/log-edit.el (log-edit--make-header-line): Factor out
of log-edit-insert-message-template.
(log-edit-set-header): Call log-edit--make-header-line so that
the Log Edit header is propertized as a field.
This commit is contained in:
Sean Whitton 2024-10-17 20:11:53 +08:00
parent fada04cfc7
commit ee265922a0

View file

@ -890,6 +890,14 @@ different header separator appropriate for `log-edit-mode'."
(zerop (forward-line 1))))
(eobp))))
(defun log-edit--make-header-line (header &optional value)
;; Make \\`C-a' work like it does in other buffers with header names.
(concat (propertize (concat header ": ")
'field 'header
'rear-nonsticky t)
value
"\n"))
(defun log-edit-insert-message-template ()
"Insert the default VC commit log template with Summary and Author."
(interactive)
@ -897,11 +905,8 @@ different header separator appropriate for `log-edit-mode'."
(log-edit-empty-buffer-p))
(dolist (header (append '("Summary") (and log-edit-setup-add-author
'("Author"))))
;; Make `C-a' work like in other buffers with header names.
(insert (propertize (concat header ": ")
'field 'header
'rear-nonsticky t)
"\n"))
(insert (log-edit--make-header-line header)))
(insert "\n")
(message-position-point)))
@ -1315,7 +1320,7 @@ If TOGGLE is non-nil, and the value of HEADER already is VALUE,
clear it. Make sure there is an empty line after the headers.
Return t if toggled on (or TOGGLE is nil), otherwise nil."
(let ((val t)
(line (concat header ": " value "\n")))
(line (log-edit--make-header-line header value)))
(save-excursion
(save-restriction
(rfc822-goto-eoh)