]> git.eshelyaron.com Git - emacs.git/commitdiff
Show buttons below vc-log even when REVISION is specified
authorDmitry Gutov <dmitry@gutov.dev>
Fri, 15 Dec 2023 23:36:47 +0000 (01:36 +0200)
committerDmitry Gutov <dmitry@gutov.dev>
Fri, 15 Dec 2023 23:36:47 +0000 (01:36 +0200)
E.g. in the vc-print-branch-log which specifies start revision.

* lisp/vc/vc.el (vc-print-log-internal): Remove outdated comment.
(vc-print-log-setup-buttons): Only special-case non-nil
IS-START-REVISION when LIMIT=1.  We often do need buttons for logs
that start with a particular revision, because those are still limited
by vc-log-show-limit.

lisp/vc/vc.el

index 3689dcb9b270c4feb8fada08cf9dd81cb9b10e66..1234424a8d9cb99dbc108d1b6a30a1a52ae2d4d6 100644 (file)
@@ -2693,11 +2693,15 @@ Not all VC backends support short logs!")
 (defun vc-print-log-setup-buttons (working-revision is-start-revision limit pl-return)
   "Insert at the end of the current buffer buttons to show more log entries.
 In the new log, leave point at WORKING-REVISION (if non-nil).
-LIMIT is the number of entries currently shown.
-Does nothing if IS-START-REVISION is non-nil, or if LIMIT is nil,
-or if PL-RETURN is `limit-unsupported'."
+LIMIT is the current maximum number of entries shown.  Does
+nothing if IS-START-REVISION is non-nil and LIMIT is 1, or if
+LIMIT is nil, or if PL-RETURN is `limit-unsupported'."
+  ;; LIMIT=1 is set by vc-annotate-show-log-revision-at-line
+  ;; or by vc-print-root-log with current-prefix-arg=1.
+  ;; In either case only one revision is wanted, no buttons.
   (when (and limit (not (eq 'limit-unsupported pl-return))
-            (not is-start-revision))
+             (not (and is-start-revision
+                       (= limit 1))))
     (let ((entries 0))
       (goto-char (point-min))
       (while (re-search-forward log-view-message-re nil t)
@@ -2770,9 +2774,6 @@ Leave point at WORKING-REVISION, if it is non-nil.
 If IS-START-REVISION is non-nil, start the log from WORKING-REVISION
 \(not all backends support this); i.e., show only WORKING-REVISION and
 earlier revisions.  Show up to LIMIT entries (non-nil means unlimited)."
-  ;; As of 2013/04 the only thing that passes IS-START-REVISION non-nil
-  ;; is vc-annotate-show-log-revision-at-line, which sets LIMIT = 1.
-
   ;; Don't switch to the output buffer before running the command,
   ;; so that any buffer-local settings in the vc-controlled
   ;; buffer can be accessed by the command.