guix-commits
[Top][All Lists]
Advanced

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

09/16: pull: '--list-generations' pipes its output to the pager.


From: guix-commits
Subject: 09/16: pull: '--list-generations' pipes its output to the pager.
Date: Mon, 14 Feb 2022 09:53:40 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 054ec2e242b2e5d89711c333f4048fc1d749eab6
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Feb 9 22:21:06 2022 +0100

    pull: '--list-generations' pipes its output to the pager.
    
    * guix/scripts/pull.scm (process-query): For 'list-generations queries,
    use 'with-paginated-output-port'.
    (display-news-entry-title): Pass second argument to 'highlight'.
    (display-news-entry): Pass second argument to 'dim'.
---
 guix/scripts/pull.scm | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index a3bb6db8c6..205697b3bd 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -287,7 +287,8 @@ purposes."
                   (texi->plain-text title))
 
                 ;; When Texinfo markup is invalid, display it as-is.
-                (const title)))))))
+                (const title)))
+             (or (pager-wrapped-port port) port)))))
 
 (define (display-news-entry entry channel language port)
   "Display ENTRY, a <channel-news-entry> from CHANNEL, in LANGUAGE, a language
@@ -299,7 +300,8 @@ code, to PORT."
     (channel-news-entry-commit entry))
 
   (display-news-entry-title entry language port)
-  (format port (dim (G_ "    commit ~a~%"))
+  (format port (dim (G_ "    commit ~a~%")
+                    (or (pager-wrapped-port port) port))
           (if (supports-hyperlinks?)
               (channel-commit-hyperlink channel commit)
               commit))
@@ -681,14 +683,20 @@ Return true when there is more package info to display."
              (raise (condition (&profile-not-found-error
                                 (profile profile)))))
             ((not pattern)
-             (list-generations profile (profile-generations profile)))
+             (with-paginated-output-port port
+               (with-output-to-port port
+                 (lambda ()
+                   (list-generations profile (profile-generations profile))))))
             ((matching-generations pattern profile)
              =>
              (match-lambda
                (()
                 (exit 1))
                ((numbers ...)
-                (list-generations profile numbers)))))))
+                (with-paginated-output-port port
+                  (with-output-to-port port
+                    (lambda ()
+                      (list-generations profile numbers))))))))))
     (('display-news)
      (display-news profile))))
 



reply via email to

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