emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 1ecb53ad2fc: vc-log-mergebase: Fix the printing of buttons at the


From: Dmitry Gutov
Subject: master 1ecb53ad2fc: vc-log-mergebase: Fix the printing of buttons at the bottom
Date: Wed, 10 Jan 2024 18:22:47 -0500 (EST)

branch: master
commit 1ecb53ad2fc9888ce0d0073c8fc3f36d63394dcd
Author: Dmitry Gutov <dmitry@gutov.dev>
Commit: Dmitry Gutov <dmitry@gutov.dev>

    vc-log-mergebase: Fix the printing of buttons at the bottom
    
    * lisp/vc/vc.el (vc-print-log-setup-buttons):
    Fix when LIMIT is a string (bug#68364).
    (vc-print-log-internal): Update docstring.
---
 lisp/vc/vc.el | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index b8cc44fc3dc..94bc3f0911a 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -2703,20 +2703,22 @@ 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 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 is the current maximum number of entries shown, or the
+revision (string) before which to stop.  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 (and is-start-revision
-                       (= limit 1))))
+                       (eql limit 1))))
     (let ((entries 0))
       (goto-char (point-min))
       (while (re-search-forward log-view-message-re nil t)
         (cl-incf entries))
-      (if (< entries limit)
+      (if (or (stringp limit)
+              (< entries limit))
           ;; The log has been printed in full.  Perhaps it started
           ;; with a copy or rename?
           ;; FIXME: We'd probably still want this button even when
@@ -2811,7 +2813,8 @@ button for.  Same for CURRENT-REVISION.  LIMIT means the 
usual."
 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)."
+earlier revisions.  Show up to LIMIT entries (non-nil means unlimited).
+LIMIT can also be a string, which means the revision before which to stop."
   ;; 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]