From 1372061200273e424ca678d1f0536496ac54e96f Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 12 Sep 2025 15:26:44 +0100 Subject: [PATCH 1/5] ; vc-diff-outgoing: Fix calling 'working-revision' backend function. --- lisp/vc/log-edit.el | 2 +- lisp/vc/vc.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 1f27f418cf5..2ae8a2eaf4a 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -898,7 +898,7 @@ visible when the *vc-log* buffer pops up." (save-selected-window (let ((display-buffer-overriding-action '(nil . ((inhibit-same-window . t))))) - (funcall log-edit-diff-function))))) + (funcall log-edit-diff-function))))) (defun log-edit-show-files () "Show the list of files to be committed." diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 68a3edddd54..5dcbc922dbe 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -2652,9 +2652,9 @@ global binding." ;; 'repository) ;; (ignore-errors ;; (vc-call-backend backend 'working-revision - ;; (car fileset))) + ;; (caadr fileset))) (vc-call-backend backend 'working-revision - (car fileset)) + (caadr fileset)) (called-interactively-p 'interactive)))) ;; For the following two commands, the default meaning for From 2817720083fd80c467d54b5a10b9853e3b034337 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 12 Sep 2025 15:31:56 +0100 Subject: [PATCH 2/5] ; vc-prepare-patch: Minor code improvements * lisp/vc/vc.el (vc-prepare-patch): Use ngettext. Avoid using dolist's RESULT for side-effect. --- lisp/vc/vc.el | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 5dcbc922dbe..44a2c143b87 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -4257,19 +4257,22 @@ marked revisions, use those." 'prepare-patch rev)) revisions))) (if vc-prepare-patches-separately - (dolist (patch (reverse patches) - (message "Prepared %d patch%s..." (length patches) - (if (length> patches 1) "es" ""))) - (compose-mail addressee - (plist-get patch :subject) - nil nil nil nil - `((kill-buffer ,(plist-get patch :buffer)))) - (rfc822-goto-eoh) (forward-line) - (save-excursion ;don't jump to the end - (insert-buffer-substring - (plist-get patch :buffer) - (plist-get patch :body-start) - (plist-get patch :body-end)))) + (cl-loop with l = (length patches) + for patch in (reverse patches) do + (compose-mail addressee + (plist-get patch :subject) + nil nil nil nil + `((kill-buffer ,(plist-get patch :buffer)))) + (rfc822-goto-eoh) (forward-line) + (save-excursion ;don't jump to the end + (insert-buffer-substring + (plist-get patch :buffer) + (plist-get patch :body-start) + (plist-get patch :body-end))) + finally (message (ngettext "Prepared %d patch..." + "Prepared %d patches..." + l) + l)) (compose-mail addressee subject nil nil nil nil (mapcar (lambda (p) From 85b991a62da7f188088bfedebd63957fe5f8acf3 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 12 Sep 2025 15:32:19 +0100 Subject: [PATCH 3/5] ; vc-git--log-edit-summary-check: Use and-let*. --- lisp/vc/vc-git.el | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 5e2f0e5bb20..eb2f6037dbd 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1083,21 +1083,21 @@ If toggling on, also insert its message into the buffer." "C-c C-e" #'vc-git-log-edit-toggle-amend) (defun vc-git--log-edit-summary-check (limit) - (and (re-search-forward "^Summary: " limit t) - (when-let* ((regex - (cond ((and (natnump vc-git-log-edit-summary-max-len) - (natnump vc-git-log-edit-summary-target-len)) - (format ".\\{,%d\\}\\(.\\{,%d\\}\\)\\(.*\\)" - vc-git-log-edit-summary-target-len - (- vc-git-log-edit-summary-max-len - vc-git-log-edit-summary-target-len))) - ((natnump vc-git-log-edit-summary-max-len) - (format ".\\{,%d\\}\\(?2:.*\\)" - vc-git-log-edit-summary-max-len)) - ((natnump vc-git-log-edit-summary-target-len) - (format ".\\{,%d\\}\\(.*\\)" - vc-git-log-edit-summary-target-len))))) - (re-search-forward regex limit t)))) + (and-let* (((re-search-forward "^Summary: " limit t)) + (regex + (cond ((and (natnump vc-git-log-edit-summary-max-len) + (natnump vc-git-log-edit-summary-target-len)) + (format ".\\{,%d\\}\\(.\\{,%d\\}\\)\\(.*\\)" + vc-git-log-edit-summary-target-len + (- vc-git-log-edit-summary-max-len + vc-git-log-edit-summary-target-len))) + ((natnump vc-git-log-edit-summary-max-len) + (format ".\\{,%d\\}\\(?2:.*\\)" + vc-git-log-edit-summary-max-len)) + ((natnump vc-git-log-edit-summary-target-len) + (format ".\\{,%d\\}\\(.*\\)" + vc-git-log-edit-summary-target-len))))) + (re-search-forward regex limit t))) (define-derived-mode vc-git-log-edit-mode log-edit-mode "Log-Edit/git" "Major mode for editing Git log messages. From 2ee74aca554786c20193b528363eb426e4f7f65c Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 12 Sep 2025 15:40:35 +0100 Subject: [PATCH 4/5] Delete obsolete log-edit-beginning-of-line * lisp/vc/log-edit.el (message): No longer require. (log-edit-beginning-of-line): Delete. No longer required now that Log Edit buffers use fields for headers. (In combination with the new fields, this binding led to C-a behaving strangely for summaries with colons in them.) (log-edit-mode-map): Unbind it. --- lisp/vc/log-edit.el | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index 2ae8a2eaf4a..bbca805fd2b 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -32,7 +32,6 @@ (require 'add-log) ; for all the ChangeLog goodies (require 'pcvs-util) (require 'ring) -(require 'message) ;;;; ;;;; Global Variables @@ -65,8 +64,7 @@ "M-p" #'log-edit-previous-comment "M-r" #'log-edit-comment-search-backward "M-s" #'log-edit-comment-search-forward - "C-c ?" #'log-edit-mode-help - " " #'log-edit-beginning-of-line) + "C-c ?" #'log-edit-mode-help) (easy-menu-define log-edit-menu log-edit-mode-map "Menu used for `log-edit-mode'." @@ -918,15 +916,6 @@ visible when the *vc-log* buffer pops up." (set-window-dedicated-p (selected-window) t) (selected-window))))) -(defun log-edit-beginning-of-line (&optional n) - "Move point to beginning of header value or to beginning of line. - -It works the same as `message-beginning-of-line', but it uses a -different header separator appropriate for `log-edit-mode'." - (interactive "p") - (let ((mail-header-separator "")) - (message-beginning-of-line n))) - (defun log-edit-empty-buffer-p () "Return non-nil if the buffer is \"empty\"." (or (= (point-min) (point-max)) From 4418a37c5df9574d29d0edec8fd02c5330e67be5 Mon Sep 17 00:00:00 2001 From: Sean Whitton Date: Fri, 12 Sep 2025 15:41:38 +0100 Subject: [PATCH 5/5] ; log-edit.el: Insert missing required cl-lib. --- lisp/vc/log-edit.el | 1 + 1 file changed, 1 insertion(+) diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index bbca805fd2b..19f5b7f2296 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el @@ -32,6 +32,7 @@ (require 'add-log) ; for all the ChangeLog goodies (require 'pcvs-util) (require 'ring) +(require 'cl-lib) ;;;; ;;;; Global Variables