]> git.eshelyaron.com Git - emacs.git/commitdiff
Replace my recent change to vc-start-logentry
authorSean Whitton <spwhitton@spwhitton.name>
Fri, 18 Oct 2024 09:08:53 +0000 (17:08 +0800)
committerEshel Yaron <me@eshelyaron.com>
Tue, 22 Oct 2024 18:51:57 +0000 (20:51 +0200)
* lisp/vc/vc-dispatcher.el (vc-start-logentry): Restore previous
logic for determining the parent buffer from before my recent
change to this function.  If the attempt to determine the parent
buffer fails, signal an error immediately.
(vc-dispatcher-browsing): Consider derived modes of
log-view-mode, too, as indicating that we are in a directory
browser.

(cherry picked from commit 5c59ab56e67d1880bdec98a4319d6b4be45acf9b)

lisp/vc/vc-dispatcher.el

index 892e4df9a6ca415b5625d8c43d5be94189fbb7f4..36456fdb2e2d69bbfc4bf560963999df4f2ef41d 100644 (file)
@@ -741,11 +741,12 @@ MODE, defaulting to `log-edit-mode' if MODE is nil.
 AFTER-HOOK specifies the local value for `vc-log-after-operation-hook'.
 BACKEND, if non-nil, specifies a VC backend for the Log Edit buffer.
 PATCH-STRING is a patch to check in."
-  (let ((parent (or (and (not (vc-dispatcher-browsing))
-                         (length= files 1)
-                         (not (file-directory-p (car files)))
-                         (get-file-buffer (car files)))
-                    (current-buffer))))
+  (let ((parent (if (and (length= files 1)
+                         (not (vc-dispatcher-browsing)))
+                    (get-file-buffer (car files))
+                  (current-buffer))))
+    (unless parent
+      (error "Unable to determine VC parent buffer"))
     (if (and comment (not initial-contents))
        (set-buffer (get-buffer-create logbuf))
       (pop-to-buffer (get-buffer-create logbuf)))
@@ -824,7 +825,8 @@ the buffer contents as a comment."
   "Are we in a directory browser buffer?"
   (or (derived-mode-p 'vc-dir-mode)
       (derived-mode-p 'dired-mode)
-      (derived-mode-p 'diff-mode)))
+      (derived-mode-p 'diff-mode)
+      (derived-mode-p 'log-view-mode)))
 
 ;; These are unused.
 ;; (defun vc-dispatcher-in-fileset-p (fileset)